From 2ffb12902140df4cfd5df66ea1de45ad560b94a1 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 12 May 2024 00:06:29 +0000 Subject: [PATCH] bug fixes --- d3/d3.min.js | 7 +- fonts/fontawesome/css/font-awesome.min.css | 4 - fonts/fontawesome/fonts/FontAwesome.otf | Bin 134808 -> 0 bytes .../fontawesome/fonts/fontawesome-webfont.eot | Bin 165742 -> 0 bytes .../fontawesome/fonts/fontawesome-webfont.svg | 2671 ----------------- .../fontawesome/fonts/fontawesome-webfont.ttf | Bin 165548 -> 0 bytes .../fonts/fontawesome-webfont.woff | Bin 98024 -> 0 bytes .../fonts/fontawesome-webfont.woff2 | Bin 77160 -> 0 bytes fonts/fontawesome/license.jpg | Bin 190848 -> 0 bytes fonts/linearicons/License.txt | 2 - fonts/linearicons/css/style.css | 537 ---- fonts/linearicons/fonts/Linearicons-Free.eot | Bin 55820 -> 0 bytes fonts/linearicons/fonts/Linearicons-Free.svg | 199 -- fonts/linearicons/fonts/Linearicons-Free.ttf | Bin 55620 -> 0 bytes fonts/linearicons/fonts/Linearicons-Free.woff | Bin 55696 -> 0 bytes .../linearicons/fonts/Linearicons-Free.woff2 | Bin 21780 -> 0 bytes paypal/PayPal/Api/Address.php | 62 - paypal/PayPal/Api/Agreement.php | 647 ---- paypal/PayPal/Api/AgreementDetails.php | 209 -- .../PayPal/Api/AgreementStateDescriptor.php | 65 - paypal/PayPal/Api/AgreementTransaction.php | 257 -- paypal/PayPal/Api/AgreementTransactions.php | 71 - paypal/PayPal/Api/AlternatePayment.php | 91 - paypal/PayPal/Api/Amount.php | 93 - paypal/PayPal/Api/Authorization.php | 507 ---- paypal/PayPal/Api/BankAccount.php | 629 ---- paypal/PayPal/Api/BankAccountsList.php | 119 - paypal/PayPal/Api/BankToken.php | 89 - paypal/PayPal/Api/BaseAddress.php | 211 -- paypal/PayPal/Api/Billing.php | 43 - paypal/PayPal/Api/BillingAgreementToken.php | 17 - paypal/PayPal/Api/BillingInfo.php | 235 -- paypal/PayPal/Api/CancelNotification.php | 167 -- paypal/PayPal/Api/Capture.php | 341 --- paypal/PayPal/Api/CarrierAccount.php | 138 - paypal/PayPal/Api/CarrierAccountToken.php | 65 - paypal/PayPal/Api/CartBase.php | 408 --- paypal/PayPal/Api/ChargeModel.php | 89 - paypal/PayPal/Api/Cost.php | 69 - paypal/PayPal/Api/CountryCode.php | 41 - paypal/PayPal/Api/CreateProfileResponse.php | 40 - paypal/PayPal/Api/Credit.php | 66 - paypal/PayPal/Api/CreditCard.php | 560 ---- paypal/PayPal/Api/CreditCardHistory.php | 91 - paypal/PayPal/Api/CreditCardList.php | 120 - paypal/PayPal/Api/CreditCardToken.php | 161 - paypal/PayPal/Api/CreditFinancingOffered.php | 161 - paypal/PayPal/Api/Currency.php | 69 - paypal/PayPal/Api/CurrencyConversion.php | 266 -- paypal/PayPal/Api/CustomAmount.php | 65 - paypal/PayPal/Api/DetailedRefund.php | 160 - paypal/PayPal/Api/Details.php | 227 -- paypal/PayPal/Api/Error.php | 320 -- paypal/PayPal/Api/ErrorDetails.php | 111 - paypal/PayPal/Api/ExtendedBankAccount.php | 38 - paypal/PayPal/Api/ExternalFunding.php | 161 - paypal/PayPal/Api/FileAttachment.php | 67 - paypal/PayPal/Api/FlowConfig.php | 115 - paypal/PayPal/Api/FmfDetails.php | 115 - paypal/PayPal/Api/FundingDetail.php | 114 - paypal/PayPal/Api/FundingInstrument.php | 321 -- paypal/PayPal/Api/FundingOption.php | 221 -- paypal/PayPal/Api/FundingSource.php | 292 -- paypal/PayPal/Api/FuturePayment.php | 59 - paypal/PayPal/Api/HyperSchema.php | 191 -- paypal/PayPal/Api/Image.php | 56 - paypal/PayPal/Api/Incentive.php | 236 -- paypal/PayPal/Api/InputFields.php | 89 - paypal/PayPal/Api/InstallmentInfo.php | 144 - paypal/PayPal/Api/InstallmentOption.php | 113 - paypal/PayPal/Api/Invoice.php | 1340 --------- paypal/PayPal/Api/InvoiceAddress.php | 39 - paypal/PayPal/Api/InvoiceItem.php | 239 -- paypal/PayPal/Api/InvoiceNumber.php | 38 - paypal/PayPal/Api/InvoiceSearchResponse.php | 95 - paypal/PayPal/Api/Item.php | 439 --- paypal/PayPal/Api/ItemList.php | 143 - paypal/PayPal/Api/Links.php | 161 - paypal/PayPal/Api/Measurement.php | 65 - paypal/PayPal/Api/MerchantInfo.php | 281 -- paypal/PayPal/Api/MerchantPreferences.php | 261 -- paypal/PayPal/Api/Metadata.php | 259 -- paypal/PayPal/Api/NameValuePair.php | 65 - paypal/PayPal/Api/Notification.php | 143 - paypal/PayPal/Api/OpenIdAddress.php | 133 - paypal/PayPal/Api/OpenIdError.php | 85 - paypal/PayPal/Api/OpenIdSession.php | 107 - paypal/PayPal/Api/OpenIdTokeninfo.php | 255 -- paypal/PayPal/Api/OpenIdUserinfo.php | 540 ---- paypal/PayPal/Api/Order.php | 464 --- paypal/PayPal/Api/OverrideChargeModel.php | 65 - paypal/PayPal/Api/Participant.php | 233 -- paypal/PayPal/Api/Patch.php | 114 - paypal/PayPal/Api/PatchRequest.php | 86 - paypal/PayPal/Api/Payee.php | 157 - paypal/PayPal/Api/Payer.php | 288 -- paypal/PayPal/Api/PayerInfo.php | 453 --- paypal/PayPal/Api/Payment.php | 691 ----- paypal/PayPal/Api/PaymentCard.php | 482 --- paypal/PayPal/Api/PaymentCardToken.php | 162 - paypal/PayPal/Api/PaymentDefinition.php | 239 -- paypal/PayPal/Api/PaymentDetail.php | 188 -- paypal/PayPal/Api/PaymentExecution.php | 118 - paypal/PayPal/Api/PaymentHistory.php | 119 - paypal/PayPal/Api/PaymentInstruction.php | 190 -- paypal/PayPal/Api/PaymentOptions.php | 88 - paypal/PayPal/Api/PaymentSummary.php | 65 - paypal/PayPal/Api/PaymentTerm.php | 66 - paypal/PayPal/Api/Payout.php | 166 - paypal/PayPal/Api/PayoutBatch.php | 120 - paypal/PayPal/Api/PayoutBatchHeader.php | 263 -- paypal/PayPal/Api/PayoutItem.php | 189 -- paypal/PayPal/Api/PayoutItemDetails.php | 287 -- paypal/PayPal/Api/PayoutSenderBatchHeader.php | 107 - paypal/PayPal/Api/Phone.php | 89 - paypal/PayPal/Api/Plan.php | 445 --- paypal/PayPal/Api/PlanList.php | 173 -- paypal/PayPal/Api/PotentialPayerInfo.php | 109 - paypal/PayPal/Api/Presentation.php | 137 - paypal/PayPal/Api/PrivateLabelCard.php | 137 - paypal/PayPal/Api/ProcessorResponse.php | 162 - .../Api/RecipientBankingInstruction.php | 161 - paypal/PayPal/Api/RedirectUrls.php | 68 - paypal/PayPal/Api/Refund.php | 335 --- paypal/PayPal/Api/RefundDetail.php | 138 - paypal/PayPal/Api/RefundRequest.php | 162 - paypal/PayPal/Api/RelatedResources.php | 137 - paypal/PayPal/Api/Sale.php | 637 ---- paypal/PayPal/Api/Search.php | 498 --- paypal/PayPal/Api/ShippingAddress.php | 108 - paypal/PayPal/Api/ShippingCost.php | 65 - paypal/PayPal/Api/ShippingInfo.php | 158 - paypal/PayPal/Api/Tax.php | 117 - paypal/PayPal/Api/Template.php | 309 -- paypal/PayPal/Api/TemplateData.php | 619 ---- paypal/PayPal/Api/TemplateSettings.php | 65 - .../PayPal/Api/TemplateSettingsMetadata.php | 41 - paypal/PayPal/Api/Templates.php | 292 -- paypal/PayPal/Api/Terms.php | 161 - paypal/PayPal/Api/Transaction.php | 63 - paypal/PayPal/Api/TransactionBase.php | 40 - paypal/PayPal/Api/Transactions.php | 42 - paypal/PayPal/Api/VerifyWebhookSignature.php | 256 -- .../Api/VerifyWebhookSignatureResponse.php | 42 - paypal/PayPal/Api/WebProfile.php | 305 -- paypal/PayPal/Api/Webhook.php | 260 -- paypal/PayPal/Api/WebhookEvent.php | 312 -- paypal/PayPal/Api/WebhookEventList.php | 149 - paypal/PayPal/Api/WebhookEventType.php | 140 - paypal/PayPal/Api/WebhookEventTypeList.php | 71 - paypal/PayPal/Api/WebhookList.php | 71 - paypal/PayPal/Auth/OAuthTokenCredential.php | 317 -- paypal/PayPal/Cache/AuthorizationCache.php | 123 - paypal/PayPal/Common/ArrayUtil.php | 27 - paypal/PayPal/Common/PayPalModel.php | 309 -- paypal/PayPal/Common/PayPalResourceModel.php | 120 - paypal/PayPal/Common/PayPalUserAgent.php | 57 - paypal/PayPal/Common/ReflectionUtil.php | 155 - paypal/PayPal/Converter/FormatConverter.php | 62 - paypal/PayPal/Core/PayPalConfigManager.php | 159 - paypal/PayPal/Core/PayPalConstants.php | 27 - .../PayPal/Core/PayPalCredentialManager.php | 166 - paypal/PayPal/Core/PayPalHttpConfig.php | 302 -- paypal/PayPal/Core/PayPalHttpConnection.php | 223 -- paypal/PayPal/Core/PayPalLoggingManager.php | 119 - paypal/PayPal/Core/cacert.pem | 171 -- .../PayPalConfigurationException.php | 23 - .../Exception/PayPalConnectionException.php | 68 - .../PayPalInvalidCredentialException.php | 35 - .../PayPalMissingCredentialException.php | 36 - paypal/PayPal/Handler/IPayPalHandler.php | 20 - paypal/PayPal/Handler/OauthHandler.php | 103 - paypal/PayPal/Handler/RestHandler.php | 124 - paypal/PayPal/LICENSE | 171 -- paypal/PayPal/Log/PayPalDefaultLogFactory.php | 26 - paypal/PayPal/Log/PayPalLogFactory.php | 16 - paypal/PayPal/Log/PayPalLogger.php | 84 - paypal/PayPal/Rest/ApiContext.php | 173 -- paypal/PayPal/Rest/IResource.php | 12 - paypal/PayPal/Security/Cipher.php | 57 - paypal/PayPal/Transport/PayPalRestCall.php | 82 - .../PayPal/Validation/ArgumentValidator.php | 32 - paypal/PayPal/Validation/JsonValidator.php | 35 - paypal/PayPal/Validation/NumericValidator.php | 27 - paypal/PayPal/Validation/UrlValidator.php | 26 - zbar/LIZENSE | 502 ---- zbar/zbar.wasm | Bin 239017 -> 0 bytes zbar/zbarIndex.js | 16 - zxing/LICENSE | 245 ++ zxing/customerror.js | 1 + zxing/index.min.js | 1 + zxing/zxing.min.js | 20 + 192 files changed, 269 insertions(+), 33997 deletions(-) delete mode 100755 fonts/fontawesome/css/font-awesome.min.css delete mode 100755 fonts/fontawesome/fonts/FontAwesome.otf delete mode 100755 fonts/fontawesome/fonts/fontawesome-webfont.eot delete mode 100755 fonts/fontawesome/fonts/fontawesome-webfont.svg delete mode 100755 fonts/fontawesome/fonts/fontawesome-webfont.ttf delete mode 100755 fonts/fontawesome/fonts/fontawesome-webfont.woff delete mode 100755 fonts/fontawesome/fonts/fontawesome-webfont.woff2 delete mode 100644 fonts/fontawesome/license.jpg delete mode 100755 fonts/linearicons/License.txt delete mode 100755 fonts/linearicons/css/style.css delete mode 100755 fonts/linearicons/fonts/Linearicons-Free.eot delete mode 100755 fonts/linearicons/fonts/Linearicons-Free.svg delete mode 100755 fonts/linearicons/fonts/Linearicons-Free.ttf delete mode 100755 fonts/linearicons/fonts/Linearicons-Free.woff delete mode 100755 fonts/linearicons/fonts/Linearicons-Free.woff2 delete mode 100644 paypal/PayPal/Api/Address.php delete mode 100644 paypal/PayPal/Api/Agreement.php delete mode 100644 paypal/PayPal/Api/AgreementDetails.php delete mode 100644 paypal/PayPal/Api/AgreementStateDescriptor.php delete mode 100644 paypal/PayPal/Api/AgreementTransaction.php delete mode 100644 paypal/PayPal/Api/AgreementTransactions.php delete mode 100644 paypal/PayPal/Api/AlternatePayment.php delete mode 100644 paypal/PayPal/Api/Amount.php delete mode 100644 paypal/PayPal/Api/Authorization.php delete mode 100644 paypal/PayPal/Api/BankAccount.php delete mode 100644 paypal/PayPal/Api/BankAccountsList.php delete mode 100644 paypal/PayPal/Api/BankToken.php delete mode 100644 paypal/PayPal/Api/BaseAddress.php delete mode 100644 paypal/PayPal/Api/Billing.php delete mode 100644 paypal/PayPal/Api/BillingAgreementToken.php delete mode 100644 paypal/PayPal/Api/BillingInfo.php delete mode 100644 paypal/PayPal/Api/CancelNotification.php delete mode 100644 paypal/PayPal/Api/Capture.php delete mode 100644 paypal/PayPal/Api/CarrierAccount.php delete mode 100644 paypal/PayPal/Api/CarrierAccountToken.php delete mode 100644 paypal/PayPal/Api/CartBase.php delete mode 100644 paypal/PayPal/Api/ChargeModel.php delete mode 100644 paypal/PayPal/Api/Cost.php delete mode 100644 paypal/PayPal/Api/CountryCode.php delete mode 100644 paypal/PayPal/Api/CreateProfileResponse.php delete mode 100644 paypal/PayPal/Api/Credit.php delete mode 100644 paypal/PayPal/Api/CreditCard.php delete mode 100644 paypal/PayPal/Api/CreditCardHistory.php delete mode 100644 paypal/PayPal/Api/CreditCardList.php delete mode 100644 paypal/PayPal/Api/CreditCardToken.php delete mode 100644 paypal/PayPal/Api/CreditFinancingOffered.php delete mode 100644 paypal/PayPal/Api/Currency.php delete mode 100644 paypal/PayPal/Api/CurrencyConversion.php delete mode 100644 paypal/PayPal/Api/CustomAmount.php delete mode 100644 paypal/PayPal/Api/DetailedRefund.php delete mode 100644 paypal/PayPal/Api/Details.php delete mode 100644 paypal/PayPal/Api/Error.php delete mode 100644 paypal/PayPal/Api/ErrorDetails.php delete mode 100644 paypal/PayPal/Api/ExtendedBankAccount.php delete mode 100644 paypal/PayPal/Api/ExternalFunding.php delete mode 100644 paypal/PayPal/Api/FileAttachment.php delete mode 100644 paypal/PayPal/Api/FlowConfig.php delete mode 100644 paypal/PayPal/Api/FmfDetails.php delete mode 100644 paypal/PayPal/Api/FundingDetail.php delete mode 100644 paypal/PayPal/Api/FundingInstrument.php delete mode 100644 paypal/PayPal/Api/FundingOption.php delete mode 100644 paypal/PayPal/Api/FundingSource.php delete mode 100644 paypal/PayPal/Api/FuturePayment.php delete mode 100644 paypal/PayPal/Api/HyperSchema.php delete mode 100644 paypal/PayPal/Api/Image.php delete mode 100644 paypal/PayPal/Api/Incentive.php delete mode 100644 paypal/PayPal/Api/InputFields.php delete mode 100644 paypal/PayPal/Api/InstallmentInfo.php delete mode 100644 paypal/PayPal/Api/InstallmentOption.php delete mode 100644 paypal/PayPal/Api/Invoice.php delete mode 100644 paypal/PayPal/Api/InvoiceAddress.php delete mode 100644 paypal/PayPal/Api/InvoiceItem.php delete mode 100644 paypal/PayPal/Api/InvoiceNumber.php delete mode 100644 paypal/PayPal/Api/InvoiceSearchResponse.php delete mode 100644 paypal/PayPal/Api/Item.php delete mode 100644 paypal/PayPal/Api/ItemList.php delete mode 100644 paypal/PayPal/Api/Links.php delete mode 100644 paypal/PayPal/Api/Measurement.php delete mode 100644 paypal/PayPal/Api/MerchantInfo.php delete mode 100644 paypal/PayPal/Api/MerchantPreferences.php delete mode 100644 paypal/PayPal/Api/Metadata.php delete mode 100644 paypal/PayPal/Api/NameValuePair.php delete mode 100644 paypal/PayPal/Api/Notification.php delete mode 100644 paypal/PayPal/Api/OpenIdAddress.php delete mode 100644 paypal/PayPal/Api/OpenIdError.php delete mode 100644 paypal/PayPal/Api/OpenIdSession.php delete mode 100644 paypal/PayPal/Api/OpenIdTokeninfo.php delete mode 100644 paypal/PayPal/Api/OpenIdUserinfo.php delete mode 100644 paypal/PayPal/Api/Order.php delete mode 100644 paypal/PayPal/Api/OverrideChargeModel.php delete mode 100644 paypal/PayPal/Api/Participant.php delete mode 100644 paypal/PayPal/Api/Patch.php delete mode 100644 paypal/PayPal/Api/PatchRequest.php delete mode 100644 paypal/PayPal/Api/Payee.php delete mode 100644 paypal/PayPal/Api/Payer.php delete mode 100644 paypal/PayPal/Api/PayerInfo.php delete mode 100644 paypal/PayPal/Api/Payment.php delete mode 100644 paypal/PayPal/Api/PaymentCard.php delete mode 100644 paypal/PayPal/Api/PaymentCardToken.php delete mode 100644 paypal/PayPal/Api/PaymentDefinition.php delete mode 100644 paypal/PayPal/Api/PaymentDetail.php delete mode 100644 paypal/PayPal/Api/PaymentExecution.php delete mode 100644 paypal/PayPal/Api/PaymentHistory.php delete mode 100644 paypal/PayPal/Api/PaymentInstruction.php delete mode 100644 paypal/PayPal/Api/PaymentOptions.php delete mode 100644 paypal/PayPal/Api/PaymentSummary.php delete mode 100644 paypal/PayPal/Api/PaymentTerm.php delete mode 100644 paypal/PayPal/Api/Payout.php delete mode 100644 paypal/PayPal/Api/PayoutBatch.php delete mode 100644 paypal/PayPal/Api/PayoutBatchHeader.php delete mode 100644 paypal/PayPal/Api/PayoutItem.php delete mode 100644 paypal/PayPal/Api/PayoutItemDetails.php delete mode 100644 paypal/PayPal/Api/PayoutSenderBatchHeader.php delete mode 100644 paypal/PayPal/Api/Phone.php delete mode 100644 paypal/PayPal/Api/Plan.php delete mode 100644 paypal/PayPal/Api/PlanList.php delete mode 100644 paypal/PayPal/Api/PotentialPayerInfo.php delete mode 100644 paypal/PayPal/Api/Presentation.php delete mode 100644 paypal/PayPal/Api/PrivateLabelCard.php delete mode 100644 paypal/PayPal/Api/ProcessorResponse.php delete mode 100644 paypal/PayPal/Api/RecipientBankingInstruction.php delete mode 100644 paypal/PayPal/Api/RedirectUrls.php delete mode 100644 paypal/PayPal/Api/Refund.php delete mode 100644 paypal/PayPal/Api/RefundDetail.php delete mode 100644 paypal/PayPal/Api/RefundRequest.php delete mode 100644 paypal/PayPal/Api/RelatedResources.php delete mode 100644 paypal/PayPal/Api/Sale.php delete mode 100644 paypal/PayPal/Api/Search.php delete mode 100644 paypal/PayPal/Api/ShippingAddress.php delete mode 100644 paypal/PayPal/Api/ShippingCost.php delete mode 100644 paypal/PayPal/Api/ShippingInfo.php delete mode 100644 paypal/PayPal/Api/Tax.php delete mode 100644 paypal/PayPal/Api/Template.php delete mode 100644 paypal/PayPal/Api/TemplateData.php delete mode 100644 paypal/PayPal/Api/TemplateSettings.php delete mode 100644 paypal/PayPal/Api/TemplateSettingsMetadata.php delete mode 100644 paypal/PayPal/Api/Templates.php delete mode 100644 paypal/PayPal/Api/Terms.php delete mode 100644 paypal/PayPal/Api/Transaction.php delete mode 100644 paypal/PayPal/Api/TransactionBase.php delete mode 100644 paypal/PayPal/Api/Transactions.php delete mode 100644 paypal/PayPal/Api/VerifyWebhookSignature.php delete mode 100644 paypal/PayPal/Api/VerifyWebhookSignatureResponse.php delete mode 100644 paypal/PayPal/Api/WebProfile.php delete mode 100644 paypal/PayPal/Api/Webhook.php delete mode 100644 paypal/PayPal/Api/WebhookEvent.php delete mode 100644 paypal/PayPal/Api/WebhookEventList.php delete mode 100644 paypal/PayPal/Api/WebhookEventType.php delete mode 100644 paypal/PayPal/Api/WebhookEventTypeList.php delete mode 100644 paypal/PayPal/Api/WebhookList.php delete mode 100644 paypal/PayPal/Auth/OAuthTokenCredential.php delete mode 100644 paypal/PayPal/Cache/AuthorizationCache.php delete mode 100644 paypal/PayPal/Common/ArrayUtil.php delete mode 100644 paypal/PayPal/Common/PayPalModel.php delete mode 100644 paypal/PayPal/Common/PayPalResourceModel.php delete mode 100644 paypal/PayPal/Common/PayPalUserAgent.php delete mode 100644 paypal/PayPal/Common/ReflectionUtil.php delete mode 100644 paypal/PayPal/Converter/FormatConverter.php delete mode 100644 paypal/PayPal/Core/PayPalConfigManager.php delete mode 100644 paypal/PayPal/Core/PayPalConstants.php delete mode 100644 paypal/PayPal/Core/PayPalCredentialManager.php delete mode 100644 paypal/PayPal/Core/PayPalHttpConfig.php delete mode 100644 paypal/PayPal/Core/PayPalHttpConnection.php delete mode 100644 paypal/PayPal/Core/PayPalLoggingManager.php delete mode 100644 paypal/PayPal/Core/cacert.pem delete mode 100644 paypal/PayPal/Exception/PayPalConfigurationException.php delete mode 100644 paypal/PayPal/Exception/PayPalConnectionException.php delete mode 100644 paypal/PayPal/Exception/PayPalInvalidCredentialException.php delete mode 100644 paypal/PayPal/Exception/PayPalMissingCredentialException.php delete mode 100644 paypal/PayPal/Handler/IPayPalHandler.php delete mode 100644 paypal/PayPal/Handler/OauthHandler.php delete mode 100644 paypal/PayPal/Handler/RestHandler.php delete mode 100644 paypal/PayPal/LICENSE delete mode 100644 paypal/PayPal/Log/PayPalDefaultLogFactory.php delete mode 100644 paypal/PayPal/Log/PayPalLogFactory.php delete mode 100644 paypal/PayPal/Log/PayPalLogger.php delete mode 100644 paypal/PayPal/Rest/ApiContext.php delete mode 100644 paypal/PayPal/Rest/IResource.php delete mode 100644 paypal/PayPal/Security/Cipher.php delete mode 100644 paypal/PayPal/Transport/PayPalRestCall.php delete mode 100644 paypal/PayPal/Validation/ArgumentValidator.php delete mode 100644 paypal/PayPal/Validation/JsonValidator.php delete mode 100644 paypal/PayPal/Validation/NumericValidator.php delete mode 100644 paypal/PayPal/Validation/UrlValidator.php delete mode 100644 zbar/LIZENSE delete mode 100644 zbar/zbar.wasm delete mode 100644 zbar/zbarIndex.js create mode 100644 zxing/LICENSE create mode 100644 zxing/customerror.js create mode 100644 zxing/index.min.js create mode 100644 zxing/zxing.min.js diff --git a/d3/d3.min.js b/d3/d3.min.js index 2856dd2..33bb880 100755 --- a/d3/d3.min.js +++ b/d3/d3.min.js @@ -1,5 +1,2 @@ -!function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:NaN}function r(n){return null===n?NaN:+n}function u(n){return!isNaN(n)}function i(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function a(n){return n.length}function o(n){for(var t=1;n*t%1;)t*=10;return t}function l(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function c(){this._=Object.create(null)}function s(n){return(n+="")===xa||n[0]===ba?ba+n:n}function f(n){return(n+="")[0]===ba?n.slice(1):n}function h(n){return s(n)in this._}function g(n){return(n=s(n))in this._&&delete this._[n]}function p(){var n=[];for(var t in this._)n.push(f(t));return n}function v(){var n=0;for(var t in this._)++n;return n}function d(){for(var n in this._)return!1;return!0}function m(){this._=Object.create(null)}function y(n){return n}function M(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=_a.length;r>e;++e){var u=_a[e]+t;if(u in n)return u}}function b(){}function _(){}function w(n){function t(){for(var t,r=e,u=-1,i=r.length;++ue;e++)for(var u,i=n[e],a=0,o=i.length;o>a;a++)(u=i[a])&&t(u,a,e);return n}function Z(n){return Sa(n,La),n}function V(n){var t,e;return function(r,u,i){var a,o=n[i].update,l=o.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(a=o[t])&&++t0&&(n=n.slice(0,o));var c=qa.get(n);return c&&(n=c,l=B),o?t?u:r:t?b:i}function $(n,t){return function(e){var r=oa.event;oa.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{oa.event=r}}}function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=".dragsuppress-"+ ++Ra,u="click"+r,i=oa.select(t(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==Ta&&(Ta="onselectstart"in e?!1:x(e.style,"userSelect")),Ta){var a=n(e).style,o=a[Ta];a[Ta]="none"}return function(n){if(i.on(r,null),Ta&&(a[Ta]=o),n){var t=function(){i.on(u,null)};i.on(u,function(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var u=r.createSVGPoint();if(0>Da){var i=t(n);if(i.scrollX||i.scrollY){r=oa.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var a=r[0][0].getScreenCTM();Da=!(a.f||a.e),r.remove()}}return Da?(u.x=e.pageX,u.y=e.pageY):(u.x=e.clientX,u.y=e.clientY),u=u.matrixTransform(n.getScreenCTM().inverse()),[u.x,u.y]}var o=n.getBoundingClientRect();return[e.clientX-o.left-n.clientLeft,e.clientY-o.top-n.clientTop]}function G(){return oa.event.changedTouches[0].identifier}function K(n){return n>0?1:0>n?-1:0}function Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nn(n){return n>1?0:-1>n?ja:Math.acos(n)}function tn(n){return n>1?Oa:-1>n?-Oa:Math.asin(n)}function en(n){return((n=Math.exp(n))-1/n)/2}function rn(n){return((n=Math.exp(n))+1/n)/2}function un(n){return((n=Math.exp(2*n))-1)/(n+1)}function an(n){return(n=Math.sin(n/2))*n}function on(){}function ln(n,t,e){return this instanceof ln?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ln?new ln(n.h,n.s,n.l):_n(""+n,wn,ln):new ln(n,t,e)}function cn(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(a-i)*n/60:180>n?a:240>n?i+(a-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,a;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,a=.5>=e?e*(1+t):e+t-e*t,i=2*e-a,new yn(u(n+120),u(n),u(n-120))}function sn(n,t,e){return this instanceof sn?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof sn?new sn(n.h,n.c,n.l):n instanceof hn?pn(n.l,n.a,n.b):pn((n=Sn((n=oa.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new sn(n,t,e)}function fn(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new hn(e,Math.cos(n*=Ia)*t,Math.sin(n)*t)}function hn(n,t,e){return this instanceof hn?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof hn?new hn(n.l,n.a,n.b):n instanceof sn?fn(n.h,n.c,n.l):Sn((n=yn(n)).r,n.g,n.b):new hn(n,t,e)}function gn(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=vn(u)*Qa,r=vn(r)*no,i=vn(i)*to,new yn(mn(3.2404542*u-1.5371385*r-.4985314*i),mn(-.969266*u+1.8760108*r+.041556*i),mn(.0556434*u-.2040259*r+1.0572252*i))}function pn(n,t,e){return n>0?new sn(Math.atan2(e,t)*Ya,Math.sqrt(t*t+e*e),n):new sn(NaN,NaN,n)}function vn(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function dn(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function mn(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function yn(n,t,e){return this instanceof yn?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof yn?new yn(n.r,n.g,n.b):_n(""+n,yn,cn):new yn(n,t,e)}function Mn(n){return new yn(n>>16,n>>8&255,255&n)}function xn(n){return Mn(n)+""}function bn(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function _n(n,t,e){var r,u,i,a=0,o=0,l=0;if(r=/([a-z]+)\((.*)\)/.exec(n=n.toLowerCase()))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(Nn(u[0]),Nn(u[1]),Nn(u[2]))}return(i=uo.get(n))?t(i.r,i.g,i.b):(null==n||"#"!==n.charAt(0)||isNaN(i=parseInt(n.slice(1),16))||(4===n.length?(a=(3840&i)>>4,a=a>>4|a,o=240&i,o=o>>4|o,l=15&i,l=l<<4|l):7===n.length&&(a=(16711680&i)>>16,o=(65280&i)>>8,l=255&i)),t(a,o,l))}function wn(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),a=Math.max(n,t,e),o=a-i,l=(a+i)/2;return o?(u=.5>l?o/(a+i):o/(2-a-i),r=n==a?(t-e)/o+(e>t?6:0):t==a?(e-n)/o+2:(n-t)/o+4,r*=60):(r=NaN,u=l>0&&1>l?0:r),new ln(r,u,l)}function Sn(n,t,e){n=kn(n),t=kn(t),e=kn(e);var r=dn((.4124564*n+.3575761*t+.1804375*e)/Qa),u=dn((.2126729*n+.7151522*t+.072175*e)/no),i=dn((.0193339*n+.119192*t+.9503041*e)/to);return hn(116*u-16,500*(r-u),200*(u-i))}function kn(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Nn(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function En(n){return"function"==typeof n?n:function(){return n}}function An(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Cn(t,e,n,r)}}function Cn(n,t,e,r){function u(){var n,t=l.status;if(!t&&Ln(l)||t>=200&&300>t||304===t){try{n=e.call(i,l)}catch(r){return void a.error.call(i,r)}a.load.call(i,n)}else a.error.call(i,l)}var i={},a=oa.dispatch("beforesend","progress","load","error"),o={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in l||!/^(http(s)?:)?\/\//.test(n)||(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=u:l.onreadystatechange=function(){l.readyState>3&&u()},l.onprogress=function(n){var t=oa.event;oa.event=n;try{a.progress.call(i,l)}finally{oa.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?o[n]:(null==t?delete o[n]:o[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(c=n,i):c},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(ca(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),l.open(e,n,!0),null==t||"accept"in o||(o.accept=t+",*/*"),l.setRequestHeader)for(var s in o)l.setRequestHeader(s,o[s]);return null!=t&&l.overrideMimeType&&l.overrideMimeType(t),null!=c&&(l.responseType=c),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),a.beforesend.call(i,l),l.send(null==r?null:r),i},i.abort=function(){return l.abort(),i},oa.rebind(i,a,"on"),null==r?i:i.get(zn(r))}function zn(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Ln(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qn(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,n:null};return ao?ao.n=i:io=i,ao=i,oo||(lo=clearTimeout(lo),oo=1,co(Tn)),i}function Tn(){var n=Rn(),t=Dn()-n;t>24?(isFinite(t)&&(clearTimeout(lo),lo=setTimeout(Tn,t)),oo=0):(oo=1,co(Tn))}function Rn(){for(var n=Date.now(),t=io;t;)n>=t.t&&t.c(n-t.t)&&(t.c=null),t=t.n;return n}function Dn(){for(var n,t=io,e=1/0;t;)t.c?(t.t8?function(n){return n/e}:function(n){return n*e},symbol:n}}function jn(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r&&e?function(n,t){for(var u=n.length,i=[],a=0,o=r[0],l=0;u>0&&o>0&&(l+o+1>t&&(o=Math.max(1,t-l)),i.push(n.substring(u-=o,u+o)),!((l+=o+1)>t));)o=r[a=(a+1)%r.length];return i.reverse().join(e)}:y;return function(n){var e=fo.exec(n),r=e[1]||" ",a=e[2]||">",o=e[3]||"-",l=e[4]||"",c=e[5],s=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===a)&&(c=r="0",a="="),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===l&&(v="0"+g.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===l&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=ho.get(g)||Fn;var M=c&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===o?"":o;if(0>p){var l=oa.formatPrefix(n,h);n=l.scale(n),e=l.symbol+d}else n*=p;n=g(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=y?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!c&&f&&(x=i(x,1/0));var S=v.length+x.length+b.length+(M?0:u.length),k=s>S?new Array(S=s-S+1).join(r):"";return M&&(x=i(k+x,k.length?s-b.length:1/0)),u+=v,n=x+b,("<"===a?u+n+k:">"===a?k+u+n:"^"===a?k.substring(0,S>>=1)+u+n+k.substring(S):u+(M?n:k+n))+e}}}function Fn(n){return n+""}function Hn(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function On(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new po(e-1)),1),e}function i(n,e){return t(n=new po(+n),e),n}function a(n,r,i){var a=u(n),o=[];if(i>1)for(;r>a;)e(a)%i||o.push(new Date(+a)),t(a,1);else for(;r>a;)o.push(new Date(+a)),t(a,1);return o}function o(n,t,e){try{po=Hn;var r=new Hn;return r._=n,a(r,t,e)}finally{po=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=a;var l=n.utc=In(n);return l.floor=l,l.round=In(r),l.ceil=In(u),l.offset=In(i),l.range=o,n}function In(n){return function(t,e){try{po=Hn;var r=new Hn;return r._=t,n(r,e)._}finally{po=Date}}}function Yn(n){function t(n){function t(t){for(var e,u,i,a=[],o=-1,l=0;++oo;){if(r>=c)return-1;if(u=t.charCodeAt(o++),37===u){if(a=t.charAt(o++),i=C[a in mo?t.charAt(o++):a],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){N.lastIndex=0;var r=N.exec(t.slice(e));return r?(n.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,r){return e(n,A.c.toString(),t,r)}function l(n,t,r){return e(n,A.x.toString(),t,r)}function c(n,t,r){return e(n,A.X.toString(),t,r)}function s(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{po=Hn;var t=new po;return t._=n,r(t)}finally{po=Date}}var r=t(n);return e.parse=function(n){try{po=Hn;var t=r.parse(n);return t&&t._}finally{po=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ct;var M=oa.map(),x=Vn(v),b=Xn(v),_=Vn(d),w=Xn(d),S=Vn(m),k=Xn(m),N=Vn(y),E=Xn(y);p.forEach(function(n,t){M.set(n.toLowerCase(),t)});var A={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return Zn(n.getDate(),t,2)},e:function(n,t){return Zn(n.getDate(),t,2)},H:function(n,t){return Zn(n.getHours(),t,2)},I:function(n,t){return Zn(n.getHours()%12||12,t,2)},j:function(n,t){return Zn(1+go.dayOfYear(n),t,3)},L:function(n,t){return Zn(n.getMilliseconds(),t,3)},m:function(n,t){return Zn(n.getMonth()+1,t,2)},M:function(n,t){return Zn(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Zn(n.getSeconds(),t,2)},U:function(n,t){return Zn(go.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Zn(go.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return Zn(n.getFullYear()%100,t,2)},Y:function(n,t){return Zn(n.getFullYear()%1e4,t,4)},Z:ot,"%":function(){return"%"}},C={a:r,A:u,b:i,B:a,c:o,d:tt,e:tt,H:rt,I:rt,j:et,L:at,m:nt,M:ut,p:s,S:it,U:Bn,w:$n,W:Wn,x:l,X:c,y:Gn,Y:Jn,Z:Kn,"%":lt};return t}function Zn(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Vn(n){return new RegExp("^(?:"+n.map(oa.requote).join("|")+")","i")}function Xn(n){for(var t=new c,e=-1,r=n.length;++e68?1900:2e3)}function nt(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function tt(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function et(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function rt(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ut(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function it(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function at(n,t,e){yo.lastIndex=0;var r=yo.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ot(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=Ma(t)/60|0,u=Ma(t)%60;return e+Zn(r,"0",2)+Zn(u,"0",2)}function lt(n,t,e){Mo.lastIndex=0;var r=Mo.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ct(n){for(var t=n.length,e=-1;++e=0?1:-1,o=a*e,l=Math.cos(t),c=Math.sin(t),s=i*c,f=u*l+s*Math.cos(o),h=s*a*Math.sin(o);ko.add(Math.atan2(h,f)),r=n,u=l,i=c}var t,e,r,u,i;No.point=function(a,o){No.point=n,r=(t=a)*Ia,u=Math.cos(o=(e=o)*Ia/2+ja/4),i=Math.sin(o)},No.lineEnd=function(){n(t,e)}}function dt(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function mt(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function yt(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function Mt(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function xt(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function bt(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function _t(n){return[Math.atan2(n[1],n[0]),tn(n[2])]}function wt(n,t){return Ma(n[0]-t[0])o;++o)u.point((e=n[o])[0],e[1]);return void u.lineEnd()}var l=new Tt(e,n,null,!0),c=new Tt(e,null,l,!1);l.o=c,i.push(l),a.push(c),l=new Tt(r,n,null,!1),c=new Tt(r,null,l,!0),l.o=c,i.push(l),a.push(c)}}),a.sort(t),qt(i),qt(a),i.length){for(var o=0,l=e,c=a.length;c>o;++o)a[o].e=l=!l;for(var s,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;s=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var o=0,c=s.length;c>o;++o)u.point((f=s[o])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){s=g.p.z;for(var o=s.length-1;o>=0;--o)u.point((f=s[o])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,s=g.z,p=!p}while(!g.v);u.lineEnd()}}}function qt(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r0){for(b||(i.polygonStart(),b=!0),i.lineStart();++a1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Dt))}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:a,lineStart:l,lineEnd:c,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[]},polygonEnd:function(){y.point=a,y.lineStart=l,y.lineEnd=c,g=oa.merge(g);var n=Ot(m,p);g.length?(b||(i.polygonStart(),b=!0),Lt(g,Ut,n,e,i)):n&&(b||(i.polygonStart(),b=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),b&&(i.polygonEnd(),b=!1),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Pt(),x=t(M),b=!1;return y}}function Dt(n){return n.length>1}function Pt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ut(n,t){return((n=n.x)[0]<0?n[1]-Oa-Pa:Oa-n[1])-((t=t.x)[0]<0?t[1]-Oa-Pa:Oa-t[1])}function jt(n){var t,e=NaN,r=NaN,u=NaN;return{lineStart:function(){n.lineStart(),t=1},point:function(i,a){var o=i>0?ja:-ja,l=Ma(i-e);Ma(l-ja)0?Oa:-Oa),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(o,r),n.point(i,r),t=0):u!==o&&l>=ja&&(Ma(e-u)Pa?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*a)):(t+r)/2}function Ht(n,t,e,r){var u;if(null==n)u=e*Oa,r.point(-ja,u),r.point(0,u),r.point(ja,u),r.point(ja,0),r.point(ja,-u),r.point(0,-u),r.point(-ja,-u),r.point(-ja,0),r.point(-ja,u);else if(Ma(n[0]-t[0])>Pa){var i=n[0]o;++o){var c=t[o],s=c.length;if(s)for(var f=c[0],h=f[0],g=f[1]/2+ja/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===s&&(d=0),n=c[d];var m=n[0],y=n[1]/2+ja/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=b>=0?1:-1,w=_*b,S=w>ja,k=p*M;if(ko.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),i+=S?b+_*Fa:b,S^h>=e^m>=e){var N=yt(dt(f),dt(n));bt(N);var E=yt(u,N);bt(E);var A=(S^b>=0?-1:1)*tn(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(a+=S^b>=0?1:-1)}if(!d++)break;h=m,p=M,v=x,f=n}}return(-Pa>i||Pa>i&&0>ko)^1&a}function It(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,l,c,s;return{lineStart:function(){c=l=!1,s=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=a?v?0:u(f,h):v?u(f+(0>f?ja:-ja),h):0;if(!e&&(c=l=v)&&n.lineStart(),v!==l&&(g=r(e,p),(wt(e,g)||wt(p,g))&&(p[0]+=Pa,p[1]+=Pa,v=t(p[0],p[1]))),v!==l)s=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(o&&e&&a^v){var m;d&i||!(m=r(p,e,!0))||(s=0,a?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&wt(e,p)||n.point(p[0],p[1]),e=p,l=v,i=d},lineEnd:function(){l&&n.lineEnd(),e=null},clean:function(){return s|(c&&l)<<1}}}function r(n,t,e){var r=dt(n),u=dt(t),a=[1,0,0],o=yt(r,u),l=mt(o,o),c=o[0],s=l-c*c;if(!s)return!e&&n;var f=i*l/s,h=-i*c/s,g=yt(a,o),p=xt(a,f),v=xt(o,h);Mt(p,v);var d=g,m=mt(p,d),y=mt(d,d),M=m*m-y*(mt(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=xt(d,(-m-x)/y);if(Mt(b,p),b=_t(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],N=t[1];w>S&&(_=w,w=S,S=_);var E=S-w,A=Ma(E-ja)E;if(!A&&k>N&&(_=k,k=N,N=_),C?A?k+N>0^b[1]<(Ma(b[0]-w)ja^(w<=b[0]&&b[0]<=S)){var z=xt(d,(-m+x)/y);return Mt(z,p),[b,_t(z)]}}}function u(t,e){var r=a?n:ja-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),a=i>0,o=Ma(i)>Pa,l=ve(n,6*Ia);return Rt(t,e,l,a?[0,-n]:[-ja,n-ja])}function Yt(n,t,e,r){return function(u){var i,a=u.a,o=u.b,l=a.x,c=a.y,s=o.x,f=o.y,h=0,g=1,p=s-l,v=f-c;if(i=n-l,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-l,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-c,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-c,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:l+h*p,y:c+h*v}),1>g&&(u.b={x:l+g*p,y:c+g*v}),u}}}}}}function Zt(n,t,e,r){function u(r,u){return Ma(r[0]-n)0?0:3:Ma(r[0]-e)0?2:1:Ma(r[1]-t)0?1:0:u>0?3:2}function i(n,t){return a(n.x,t.x)}function a(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(o){function l(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,a=1,o=d[u],l=o.length,c=o[0];l>a;++a)i=o[a],c[1]<=r?i[1]>r&&Q(c,i,n)>0&&++t:i[1]<=r&&Q(c,i,n)<0&&--t,c=i;return 0!==t}function c(i,o,l,c){var s=0,f=0;if(null==i||(s=u(i,l))!==(f=u(o,l))||a(i,o)<0^l>0){do c.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+l+4)%4)!==f)}else c.point(o[0],o[1])}function s(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){s(n,t)&&o.point(n,t)}function h(){C.point=p,d&&d.push(m=[]),S=!0,w=!1,b=_=NaN}function g(){v&&(p(y,M),x&&w&&E.rejoin(),v.push(E.buffer())),C.point=f,w&&o.lineEnd()}function p(n,t){n=Math.max(-Ho,Math.min(Ho,n)),t=Math.max(-Ho,Math.min(Ho,t));var e=s(n,t);if(d&&m.push([n,t]),S)y=n,M=t,x=e,S=!1,e&&(o.lineStart(),o.point(n,t));else if(e&&w)o.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};A(r)?(w||(o.lineStart(),o.point(r.a.x,r.a.y)),o.point(r.b.x,r.b.y),e||o.lineEnd(),k=!1):e&&(o.lineStart(),o.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,m,y,M,x,b,_,w,S,k,N=o,E=Pt(),A=Yt(n,t,e,r),C={point:f,lineStart:h,lineEnd:g,polygonStart:function(){o=E,v=[],d=[],k=!0},polygonEnd:function(){o=N,v=oa.merge(v);var t=l([n,r]),e=k&&t,u=v.length;(e||u)&&(o.polygonStart(),e&&(o.lineStart(),c(null,null,1,o),o.lineEnd()),u&&Lt(v,i,t,c,o),o.polygonEnd()),v=d=m=null}};return C}}function Vt(n){var t=0,e=ja/3,r=oe(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*ja/180,e=n[1]*ja/180):[t/ja*180,e/ja*180]},u}function Xt(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),a-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),a=Math.sqrt(i)/u;return e.invert=function(n,t){var e=a-t;return[Math.atan2(n,e)/u,tn((i-(n*n+e*e)*u*u)/(2*u))]},e}function $t(){function n(n,t){Io+=u*n-r*t,r=n,u=t}var t,e,r,u;$o.point=function(i,a){$o.point=n,t=r=i,e=u=a},$o.lineEnd=function(){n(t,e)}}function Bt(n,t){Yo>n&&(Yo=n),n>Vo&&(Vo=n),Zo>t&&(Zo=t),t>Xo&&(Xo=t)}function Wt(){function n(n,t){a.push("M",n,",",t,i)}function t(n,t){a.push("M",n,",",t),o.point=e}function e(n,t){a.push("L",n,",",t)}function r(){o.point=n}function u(){a.push("Z")}var i=Jt(4.5),a=[],o={point:n,lineStart:function(){o.point=t},lineEnd:r,polygonStart:function(){o.lineEnd=u},polygonEnd:function(){o.lineEnd=r,o.point=n},pointRadius:function(n){return i=Jt(n),o},result:function(){if(a.length){var n=a.join("");return a=[],n}}};return o}function Jt(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Gt(n,t){Co+=n,zo+=t,++Lo}function Kt(){function n(n,r){var u=n-t,i=r-e,a=Math.sqrt(u*u+i*i);qo+=a*(t+n)/2,To+=a*(e+r)/2,Ro+=a,Gt(t=n,e=r)}var t,e;Wo.point=function(r,u){Wo.point=n,Gt(t=r,e=u)}}function Qt(){Wo.point=Gt}function ne(){function n(n,t){var e=n-r,i=t-u,a=Math.sqrt(e*e+i*i);qo+=a*(r+n)/2,To+=a*(u+t)/2,Ro+=a,a=u*n-r*t,Do+=a*(r+n),Po+=a*(u+t),Uo+=3*a,Gt(r=n,u=t)}var t,e,r,u;Wo.point=function(i,a){Wo.point=n,Gt(t=r=i,e=u=a)},Wo.lineEnd=function(){n(t,e)}}function te(n){function t(t,e){n.moveTo(t+a,e),n.arc(t,e,a,0,Fa)}function e(t,e){n.moveTo(t,e),o.point=r}function r(t,e){n.lineTo(t,e)}function u(){o.point=t}function i(){n.closePath()}var a=4.5,o={point:t,lineStart:function(){o.point=e},lineEnd:u,polygonStart:function(){o.lineEnd=i},polygonEnd:function(){o.lineEnd=u,o.point=t},pointRadius:function(n){return a=n,o},result:b};return o}function ee(n){function t(n){return(o?r:e)(n)}function e(t){return ie(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=NaN,S.point=i,t.lineStart()}function i(e,r){var i=dt([e,r]),a=n(e,r);u(M,x,y,b,_,w,M=a[0],x=a[1],y=e,b=i[0],_=i[1],w=i[2],o,t),t.point(M,x)}function a(){S.point=e,t.lineEnd()}function l(){ -r(),S.point=c,S.lineEnd=s}function c(n,t){i(f=n,h=t),g=M,p=x,v=b,d=_,m=w,S.point=i}function s(){u(M,x,y,b,_,w,g,p,f,v,d,m,o,t),S.lineEnd=a,a()}var f,h,g,p,v,d,m,y,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:a,polygonStart:function(){t.polygonStart(),S.lineStart=l},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,o,l,c,s,f,h,g,p,v,d,m){var y=s-t,M=f-e,x=y*y+M*M;if(x>4*i&&d--){var b=o+g,_=l+p,w=c+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),N=Ma(Ma(w)-1)i||Ma((y*z+M*L)/x-.5)>.3||a>o*g+l*p+c*v)&&(u(t,e,r,o,l,c,A,C,N,b/=S,_/=S,w,d,m),m.point(A,C),u(A,C,N,b,_,w,s,f,h,g,p,v,d,m))}}var i=.5,a=Math.cos(30*Ia),o=16;return t.precision=function(n){return arguments.length?(o=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function re(n){var t=ee(function(t,e){return n([t*Ya,e*Ya])});return function(n){return le(t(n))}}function ue(n){this.stream=n}function ie(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function ae(n){return oe(function(){return n})()}function oe(n){function t(n){return n=o(n[0]*Ia,n[1]*Ia),[n[0]*h+l,c-n[1]*h]}function e(n){return n=o.invert((n[0]-l)/h,(c-n[1])/h),n&&[n[0]*Ya,n[1]*Ya]}function r(){o=Ct(a=fe(m,M,x),i);var n=i(v,d);return l=g-n[0]*h,c=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,a,o,l,c,s,f=ee(function(n,t){return n=i(n,t),[n[0]*h+l,c-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,M=0,x=0,b=Fo,_=y,w=null,S=null;return t.stream=function(n){return s&&(s.valid=!1),s=le(b(a,f(_(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Fo):It((w=+n)*Ia),u()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Zt(n[0][0],n[0][1],n[1][0],n[1][1]):y,u()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Ia,d=n[1]%360*Ia,r()):[v*Ya,d*Ya]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Ia,M=n[1]%360*Ia,x=n.length>2?n[2]%360*Ia:0,r()):[m*Ya,M*Ya,x*Ya]},oa.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function le(n){return ie(n,function(t,e){n.point(t*Ia,e*Ia)})}function ce(n,t){return[n,t]}function se(n,t){return[n>ja?n-Fa:-ja>n?n+Fa:n,t]}function fe(n,t,e){return n?t||e?Ct(ge(n),pe(t,e)):ge(n):t||e?pe(t,e):se}function he(n){return function(t,e){return t+=n,[t>ja?t-Fa:-ja>t?t+Fa:t,e]}}function ge(n){var t=he(n);return t.invert=he(-n),t}function pe(n,t){function e(n,t){var e=Math.cos(t),o=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),s=c*r+o*u;return[Math.atan2(l*i-s*a,o*r-c*u),tn(s*i+l*a)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),a=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),o=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),s=c*i-l*a;return[Math.atan2(l*i+c*a,o*r+s*u),tn(s*r-o*u)]},e}function ve(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,a,o){var l=a*t;null!=u?(u=de(e,u),i=de(e,i),(a>0?i>u:u>i)&&(u+=a*Fa)):(u=n+a*Fa,i=n-.5*l);for(var c,s=u;a>0?s>i:i>s;s-=l)o.point((c=_t([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],c[1])}}function de(n,t){var e=dt(t);e[0]-=n,bt(e);var r=nn(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Pa)%(2*Math.PI)}function me(n,t,e){var r=oa.range(n,t-Pa,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function ye(n,t,e){var r=oa.range(n,t-Pa,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function Me(n){return n.source}function xe(n){return n.target}function be(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),a=Math.cos(r),o=Math.sin(r),l=u*Math.cos(n),c=u*Math.sin(n),s=a*Math.cos(e),f=a*Math.sin(e),h=2*Math.asin(Math.sqrt(an(r-t)+u*a*an(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*l+t*s,u=e*c+t*f,a=e*i+t*o;return[Math.atan2(u,r)*Ya,Math.atan2(a,Math.sqrt(r*r+u*u))*Ya]}:function(){return[n*Ya,t*Ya]};return p.distance=h,p}function _e(){function n(n,u){var i=Math.sin(u*=Ia),a=Math.cos(u),o=Ma((n*=Ia)-t),l=Math.cos(o);Jo+=Math.atan2(Math.sqrt((o=a*Math.sin(o))*o+(o=r*i-e*a*l)*o),e*i+r*a*l),t=n,e=i,r=a}var t,e,r;Go.point=function(u,i){t=u*Ia,e=Math.sin(i*=Ia),r=Math.cos(i),Go.point=n},Go.lineEnd=function(){Go.point=Go.lineEnd=b}}function we(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),a=Math.cos(u);return[Math.atan2(n*i,r*a),Math.asin(r&&e*i/r)]},e}function Se(n,t){function e(n,t){a>0?-Oa+Pa>t&&(t=-Oa+Pa):t>Oa-Pa&&(t=Oa-Pa);var e=a/Math.pow(u(t),i);return[e*Math.sin(i*n),a-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(ja/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),a=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=a-t,r=K(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(a/r,1/i))-Oa]},e):Ne}function ke(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return Ma(u)u;u++){for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function qe(n,t){return n[0]-t[0]||n[1]-t[1]}function Te(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Re(n,t,e,r){var u=n[0],i=e[0],a=t[0]-u,o=r[0]-i,l=n[1],c=e[1],s=t[1]-l,f=r[1]-c,h=(o*(l-c)-f*(u-i))/(f*a-o*s);return[u+h*a,l+h*s]}function De(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Pe(){rr(this),this.edge=this.site=this.circle=null}function Ue(n){var t=cl.pop()||new Pe;return t.site=n,t}function je(n){Be(n),al.remove(n),cl.push(n),rr(n)}function Fe(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,a=n.N,o=[n];je(n);for(var l=i;l.circle&&Ma(e-l.circle.x)s;++s)c=o[s],l=o[s-1],nr(c.edge,l.site,c.site,u);l=o[0],c=o[f-1],c.edge=Ke(l.site,c.site,null,u),$e(l),$e(c)}function He(n){for(var t,e,r,u,i=n.x,a=n.y,o=al._;o;)if(r=Oe(o,a)-i,r>Pa)o=o.L;else{if(u=i-Ie(o,a),!(u>Pa)){r>-Pa?(t=o.P,e=o):u>-Pa?(t=o,e=o.N):t=e=o;break}if(!o.R){t=o;break}o=o.R}var l=Ue(n);if(al.insert(t,l),t||e){if(t===e)return Be(t),e=Ue(t.site),al.insert(l,e),l.edge=e.edge=Ke(t.site,l.site),$e(t),void $e(e);if(!e)return void(l.edge=Ke(t.site,l.site));Be(t),Be(e);var c=t.site,s=c.x,f=c.y,h=n.x-s,g=n.y-f,p=e.site,v=p.x-s,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,M=v*v+d*d,x={x:(d*y-g*M)/m+s,y:(h*M-v*y)/m+f};nr(e.edge,c,p,x),l.edge=Ke(c,n,null,x),e.edge=Ke(n,p,null,x),$e(t),$e(e)}}function Oe(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var a=n.P;if(!a)return-(1/0);e=a.site;var o=e.x,l=e.y,c=l-t;if(!c)return o;var s=o-r,f=1/i-1/c,h=s/c;return f?(-h+Math.sqrt(h*h-2*f*(s*s/(-2*c)-l+c/2+u-i/2)))/f+r:(r+o)/2}function Ie(n,t){var e=n.N;if(e)return Oe(e,t);var r=n.site;return r.y===t?r.x:1/0}function Ye(n){this.site=n,this.edges=[]}function Ze(n){for(var t,e,r,u,i,a,o,l,c,s,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=il,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(o=i.edges,l=o.length,a=0;l>a;)s=o[a].end(),r=s.x,u=s.y,c=o[++a%l].start(),t=c.x,e=c.y,(Ma(r-t)>Pa||Ma(u-e)>Pa)&&(o.splice(a,0,new tr(Qe(i.site,s,Ma(r-f)Pa?{x:f,y:Ma(t-f)Pa?{x:Ma(e-p)Pa?{x:h,y:Ma(t-h)Pa?{x:Ma(e-g)=-Ua)){var g=l*l+c*c,p=s*s+f*f,v=(f*g-c*p)/h,d=(l*p-s*g)/h,f=d+o,m=sl.pop()||new Xe;m.arc=n,m.site=u,m.x=v+a,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,M=ll._;M;)if(m.yd||d>=o)return;if(h>p){if(i){if(i.y>=c)return}else i={x:d,y:l};e={x:d,y:c}}else{if(i){if(i.yr||r>1)if(h>p){if(i){if(i.y>=c)return}else i={x:(l-u)/r,y:l};e={x:(c-u)/r,y:c}}else{if(i){if(i.yg){if(i){if(i.x>=o)return}else i={x:a,y:r*a+u};e={x:o,y:r*o+u}}else{if(i){if(i.xi||f>a||r>h||u>g)){if(p=n.point){var p,v=t-n.x,d=e-n.y,m=v*v+d*d;if(l>m){var y=Math.sqrt(l=m);r=t-y,u=e-y,i=t+y,a=e+y,o=p}}for(var M=n.nodes,x=.5*(s+h),b=.5*(f+g),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:c(n,s,f,x,b);break;case 1:c(n,x,f,h,b);break;case 2:c(n,s,b,x,g);break;case 3:c(n,x,b,h,g)}}}(n,r,u,i,a),o}function vr(n,t){n=oa.rgb(n),t=oa.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,a=t.g-r,o=t.b-u;return function(n){return"#"+bn(Math.round(e+i*n))+bn(Math.round(r+a*n))+bn(Math.round(u+o*n))}}function dr(n,t){var e,r={},u={};for(e in n)e in t?r[e]=Mr(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function mr(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function yr(n,t){var e,r,u,i=hl.lastIndex=gl.lastIndex=0,a=-1,o=[],l=[];for(n+="",t+="";(e=hl.exec(n))&&(r=gl.exec(t));)(u=r.index)>i&&(u=t.slice(i,u),o[a]?o[a]+=u:o[++a]=u),(e=e[0])===(r=r[0])?o[a]?o[a]+=r:o[++a]=r:(o[++a]=null,l.push({i:a,x:mr(e,r)})),i=gl.lastIndex;return ir;++r)o[(e=l[r]).i]=e.x(n);return o.join("")})}function Mr(n,t){for(var e,r=oa.interpolators.length;--r>=0&&!(e=oa.interpolators[r](n,t)););return e}function xr(n,t){var e,r=[],u=[],i=n.length,a=t.length,o=Math.min(n.length,t.length);for(e=0;o>e;++e)r.push(Mr(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;a>e;++e)u[e]=t[e];return function(n){for(e=0;o>e;++e)u[e]=r[e](n);return u}}function br(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function _r(n){return function(t){return 1-n(1-t)}}function wr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function Sr(n){return n*n}function kr(n){return n*n*n}function Nr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Er(n){return function(t){return Math.pow(t,n)}}function Ar(n){return 1-Math.cos(n*Oa)}function Cr(n){return Math.pow(2,10*(n-1))}function zr(n){return 1-Math.sqrt(1-n*n)}function Lr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Fa*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Fa/t)}}function qr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Tr(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=oa.hcl(n),t=oa.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,a=t.c-r,o=t.l-u;return isNaN(a)&&(a=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return fn(e+i*n,r+a*n,u+o*n)+""}}function Dr(n,t){n=oa.hsl(n),t=oa.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,a=t.s-r,o=t.l-u;return isNaN(a)&&(a=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return cn(e+i*n,r+a*n,u+o*n)+""}}function Pr(n,t){n=oa.lab(n),t=oa.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,a=t.a-r,o=t.b-u;return function(n){return gn(e+i*n,r+a*n,u+o*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function jr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Hr(t),u=Fr(t,e),i=Hr(Or(e,t,-u))||0;t[0]*e[1]180?t+=360:t-n>180&&(n+=360),r.push({i:e.push(Ir(e)+"rotate(",null,")")-2,x:mr(n,t)})):t&&e.push(Ir(e)+"rotate("+t+")")}function Vr(n,t,e,r){n!==t?r.push({i:e.push(Ir(e)+"skewX(",null,")")-2,x:mr(n,t)}):t&&e.push(Ir(e)+"skewX("+t+")")}function Xr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var u=e.push(Ir(e)+"scale(",null,",",null,")");r.push({i:u-4,x:mr(n[0],t[0])},{i:u-2,x:mr(n[1],t[1])})}else(1!==t[0]||1!==t[1])&&e.push(Ir(e)+"scale("+t+")")}function $r(n,t){var e=[],r=[];return n=oa.transform(n),t=oa.transform(t),Yr(n.translate,t.translate,e,r),Zr(n.rotate,t.rotate,e,r),Vr(n.skew,t.skew,e,r),Xr(n.scale,t.scale,e,r),n=t=null,function(n){for(var t,u=-1,i=r.length;++u=0;)e.push(u[r])}function au(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(i=n.children)&&(u=i.length))for(var u,i,a=-1;++ae;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function mu(n){return n.reduce(yu,0)}function yu(n,t){return n+t[1]}function Mu(n,t){return xu(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function xu(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function bu(n){return[oa.min(n),oa.max(n)]}function _u(n,t){return n.value-t.value}function wu(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Su(n,t){n._pack_next=t,t._pack_prev=n}function ku(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Nu(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(c=e.length)){var e,r,u,i,a,o,l,c,s=1/0,f=-(1/0),h=1/0,g=-(1/0);if(e.forEach(Eu),r=e[0],r.x=-r.r,r.y=0,t(r),c>1&&(u=e[1],u.x=u.r,u.y=0,t(u),c>2))for(i=e[2],zu(r,u,i),t(i),wu(r,i),r._pack_prev=i,wu(i,u),u=r._pack_next,a=3;c>a;a++){zu(r,u,i=e[a]);var p=0,v=1,d=1;for(o=u._pack_next;o!==u;o=o._pack_next,v++)if(ku(o,i)){p=1;break}if(1==p)for(l=r._pack_prev;l!==o._pack_prev&&!ku(l,i);l=l._pack_prev,d++);p?(d>v||v==d&&u.ra;a++)i=e[a],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(Au)}}function Eu(n){n._pack_next=n._pack_prev=n}function Au(n){delete n._pack_next,delete n._pack_prev}function Cu(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,a=u.length;++i=0;)t=u[i],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Pu(n,t,e){return n.a.parent===t.parent?n.a:e}function Uu(n){return 1+oa.max(n,function(n){return n.y})}function ju(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Fu(n){var t=n.children;return t&&t.length?Fu(t[0]):n}function Hu(n){var t,e=n.children;return e&&(t=e.length)?Hu(e[t-1]):n}function Ou(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Iu(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function Yu(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Zu(n){return n.rangeExtent?n.rangeExtent():Yu(n.range())}function Vu(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Xu(n,t){var e,r=0,u=n.length-1,i=n[r],a=n[u];return i>a&&(e=r,r=u,u=e,e=i,i=a,a=e),n[r]=t.floor(i),n[u]=t.ceil(a),n}function $u(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Sl}function Bu(n,t,e,r){var u=[],i=[],a=0,o=Math.min(n.length,t.length)-1;for(n[o]2?Bu:Vu,l=r?Wr:Br;return a=u(n,t,l,e),o=u(t,n,l,Mr),i}function i(n){return a(n)}var a,o;return i.invert=function(n){return o(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Ur)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Qu(n,t)},i.tickFormat=function(t,e){return ni(n,t,e)},i.nice=function(t){return Gu(n,t),u()},i.copy=function(){return Wu(n,t,e,r)},u()}function Ju(n,t){return oa.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Gu(n,t){return Xu(n,$u(Ku(n,t)[2])),Xu(n,$u(Ku(n,t)[2])),n}function Ku(n,t){null==t&&(t=10);var e=Yu(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Qu(n,t){return oa.range.apply(oa,Ku(n,t))}function ni(n,t,e){var r=Ku(n,t);if(e){var u=fo.exec(e);if(u.shift(),"s"===u[8]){var i=oa.formatPrefix(Math.max(Ma(r[0]),Ma(r[1])));return u[7]||(u[7]="."+ti(i.scale(r[2]))),u[8]="f",e=oa.format(u.join("")),function(n){return e(i.scale(n))+i.symbol}}u[7]||(u[7]="."+ei(u[8],r)),e=u.join("")}else e=",."+ti(r[2])+"f";return oa.format(e)}function ti(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function ei(n,t){var e=ti(t[2]);return n in kl?Math.abs(e-ti(Math.max(Ma(t[0]),Ma(t[1]))))+ +("e"!==n):e-2*("%"===n)}function ri(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function a(t){return n(u(t))}return a.invert=function(t){return i(n.invert(t))},a.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),a):r},a.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),a):t},a.nice=function(){var t=Xu(r.map(u),e?Math:El);return n.domain(t),r=t.map(i),a},a.ticks=function(){var n=Yu(r),a=[],o=n[0],l=n[1],c=Math.floor(u(o)),s=Math.ceil(u(l)),f=t%1?2:t;if(isFinite(s-c)){if(e){for(;s>c;c++)for(var h=1;f>h;h++)a.push(i(c)*h);a.push(i(c))}else for(a.push(i(c));c++0;h--)a.push(i(c)*h);for(c=0;a[c]l;s--);a=a.slice(c,s)}return a},a.tickFormat=function(n,e){if(!arguments.length)return Nl;arguments.length<2?e=Nl:"function"!=typeof e&&(e=oa.format(e));var r=Math.max(1,t*n/a.ticks().length);return function(n){var a=n/i(Math.round(u(n)));return t-.5>a*t&&(a*=t),r>=a?e(n):""}},a.copy=function(){return ri(n.copy(),t,e,r)},Ju(a,n)}function ui(n,t,e){function r(t){return n(u(t))}var u=ii(t),i=ii(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Qu(e,n)},r.tickFormat=function(n,t){return ni(e,n,t)},r.nice=function(n){return r.domain(Gu(e,n))},r.exponent=function(a){return arguments.length?(u=ii(t=a),i=ii(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return ui(n.copy(),t,e)},Ju(r,n)}function ii(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ai(n,t){function e(e){return i[((u.get(e)||("range"===t.t?u.set(e,n.push(e)):NaN))-1)%i.length]}function r(t,e){return oa.range(n.length).map(function(n){return t+e*n})}var u,i,a;return e.domain=function(r){if(!arguments.length)return n;n=[],u=new c;for(var i,a=-1,o=r.length;++ae?[NaN,NaN]:[e>0?o[e-1]:n[0],et?NaN:t/i+n,[t,t+1/i]},r.copy=function(){return li(n,t,e)},u()}function ci(n,t){function e(e){return e>=e?t[oa.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return ci(n,t)},e}function si(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Qu(n,t)},t.tickFormat=function(t,e){return ni(n,t,e)},t.copy=function(){return si(n)},t}function fi(){return 0}function hi(n){return n.innerRadius}function gi(n){return n.outerRadius}function pi(n){return n.startAngle}function vi(n){return n.endAngle}function di(n){return n&&n.padAngle}function mi(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function yi(n,t,e,r,u){var i=n[0]-t[0],a=n[1]-t[1],o=(u?r:-r)/Math.sqrt(i*i+a*a),l=o*a,c=-o*i,s=n[0]+l,f=n[1]+c,h=t[0]+l,g=t[1]+c,p=(s+h)/2,v=(f+g)/2,d=h-s,m=g-f,y=d*d+m*m,M=e-r,x=s*g-h*f,b=(0>m?-1:1)*Math.sqrt(Math.max(0,M*M*y-x*x)),_=(x*m-d*b)/y,w=(-x*d-m*b)/y,S=(x*m+d*b)/y,k=(-x*d+m*b)/y,N=_-p,E=w-v,A=S-p,C=k-v;return N*N+E*E>A*A+C*C&&(_=S,w=k),[[_-l,w-c],[_*e/M,w*e/M]]}function Mi(n){function t(t){function a(){c.push("M",i(n(s),o))}for(var l,c=[],s=[],f=-1,h=t.length,g=En(e),p=En(r);++f1?n.join("L"):n+"Z"}function bi(n){return n.join("L")+"Z"}function _i(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1&&u.push("H",r[0]),u.join("")}function wi(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1){o=t[1],i=n[l],l++,r+="C"+(u[0]+a[0])+","+(u[1]+a[1])+","+(i[0]-o[0])+","+(i[1]-o[1])+","+i[0]+","+i[1];for(var c=2;c9&&(u=3*t/Math.sqrt(u),a[o]=u*e,a[o+1]=u*r));for(o=-1;++o<=l;)u=(n[Math.min(l,o+1)][0]-n[Math.max(0,o-1)][0])/(6*(1+a[o]*a[o])),i.push([u||0,a[o]*u||0]);return i}function Fi(n){return n.length<3?xi(n):n[0]+Ai(n,ji(n))}function Hi(n){for(var t,e,r,u=-1,i=n.length;++u=t?a(n-t):void(s.c=a)}function a(e){var u=p.active,i=p[u];i&&(i.timer.c=null,i.timer.t=NaN,--p.count,delete p[u],i.event&&i.event.interrupt.call(n,n.__data__,i.index));for(var a in p)if(r>+a){var c=p[a];c.timer.c=null,c.timer.t=NaN,--p.count,delete p[a]}s.c=o,qn(function(){return s.c&&o(e||1)&&(s.c=null,s.t=NaN),1},0,l),p.active=r,v.event&&v.event.start.call(n,n.__data__,t),g=[],v.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&g.push(r)}),h=v.ease,f=v.duration}function o(u){for(var i=u/f,a=h(i),o=g.length;o>0;)g[--o].call(n,a);return i>=1?(v.event&&v.event.end.call(n,n.__data__,t),--p.count?delete p[r]:delete n[e],1):void 0}var l,s,f,h,g,p=n[e]||(n[e]={active:0,count:0}),v=p[r];v||(l=u.time,s=qn(i,0,l),v=p[r]={tween:new c,time:l,timer:s,delay:u.delay,duration:u.duration,ease:u.ease,index:t},u=null,++p.count)}function na(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function ta(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function ea(n){return n.toISOString()}function ra(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=oa.bisect(Kl,u);return i==Kl.length?[t.year,Ku(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/Kl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=ua(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=ua(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Yu(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],ua(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return ra(n.copy(),t,e)},Ju(r,n)}function ua(n){return new Date(n)}function ia(n){return JSON.parse(n.responseText)}function aa(n){var t=sa.createRange();return t.selectNode(sa.body),t.createContextualFragment(n.responseText)}var oa={version:"3.5.16"},la=[].slice,ca=function(n){return la.call(n)},sa=this.document;if(sa)try{ca(sa.documentElement.childNodes)[0].nodeType}catch(fa){ca=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),sa)try{sa.createElement("DIV").style.setProperty("opacity",0,"")}catch(ha){var ga=this.Element.prototype,pa=ga.setAttribute,va=ga.setAttributeNS,da=this.CSSStyleDeclaration.prototype,ma=da.setProperty;ga.setAttribute=function(n,t){pa.call(this,n,t+"")},ga.setAttributeNS=function(n,t,e){va.call(this,n,t,e+"")},da.setProperty=function(n,t,e){ma.call(this,n,t+"",e)}}oa.ascending=e,oa.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:NaN},oa.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=r){e=r;break}for(;++ur&&(e=r)}else{for(;++u=r){e=r;break}for(;++ur&&(e=r)}return e},oa.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=r){e=r;break}for(;++ue&&(e=r)}else{for(;++u=r){e=r;break}for(;++ue&&(e=r)}return e},oa.extent=function(n,t){var e,r,u,i=-1,a=n.length;if(1===arguments.length){for(;++i=r){e=u=r;break}for(;++ir&&(e=r),r>u&&(u=r))}else{for(;++i=r){e=u=r;break}for(;++ir&&(e=r),r>u&&(u=r))}return[e,u]},oa.sum=function(n,t){var e,r=0,i=n.length,a=-1;if(1===arguments.length)for(;++a1?l/(s-1):void 0},oa.deviation=function(){var n=oa.variance.apply(this,arguments);return n?Math.sqrt(n):n};var ya=i(e);oa.bisectLeft=ya.left,oa.bisect=oa.bisectRight=ya.right,oa.bisector=function(n){return i(1===n.length?function(t,r){return e(n(t),r)}:n)},oa.shuffle=function(n,t,e){(i=arguments.length)<3&&(e=n.length,2>i&&(t=0));for(var r,u,i=e-t;i;)u=Math.random()*i--|0,r=n[i+t],n[i+t]=n[u+t],n[u+t]=r;return n},oa.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},oa.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},oa.transpose=function(n){if(!(u=n.length))return[];for(var t=-1,e=oa.min(n,a),r=new Array(e);++t=0;)for(r=n[u],t=r.length;--t>=0;)e[--a]=r[t];return e};var Ma=Math.abs;oa.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e===1/0)throw new Error("infinite range");var r,u=[],i=o(Ma(e)),a=-1;if(n*=i,t*=i,e*=i,0>e)for(;(r=n+e*++a)>t;)u.push(r/i);else for(;(r=n+e*++a)=i.length)return r?r.call(u,a):e?a.sort(e):a;for(var l,s,f,h,g=-1,p=a.length,v=i[o++],d=new c;++g=i.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,u={},i=[],a=[];return u.map=function(t,e){return n(e,t,0)},u.entries=function(e){return t(n(oa.map,e,0),0)},u.key=function(n){return i.push(n),u},u.sortKeys=function(n){return a[i.length-1]=n,u},u.sortValues=function(n){return e=n,u},u.rollup=function(n){return r=n,u},u},oa.set=function(n){var t=new m;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},l(m,{has:h,add:function(n){return this._[s(n+="")]=!0,n},remove:g,values:p,size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,f(t))}}),oa.behavior={},oa.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},oa.event=null,oa.requote=function(n){return n.replace(wa,"\\$&")};var wa=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Sa={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},ka=function(n,t){return t.querySelector(n)},Na=function(n,t){return t.querySelectorAll(n)},Ea=function(n,t){var e=n.matches||n[x(n,"matchesSelector")];return(Ea=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(ka=function(n,t){return Sizzle(n,t)[0]||null},Na=Sizzle,Ea=Sizzle.matchesSelector),oa.selection=function(){return oa.select(sa.documentElement)};var Aa=oa.selection.prototype=[];Aa.select=function(n){var t,e,r,u,i=[];n=A(n);for(var a=-1,o=this.length;++a=0&&"xmlns"!==(e=n.slice(0,t))&&(n=n.slice(t+1)),za.hasOwnProperty(e)?{space:za[e],local:n}:n}},Aa.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=oa.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return this.each(z(n,t))},Aa.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=T(n)).length,u=-1;if(t=e.classList){for(;++uu){if("string"!=typeof n){2>u&&(e="");for(r in n)this.each(P(r,n[r],e));return this}if(2>u){var i=this.node();return t(i).getComputedStyle(i,null).getPropertyValue(n)}r=""}return this.each(P(n,e,r))},Aa.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(U(t,n[t]));return this}return this.each(U(n,t))},Aa.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Aa.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Aa.append=function(n){return n=j(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Aa.insert=function(n,t){return n=j(n),t=A(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},Aa.remove=function(){return this.each(F)},Aa.data=function(n,t){function e(n,e){var r,u,i,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),v=new Array(a);if(t){var d,m=new c,y=new Array(a);for(r=-1;++rr;++r)p[r]=H(e[r]);for(;a>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,o.push(p),l.push(g),s.push(v)}var r,u,i=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++ii;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var o=0,l=e.length;l>o;o++)(r=e[o])&&n.call(r,r.__data__,o,i)&&t.push(r)}return E(u)},Aa.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},Aa.sort=function(n){n=I.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},Aa.size=function(){var n=0;return Y(this,function(){++n}),n};var La=[];oa.selection.enter=Z,oa.selection.enter.prototype=La,La.append=Aa.append,La.empty=Aa.empty,La.node=Aa.node,La.call=Aa.call,La.size=Aa.size,La.select=function(n){for(var t,e,r,u,i,a=[],o=-1,l=this.length;++or){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(X(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(X(n,t,e))};var qa=oa.map({mouseenter:"mouseover",mouseleave:"mouseout"});sa&&qa.forEach(function(n){"on"+n in sa&&qa.remove(n)});var Ta,Ra=0;oa.mouse=function(n){return J(n,k())};var Da=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;oa.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=k().changedTouches),t)for(var r,u=0,i=t.length;i>u;++u)if((r=t[u]).identifier===e)return J(n,r)},oa.behavior.drag=function(){function n(){this.on("mousedown.drag",i).on("touchstart.drag",a)}function e(n,t,e,i,a){return function(){function o(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],p|=n|e,M=r,g({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:n,dy:e}))}function l(){t(h,v)&&(m.on(i+d,null).on(a+d,null),y(p),g({type:"dragend"}))}var c,s=this,f=oa.event.target.correspondingElement||oa.event.target,h=s.parentNode,g=r.of(s,arguments),p=0,v=n(),d=".drag"+(null==v?"":"-"+v),m=oa.select(e(f)).on(i+d,o).on(a+d,l),y=W(f),M=t(h,v);u?(c=u.apply(s,arguments),c=[c.x-M[0],c.y-M[1]]):c=[0,0],g({type:"dragstart"})}}var r=N(n,"drag","dragstart","dragend"),u=null,i=e(b,oa.mouse,t,"mousemove","mouseup"),a=e(G,oa.touch,y,"touchmove","touchend");return n.origin=function(t){return arguments.length?(u=t,n):u},oa.rebind(n,r,"on")},oa.touches=function(n,t){return arguments.length<2&&(t=k().touches),t?ca(t).map(function(t){var e=J(n,t);return e.identifier=t.identifier,e}):[]};var Pa=1e-6,Ua=Pa*Pa,ja=Math.PI,Fa=2*ja,Ha=Fa-Pa,Oa=ja/2,Ia=ja/180,Ya=180/ja,Za=Math.SQRT2,Va=2,Xa=4;oa.interpolateZoom=function(n,t){var e,r,u=n[0],i=n[1],a=n[2],o=t[0],l=t[1],c=t[2],s=o-u,f=l-i,h=s*s+f*f;if(Ua>h)r=Math.log(c/a)/Za,e=function(n){return[u+n*s,i+n*f,a*Math.exp(Za*n*r)]};else{var g=Math.sqrt(h),p=(c*c-a*a+Xa*h)/(2*a*Va*g),v=(c*c-a*a-Xa*h)/(2*c*Va*g),d=Math.log(Math.sqrt(p*p+1)-p),m=Math.log(Math.sqrt(v*v+1)-v);r=(m-d)/Za,e=function(n){var t=n*r,e=rn(d),o=a/(Va*g)*(e*un(Za*t+d)-en(d));return[u+o*s,i+o*f,a*e/rn(Za*t+d)]}}return e.duration=1e3*r,e},oa.behavior.zoom=function(){function n(n){n.on(L,f).on(Ba+".zoom",g).on("dblclick.zoom",p).on(R,h)}function e(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function r(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function u(n){k.k=Math.max(A[0],Math.min(A[1],n))}function i(n,t){t=r(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function a(t,e,r,a){t.__chart__={x:k.x,y:k.y,k:k.k},u(Math.pow(2,a)),i(d=e,r),t=oa.select(t),C>0&&(t=t.transition().duration(C)),t.call(n.event)}function o(){b&&b.domain(x.range().map(function(n){return(n-k.x)/k.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function l(n){z++||n({type:"zoomstart"})}function c(n){o(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function s(n){--z||(n({type:"zoomend"}),d=null)}function f(){function n(){o=1,i(oa.mouse(u),h),c(a)}function r(){f.on(q,null).on(T,null),g(o),s(a)}var u=this,a=D.of(u,arguments),o=0,f=oa.select(t(u)).on(q,n).on(T,r),h=e(oa.mouse(u)),g=W(u);Il.call(u),l(a)}function h(){function n(){var n=oa.touches(p);return g=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=e(n))}),n}function t(){var t=oa.event.target;oa.select(t).on(x,r).on(b,o),_.push(t);for(var e=oa.event.changedTouches,u=0,i=e.length;i>u;++u)d[e[u].identifier]=null;var l=n(),c=Date.now();if(1===l.length){if(500>c-M){var s=l[0];a(p,s,d[s.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=c}else if(l.length>1){var s=l[0],f=l[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}function r(){var n,t,e,r,a=oa.touches(p);Il.call(p);for(var o=0,l=a.length;l>o;++o,r=null)if(e=a[o],r=d[e.identifier]){if(t)break;n=e,t=r}if(r){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+r[0])/2,(t[1]+r[1])/2],u(f*g)}M=null,i(n,t),c(v)}function o(){if(oa.event.touches.length){for(var t=oa.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var u in d)return void n()}oa.selectAll(_).on(y,null),w.on(L,f).on(R,h),N(),s(v)}var g,p=this,v=D.of(p,arguments),d={},m=0,y=".zoom-"+oa.event.changedTouches[0].identifier,x="touchmove"+y,b="touchend"+y,_=[],w=oa.select(p),N=W(p);t(),l(v),w.on(L,null).on(R,t)}function g(){var n=D.of(this,arguments);y?clearTimeout(y):(Il.call(this),v=e(d=m||oa.mouse(this)),l(n)),y=setTimeout(function(){y=null,s(n)},50),S(),u(Math.pow(2,.002*$a())*k.k),i(d,v),c(n)}function p(){var n=oa.mouse(this),t=Math.log(k.k)/Math.LN2;a(this,n,e(n),oa.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,m,y,M,x,b,_,w,k={x:0,y:0,k:1},E=[960,500],A=Wa,C=250,z=0,L="mousedown.zoom",q="mousemove.zoom",T="mouseup.zoom",R="touchstart.zoom",D=N(n,"zoomstart","zoom","zoomend");return Ba||(Ba="onwheel"in sa?($a=function(){return-oa.event.deltaY*(oa.event.deltaMode?120:1)},"wheel"):"onmousewheel"in sa?($a=function(){return oa.event.wheelDelta},"mousewheel"):($a=function(){return-oa.event.detail},"MozMousePixelScroll")),n.event=function(n){n.each(function(){var n=D.of(this,arguments),t=k;Hl?oa.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},l(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],u=d?d[0]:e/2,i=d?d[1]:r/2,a=oa.interpolateZoom([(u-k.x)/k.k,(i-k.y)/k.k,e/k.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=a(t),o=e/r[2];this.__chart__=k={x:u-r[0]*o,y:i-r[1]*o,k:o},c(n)}}).each("interrupt.zoom",function(){s(n)}).each("end.zoom",function(){s(n)}):(this.__chart__=k,l(n),c(n),s(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},o(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:null},u(+t),o(),n):k.k},n.scaleExtent=function(t){return arguments.length?(A=null==t?Wa:[+t[0],+t[1]],n):A},n.center=function(t){return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.duration=function(t){return arguments.length?(C=+t,n):C},n.x=function(t){return arguments.length?(b=t,x=t.copy(),k={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),k={x:0,y:0,k:1},n):w},oa.rebind(n,D,"on")};var $a,Ba,Wa=[0,1/0];oa.color=on,on.prototype.toString=function(){return this.rgb()+""},oa.hsl=ln;var Ja=ln.prototype=new on;Ja.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,this.l/n)},Ja.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,n*this.l)},Ja.rgb=function(){return cn(this.h,this.s,this.l)},oa.hcl=sn;var Ga=sn.prototype=new on;Ga.brighter=function(n){return new sn(this.h,this.c,Math.min(100,this.l+Ka*(arguments.length?n:1)))},Ga.darker=function(n){return new sn(this.h,this.c,Math.max(0,this.l-Ka*(arguments.length?n:1)))},Ga.rgb=function(){return fn(this.h,this.c,this.l).rgb()},oa.lab=hn;var Ka=18,Qa=.95047,no=1,to=1.08883,eo=hn.prototype=new on;eo.brighter=function(n){return new hn(Math.min(100,this.l+Ka*(arguments.length?n:1)),this.a,this.b)},eo.darker=function(n){return new hn(Math.max(0,this.l-Ka*(arguments.length?n:1)),this.a,this.b)},eo.rgb=function(){return gn(this.l,this.a,this.b)},oa.rgb=yn;var ro=yn.prototype=new on;ro.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),new yn(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new yn(u,u,u)},ro.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new yn(n*this.r,n*this.g,n*this.b)},ro.hsl=function(){return wn(this.r,this.g,this.b)},ro.toString=function(){return"#"+bn(this.r)+bn(this.g)+bn(this.b)};var uo=oa.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});uo.forEach(function(n,t){uo.set(n,Mn(t))}),oa.functor=En,oa.xhr=An(y),oa.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var a=Cn(n,t,null==e?r:u(e),i);return a.row=function(n){return arguments.length?a.response(null==(e=n)?r:u(n)):e},a}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(a).join(n)}function a(n){return o.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var o=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=c)return a;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++s;){var r=n.charCodeAt(s++),o=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++o);else if(r!==l)continue;return n.slice(t,s-o)}return n.slice(t)}for(var r,u,i={},a={},o=[],c=n.length,s=0,f=0;(r=e())!==a;){for(var h=[];r!==i&&r!==a;)h.push(r),r=e();t&&null==(h=t(h,f++))||o.push(h)}return o},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new m,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(a).join(n)].concat(t.map(function(t){return u.map(function(n){return a(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},oa.csv=oa.dsv(",","text/csv"),oa.tsv=oa.dsv(" ","text/tab-separated-values");var io,ao,oo,lo,co=this[x(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};oa.timer=function(){qn.apply(this,arguments)},oa.timer.flush=function(){Rn(),Dn()},oa.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var so=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Un);oa.formatPrefix=function(n,t){var e=0;return(n=+n)&&(0>n&&(n*=-1),t&&(n=oa.round(n,Pn(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),so[8+e/3]};var fo=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ho=oa.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=oa.round(n,Pn(n,t))).toFixed(Math.max(0,Math.min(20,Pn(n*(1+1e-15),t))))}}),go=oa.time={},po=Date;Hn.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){vo.setUTCDate.apply(this._,arguments)},setDay:function(){vo.setUTCDay.apply(this._,arguments)},setFullYear:function(){vo.setUTCFullYear.apply(this._,arguments)},setHours:function(){vo.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){vo.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){vo.setUTCMinutes.apply(this._,arguments)},setMonth:function(){vo.setUTCMonth.apply(this._,arguments)},setSeconds:function(){vo.setUTCSeconds.apply(this._,arguments)},setTime:function(){vo.setTime.apply(this._,arguments)}};var vo=Date.prototype;go.year=On(function(n){return n=go.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),go.years=go.year.range,go.years.utc=go.year.utc.range,go.day=On(function(n){var t=new po(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),go.days=go.day.range,go.days.utc=go.day.utc.range,go.dayOfYear=function(n){var t=go.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=go[n]=On(function(n){return(n=go.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=go.year(n).getDay();return Math.floor((go.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});go[n+"s"]=e.range,go[n+"s"].utc=e.utc.range,go[n+"OfYear"]=function(n){var e=go.year(n).getDay();return Math.floor((go.dayOfYear(n)+(e+t)%7)/7)}}),go.week=go.sunday,go.weeks=go.sunday.range,go.weeks.utc=go.sunday.utc.range,go.weekOfYear=go.sundayOfYear;var mo={"-":"",_:" ",0:"0"},yo=/^\s*\d+/,Mo=/^%/;oa.locale=function(n){return{numberFormat:jn(n),timeFormat:Yn(n)}};var xo=oa.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"], -shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});oa.format=xo.numberFormat,oa.geo={},st.prototype={s:0,t:0,add:function(n){ft(n,this.t,bo),ft(bo.s,this.s,this),this.s?this.t+=bo.t:this.s=bo.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var bo=new st;oa.geo.stream=function(n,t){n&&_o.hasOwnProperty(n.type)?_o[n.type](n,t):ht(n,t)};var _o={Feature:function(n,t){ht(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++rn?4*ja+n:n,No.lineStart=No.lineEnd=No.point=b}};oa.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=dt([t*Ia,e*Ia]);if(m){var u=yt(m,r),i=[u[1],-u[0],0],a=yt(i,u);bt(a),a=_t(a);var l=t-p,c=l>0?1:-1,v=a[0]*Ya*c,d=Ma(l)>180;if(d^(v>c*p&&c*t>v)){var y=a[1]*Ya;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>c*p&&c*t>v)){var y=-a[1]*Ya;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?o(s,t)>o(s,h)&&(h=t):o(t,h)>o(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?o(s,t)>o(s,h)&&(h=t):o(t,h)>o(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=Ma(r)>180?r+(r>0?360:-360):r}else v=n,d=e;No.point(n,e),t(n,e)}function i(){No.lineStart()}function a(){u(v,d),No.lineEnd(),Ma(y)>Pa&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function o(n,t){return(t-=n)<0?t+360:t}function l(n,t){return n[0]-t[0]}function c(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nko?(s=-(h=180),f=-(g=90)):y>Pa?g=90:-Pa>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],oa.geo.stream(n,b);var t=M.length;if(t){M.sort(l);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],c(e[0],u)||c(e[1],u)?(o(u[0],e[1])>o(u[0],u[1])&&(u[1]=e[1]),o(e[0],u[1])>o(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var a,e,p=-(1/0),t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(a=o(u[1],e[0]))>p&&(p=a,s=e[0],h=u[1])}return M=x=null,s===1/0||f===1/0?[[NaN,NaN],[NaN,NaN]]:[[s,f],[h,g]]}}(),oa.geo.centroid=function(n){Eo=Ao=Co=zo=Lo=qo=To=Ro=Do=Po=Uo=0,oa.geo.stream(n,jo);var t=Do,e=Po,r=Uo,u=t*t+e*e+r*r;return Ua>u&&(t=qo,e=To,r=Ro,Pa>Ao&&(t=Co,e=zo,r=Lo),u=t*t+e*e+r*r,Ua>u)?[NaN,NaN]:[Math.atan2(e,t)*Ya,tn(r/Math.sqrt(u))*Ya]};var Eo,Ao,Co,zo,Lo,qo,To,Ro,Do,Po,Uo,jo={sphere:b,point:St,lineStart:Nt,lineEnd:Et,polygonStart:function(){jo.lineStart=At},polygonEnd:function(){jo.lineStart=Nt}},Fo=Rt(zt,jt,Ht,[-ja,-ja/2]),Ho=1e9;oa.geo.clipExtent=function(){var n,t,e,r,u,i,a={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(o){return arguments.length?(i=Zt(n=+o[0][0],t=+o[0][1],e=+o[1][0],r=+o[1][1]),u&&(u.valid=!1,u=null),a):[[n,t],[e,r]]}};return a.extent([[0,0],[960,500]])},(oa.geo.conicEqualArea=function(){return Vt(Xt)}).raw=Xt,oa.geo.albers=function(){return oa.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},oa.geo.albersUsa=function(){function n(n){var i=n[0],a=n[1];return t=null,e(i,a),t||(r(i,a),t)||u(i,a),t}var t,e,r,u,i=oa.geo.albers(),a=oa.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o=oa.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?a:u>=.166&&.234>u&&r>=-.214&&-.115>r?o:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=a.stream(n),r=o.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),a.precision(t),o.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),a.scale(.35*t),o.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var c=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*c,f-.238*c],[s+.455*c,f+.238*c]]).stream(l).point,r=a.translate([s-.307*c,f+.201*c]).clipExtent([[s-.425*c+Pa,f+.12*c+Pa],[s-.214*c-Pa,f+.234*c-Pa]]).stream(l).point,u=o.translate([s-.205*c,f+.212*c]).clipExtent([[s-.214*c+Pa,f+.166*c+Pa],[s-.115*c-Pa,f+.234*c-Pa]]).stream(l).point,n},n.scale(1070)};var Oo,Io,Yo,Zo,Vo,Xo,$o={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Io=0,$o.lineStart=$t},polygonEnd:function(){$o.lineStart=$o.lineEnd=$o.point=b,Oo+=Ma(Io/2)}},Bo={point:Bt,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Wo={point:Gt,lineStart:Kt,lineEnd:Qt,polygonStart:function(){Wo.lineStart=ne},polygonEnd:function(){Wo.point=Gt,Wo.lineStart=Kt,Wo.lineEnd=Qt}};oa.geo.path=function(){function n(n){return n&&("function"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=u(i)),oa.geo.stream(n,a)),i.result()}function t(){return a=null,n}var e,r,u,i,a,o=4.5;return n.area=function(n){return Oo=0,oa.geo.stream(n,u($o)),Oo},n.centroid=function(n){return Co=zo=Lo=qo=To=Ro=Do=Po=Uo=0,oa.geo.stream(n,u(Wo)),Uo?[Do/Uo,Po/Uo]:Ro?[qo/Ro,To/Ro]:Lo?[Co/Lo,zo/Lo]:[NaN,NaN]},n.bounds=function(n){return Vo=Xo=-(Yo=Zo=1/0),oa.geo.stream(n,u(Bo)),[[Yo,Zo],[Vo,Xo]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||re(n):y,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new Wt:new te(n),"function"!=typeof o&&i.pointRadius(o),t()):r},n.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:(i.pointRadius(+t),+t),n):o},n.projection(oa.geo.albersUsa()).context(null)},oa.geo.transform=function(n){return{stream:function(t){var e=new ue(t);for(var r in n)e[r]=n[r];return e}}},ue.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},oa.geo.projection=ae,oa.geo.projectionMutator=oe,(oa.geo.equirectangular=function(){return ae(ce)}).raw=ce.invert=ce,oa.geo.rotation=function(n){function t(t){return t=n(t[0]*Ia,t[1]*Ia),t[0]*=Ya,t[1]*=Ya,t}return n=fe(n[0]%360*Ia,n[1]*Ia,n.length>2?n[2]*Ia:0),t.invert=function(t){return t=n.invert(t[0]*Ia,t[1]*Ia),t[0]*=Ya,t[1]*=Ya,t},t},se.invert=ce,oa.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=fe(-n[0]*Ia,-n[1]*Ia,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=Ya,n[1]*=Ya}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=ve((t=+r)*Ia,u*Ia),n):t},n.precision=function(r){return arguments.length?(e=ve(t*Ia,(u=+r)*Ia),n):u},n.angle(90)},oa.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Ia,u=n[1]*Ia,i=t[1]*Ia,a=Math.sin(r),o=Math.cos(r),l=Math.sin(u),c=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*a)*e+(e=c*s-l*f*o)*e),l*s+c*f*o)},oa.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return oa.range(Math.ceil(i/d)*d,u,d).map(h).concat(oa.range(Math.ceil(c/m)*m,l,m).map(g)).concat(oa.range(Math.ceil(r/p)*p,e,p).filter(function(n){return Ma(n%d)>Pa}).map(s)).concat(oa.range(Math.ceil(o/v)*v,a,v).filter(function(n){return Ma(n%m)>Pa}).map(f))}var e,r,u,i,a,o,l,c,s,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(l).slice(1),h(u).reverse().slice(1),g(c).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],c=+t[0][1],l=+t[1][1],i>u&&(t=i,i=u,u=t),c>l&&(t=c,c=l,l=t),n.precision(y)):[[i,c],[u,l]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),n.precision(y)):[[r,o],[e,a]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,s=me(o,a,90),f=ye(r,e,y),h=me(c,l,90),g=ye(i,u,y),n):y},n.majorExtent([[-180,-90+Pa],[180,90-Pa]]).minorExtent([[-180,-80-Pa],[180,80+Pa]])},oa.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=Me,u=xe;return n.distance=function(){return oa.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},oa.geo.interpolate=function(n,t){return be(n[0]*Ia,n[1]*Ia,t[0]*Ia,t[1]*Ia)},oa.geo.length=function(n){return Jo=0,oa.geo.stream(n,Go),Jo};var Jo,Go={sphere:b,point:b,lineStart:_e,lineEnd:b,polygonStart:b,polygonEnd:b},Ko=we(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(oa.geo.azimuthalEqualArea=function(){return ae(Ko)}).raw=Ko;var Qo=we(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},y);(oa.geo.azimuthalEquidistant=function(){return ae(Qo)}).raw=Qo,(oa.geo.conicConformal=function(){return Vt(Se)}).raw=Se,(oa.geo.conicEquidistant=function(){return Vt(ke)}).raw=ke;var nl=we(function(n){return 1/n},Math.atan);(oa.geo.gnomonic=function(){return ae(nl)}).raw=nl,Ne.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Oa]},(oa.geo.mercator=function(){return Ee(Ne)}).raw=Ne;var tl=we(function(){return 1},Math.asin);(oa.geo.orthographic=function(){return ae(tl)}).raw=tl;var el=we(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(oa.geo.stereographic=function(){return ae(el)}).raw=el,Ae.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Oa]},(oa.geo.transverseMercator=function(){var n=Ee(Ae),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Ae,oa.geom={},oa.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=En(e),i=En(r),a=n.length,o=[],l=[];for(t=0;a>t;t++)o.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(o.sort(qe),t=0;a>t;t++)l.push([o[t][0],-o[t][1]]);var c=Le(o),s=Le(l),f=s[0]===c[0],h=s[s.length-1]===c[c.length-1],g=[];for(t=c.length-1;t>=0;--t)g.push(n[o[c[t]][2]]);for(t=+f;t=r&&c.x<=i&&c.y>=u&&c.y<=a?[[r,a],[i,a],[i,u],[r,u]]:[];s.point=n[o]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Pa)*Pa,y:Math.round(a(n,t)/Pa)*Pa,i:t}})}var r=Ce,u=ze,i=r,a=u,o=fl;return n?t(n):(t.links=function(n){return or(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return or(e(n)).cells.forEach(function(e,r){for(var u,i,a=e.site,o=e.edges.sort(Ve),l=-1,c=o.length,s=o[c-1].edge,f=s.l===a?s.r:s.l;++l=c,h=r>=s,g=h<<1|f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=hr()),f?u=c:o=c,h?a=s:l=s,i(n,t,e,r,u,a,o,l)}var s,f,h,g,p,v,d,m,y,M=En(o),x=En(l);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,a)for(g=0;p>g;++g)s=n[g],s.xm&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);v>b&&(v=b),d>_&&(d=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=hr();if(k.add=function(n){i(k,n,+M(n,++g),+x(n,g),v,d,m,y)},k.visit=function(n){gr(n,k,v,d,m,y)},k.find=function(n){return pr(k,n[0],n[1],v,d,m,y)},g=-1,null==t){for(;++g=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=vl.get(e)||pl,r=dl.get(r)||y,br(r(e.apply(null,la.call(arguments,1))))},oa.interpolateHcl=Rr,oa.interpolateHsl=Dr,oa.interpolateLab=Pr,oa.interpolateRound=Ur,oa.transform=function(n){var t=sa.createElementNS(oa.ns.prefix.svg,"g");return(oa.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new jr(e?e.matrix:ml)})(n)},jr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ml={a:1,b:0,c:0,d:1,e:0,f:0};oa.interpolateTransform=$r,oa.layout={},oa.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++eo*o/m){if(v>l){var c=t.charge/l;n.px-=i*c,n.py-=a*c}return!0}if(t.point&&l&&v>l){var c=t.pointCharge/l;n.px-=i*c,n.py-=a*c}}return!t.charge}}function t(n){n.px=oa.event.x,n.py=oa.event.y,l.resume()}var e,r,u,i,a,o,l={},c=oa.dispatch("start","tick","end"),s=[1,1],f=.9,h=yl,g=Ml,p=-30,v=xl,d=.1,m=.64,M=[],x=[];return l.tick=function(){if((u*=.99)<.005)return e=null,c.end({type:"end",alpha:u=0}),!0;var t,r,l,h,g,v,m,y,b,_=M.length,w=x.length;for(r=0;w>r;++r)l=x[r],h=l.source,g=l.target,y=g.x-h.x,b=g.y-h.y,(v=y*y+b*b)&&(v=u*a[r]*((v=Math.sqrt(v))-i[r])/v,y*=v,b*=v,g.x-=y*(m=h.weight+g.weight?h.weight/(h.weight+g.weight):.5),g.y-=b*m,h.x+=y*(m=1-m),h.y+=b*m);if((m=u*d)&&(y=s[0]/2,b=s[1]/2,r=-1,m))for(;++r<_;)l=M[r],l.x+=(y-l.x)*m,l.y+=(b-l.y)*m;if(p)for(ru(t=oa.geom.quadtree(M),u,o),r=-1;++r<_;)(l=M[r]).fixed||t.visit(n(l));for(r=-1;++r<_;)l=M[r],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*f,l.y-=(l.py-(l.py=l.y))*f);c.tick({type:"tick",alpha:u})},l.nodes=function(n){return arguments.length?(M=n,l):M},l.links=function(n){return arguments.length?(x=n,l):x},l.size=function(n){return arguments.length?(s=n,l):s},l.linkDistance=function(n){return arguments.length?(h="function"==typeof n?n:+n,l):h},l.distance=l.linkDistance,l.linkStrength=function(n){return arguments.length?(g="function"==typeof n?n:+n,l):g},l.friction=function(n){return arguments.length?(f=+n,l):f},l.charge=function(n){return arguments.length?(p="function"==typeof n?n:+n,l):p},l.chargeDistance=function(n){return arguments.length?(v=n*n,l):Math.sqrt(v)},l.gravity=function(n){return arguments.length?(d=+n,l):d},l.theta=function(n){return arguments.length?(m=n*n,l):Math.sqrt(m)},l.alpha=function(n){return arguments.length?(n=+n,u?n>0?u=n:(e.c=null,e.t=NaN,e=null,c.end({type:"end",alpha:u=0})):n>0&&(c.start({type:"start",alpha:u=n}),e=qn(l.tick)),l):u},l.start=function(){function n(n,r){if(!e){for(e=new Array(u),l=0;u>l;++l)e[l]=[];for(l=0;c>l;++l){var i=x[l];e[i.source.index].push(i.target),e[i.target.index].push(i.source)}}for(var a,o=e[t],l=-1,s=o.length;++lt;++t)(r=M[t]).index=t,r.weight=0;for(t=0;c>t;++t)r=x[t],"number"==typeof r.source&&(r.source=M[r.source]),"number"==typeof r.target&&(r.target=M[r.target]),++r.source.weight,++r.target.weight;for(t=0;u>t;++t)r=M[t],isNaN(r.x)&&(r.x=n("x",f)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],"function"==typeof h)for(t=0;c>t;++t)i[t]=+h.call(this,x[t],t);else for(t=0;c>t;++t)i[t]=h;if(a=[],"function"==typeof g)for(t=0;c>t;++t)a[t]=+g.call(this,x[t],t);else for(t=0;c>t;++t)a[t]=g;if(o=[],"function"==typeof p)for(t=0;u>t;++t)o[t]=+p.call(this,M[t],t);else for(t=0;u>t;++t)o[t]=p;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){return r||(r=oa.behavior.drag().origin(y).on("dragstart.force",Qr).on("drag.force",t).on("dragend.force",nu)),arguments.length?void this.on("mouseover.force",tu).on("mouseout.force",eu).call(r):r},oa.rebind(l,c,"on")};var yl=20,Ml=1,xl=1/0;oa.layout.hierarchy=function(){function n(u){var i,a=[u],o=[];for(u.depth=0;null!=(i=a.pop());)if(o.push(i),(c=e.call(n,i,i.depth))&&(l=c.length)){for(var l,c,s;--l>=0;)a.push(s=c[l]),s.parent=i,s.depth=i.depth+1;r&&(i.value=0),i.children=c}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return au(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.parent)&&(u.value+=n.value)}),o}var t=cu,e=ou,r=lu;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(iu(t,function(n){n.children&&(n.value=0)}),au(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},oa.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(a=i.length)){var a,o,l,c=-1;for(r=t.value?r/t.value:0;++cf?-1:1),p=oa.sum(c),v=p?(f-l*g)/p:0,d=oa.range(l),m=[];return null!=e&&d.sort(e===bl?function(n,t){return c[t]-c[n]}:function(n,t){return e(a[n],a[t])}),d.forEach(function(n){m[n]={data:a[n],value:o=c[n],startAngle:s,endAngle:s+=o*v+g,padAngle:h}}),m}var t=Number,e=bl,r=0,u=Fa,i=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n.padAngle=function(t){return arguments.length?(i=t,n):i},n};var bl={};oa.layout.stack=function(){function n(o,l){if(!(h=o.length))return o;var c=o.map(function(e,r){return t.call(n,e,r)}),s=c.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),a.call(n,t,e)]})}),f=e.call(n,s,l);c=oa.permute(c,f),s=oa.permute(s,f);var h,g,p,v,d=r.call(n,s,l),m=c[0].length;for(p=0;m>p;++p)for(u.call(n,c[0][p],v=d[p],s[0][p][1]),g=1;h>g;++g)u.call(n,c[g][p],v+=s[g-1][p][1],s[g][p][1]);return o}var t=y,e=pu,r=vu,u=gu,i=fu,a=hu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:_l.get(t)||pu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:wl.get(t)||vu,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(a=t,n):a},n.out=function(t){return arguments.length?(u=t,n):u},n};var _l=oa.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(du),i=n.map(mu),a=oa.range(r).sort(function(n,t){return u[n]-u[t]}),o=0,l=0,c=[],s=[];for(t=0;r>t;++t)e=a[t],l>o?(o+=i[e],c.push(e)):(l+=i[e],s.push(e));return s.reverse().concat(c)},reverse:function(n){return oa.range(n.length).reverse()},"default":pu}),wl=oa.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,a=[],o=0,l=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>o&&(o=r),a.push(r)}for(e=0;i>e;++e)l[e]=(o-a[e])/2;return l},wiggle:function(n){var t,e,r,u,i,a,o,l,c,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=l=c=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,o=f[e][0]-f[e-1][0];s>t;++t){for(r=0,a=(n[t][e][1]-n[t][e-1][1])/(2*o);t>r;++r)a+=(n[r][e][1]-n[r][e-1][1])/o;i+=a*n[t][e][1]}g[e]=l-=u?i/u*o:0,c>l&&(c=l)}for(e=0;h>e;++e)g[e]-=c;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,a=1/u,o=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=a}for(e=0;i>e;++e)o[e]=0;return o},zero:vu});oa.layout.histogram=function(){function n(n,i){for(var a,o,l=[],c=n.map(e,this),s=r.call(this,c,i),f=u.call(this,s,c,i),i=-1,h=c.length,g=f.length-1,p=t?1:1/h;++i0)for(i=-1;++i=s[0]&&o<=s[1]&&(a=l[oa.bisect(f,o,1,g)-1],a.y+=p,a.push(n[i]));return l}var t=!0,e=Number,r=bu,u=Mu;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=En(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return xu(n,t)}:En(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},oa.layout.pack=function(){function n(n,i){var a=e.call(this,n,i),o=a[0],l=u[0],c=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(o.x=o.y=0,au(o,function(n){n.r=+s(n.value)}),au(o,Nu),r){var f=r*(t?1:Math.max(2*o.r/l,2*o.r/c))/2;au(o,function(n){n.r+=f}),au(o,Nu),au(o,function(n){n.r-=f})}return Cu(o,l/2,c/2,t?1:1/Math.max(2*o.r/l,2*o.r/c)),a}var t,e=oa.layout.hierarchy().sort(_u),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},uu(n,e)},oa.layout.tree=function(){function n(n,u){var s=a.call(this,n,u),f=s[0],h=t(f);if(au(h,e),h.parent.m=-h.z,iu(h,r),c)iu(f,i);else{var g=f,p=f,v=f;iu(f,function(n){n.xp.x&&(p=n),n.depth>v.depth&&(v=n)});var d=o(g,p)/2-g.x,m=l[0]/(p.x+o(p,g)/2+d),y=l[1]/(v.depth||1);iu(f,function(n){n.x=(n.x+d)*m,n.y=n.depth*y})}return s}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var u,i=t.children,a=0,o=i.length;o>a;++a)r.push((i[a]=u={_:i[a],parent:t,children:(u=i[a].children)&&u.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:a}).a=u);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Du(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+o(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+o(n._,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,a=t,l=u.parent.children[0],c=u.m,s=i.m,f=a.m,h=l.m;a=Tu(a),u=qu(u),a&&u;)l=qu(l),i=Tu(i),i.a=n,r=a.z+f-u.z-c+o(a._,u._),r>0&&(Ru(Pu(a,n,e),n,r),c+=r,s+=r),f+=a.m,c+=u.m,h+=l.m,s+=i.m;a&&!Tu(i)&&(i.t=a,i.m+=f-s),u&&!qu(l)&&(l.t=u,l.m+=c-h,e=n)}return e}function i(n){n.x*=l[0],n.y=n.depth*l[1]}var a=oa.layout.hierarchy().sort(null).value(null),o=Lu,l=[1,1],c=null;return n.separation=function(t){return arguments.length?(o=t,n):o},n.size=function(t){return arguments.length?(c=null==(l=t)?i:null,n):c?null:l},n.nodeSize=function(t){return arguments.length?(c=null==(l=t)?null:i,n):c?l:null},uu(n,a)},oa.layout.cluster=function(){function n(n,i){var a,o=t.call(this,n,i),l=o[0],c=0;au(l,function(n){var t=n.children;t&&t.length?(n.x=ju(t),n.y=Uu(t)):(n.x=a?c+=e(n,a):0,n.y=0,a=n)});var s=Fu(l),f=Hu(l),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return au(l,u?function(n){n.x=(n.x-l.x)*r[0],n.y=(l.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(l.y?n.y/l.y:1))*r[1]}),o}var t=oa.layout.hierarchy().sort(null).value(null),e=Lu,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},uu(n,t)},oa.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++ut?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var a,o,l,c=f(e),s=[],h=i.slice(),p=1/0,v="slice"===g?c.dx:"dice"===g?c.dy:"slice-dice"===g?1&e.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(n(h,c.dx*c.dy/e.value),s.area=0;(l=h.length)>0;)s.push(a=h[l-1]),s.area+=a.area,"squarify"!==g||(o=r(s,v))<=p?(h.pop(),p=o):(s.area-=s.pop().area,u(s,v,c,!1),v=Math.min(c.dx,c.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,v,c,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,a=f(t),o=r.slice(),l=[];for(n(o,a.dx*a.dy/t.value),l.area=0;i=o.pop();)l.push(i),l.area+=i.area,null!=i.z&&(u(l,i.z?a.dx:a.dy,a,!o.length),l.length=l.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,a=-1,o=n.length;++ae&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,a=n.length,o=e.x,c=e.y,s=t?l(n.area/t):0; -if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++ie.dx)&&(s=e.dx);++ie&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=oa.random.normal.apply(oa,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=oa.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},oa.scale={};var Sl={floor:y,ceil:y};oa.scale.linear=function(){return Wu([0,1],[0,1],Mr,!1)};var kl={s:1,g:1,p:1,r:1,e:1};oa.scale.log=function(){return ri(oa.scale.linear().domain([0,1]),10,!0,[1,10])};var Nl=oa.format(".0e"),El={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};oa.scale.pow=function(){return ui(oa.scale.linear(),1,[0,1])},oa.scale.sqrt=function(){return oa.scale.pow().exponent(.5)},oa.scale.ordinal=function(){return ai([],{t:"range",a:[[]]})},oa.scale.category10=function(){return oa.scale.ordinal().range(Al)},oa.scale.category20=function(){return oa.scale.ordinal().range(Cl)},oa.scale.category20b=function(){return oa.scale.ordinal().range(zl)},oa.scale.category20c=function(){return oa.scale.ordinal().range(Ll)};var Al=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(xn),Cl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(xn),zl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(xn),Ll=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(xn);oa.scale.quantile=function(){return oi([],[])},oa.scale.quantize=function(){return li(0,1,[0,1])},oa.scale.threshold=function(){return ci([.5],[0,1])},oa.scale.identity=function(){return si([0,1])},oa.svg={},oa.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),s=a.apply(this,arguments)-Oa,f=o.apply(this,arguments)-Oa,h=Math.abs(f-s),g=s>f?0:1;if(n>c&&(p=c,c=n,n=p),h>=Ha)return t(c,g)+(n?t(n,1-g):"")+"Z";var p,v,d,m,y,M,x,b,_,w,S,k,N=0,E=0,A=[];if((m=(+l.apply(this,arguments)||0)/2)&&(d=i===ql?Math.sqrt(n*n+c*c):+i.apply(this,arguments),g||(E*=-1),c&&(E=tn(d/c*Math.sin(m))),n&&(N=tn(d/n*Math.sin(m)))),c){y=c*Math.cos(s+E),M=c*Math.sin(s+E),x=c*Math.cos(f-E),b=c*Math.sin(f-E);var C=Math.abs(f-s-2*E)<=ja?0:1;if(E&&mi(y,M,x,b)===g^C){var z=(s+f)/2;y=c*Math.cos(z),M=c*Math.sin(z),x=b=null}}else y=M=0;if(n){_=n*Math.cos(f-N),w=n*Math.sin(f-N),S=n*Math.cos(s+N),k=n*Math.sin(s+N);var L=Math.abs(s-f+2*N)<=ja?0:1;if(N&&mi(_,w,S,k)===1-g^L){var q=(s+f)/2;_=n*Math.cos(q),w=n*Math.sin(q),S=k=null}}else _=w=0;if(h>Pa&&(p=Math.min(Math.abs(c-n)/2,+u.apply(this,arguments)))>.001){v=c>n^g?0:1;var T=p,R=p;if(ja>h){var D=null==S?[_,w]:null==x?[y,M]:Re([y,M],[S,k],[x,b],[_,w]),P=y-D[0],U=M-D[1],j=x-D[0],F=b-D[1],H=1/Math.sin(Math.acos((P*j+U*F)/(Math.sqrt(P*P+U*U)*Math.sqrt(j*j+F*F)))/2),O=Math.sqrt(D[0]*D[0]+D[1]*D[1]);R=Math.min(p,(n-O)/(H-1)),T=Math.min(p,(c-O)/(H+1))}if(null!=x){var I=yi(null==S?[_,w]:[S,k],[y,M],c,T,g),Y=yi([x,b],[_,w],c,T,g);p===T?A.push("M",I[0],"A",T,",",T," 0 0,",v," ",I[1],"A",c,",",c," 0 ",1-g^mi(I[1][0],I[1][1],Y[1][0],Y[1][1]),",",g," ",Y[1],"A",T,",",T," 0 0,",v," ",Y[0]):A.push("M",I[0],"A",T,",",T," 0 1,",v," ",Y[0])}else A.push("M",y,",",M);if(null!=S){var Z=yi([y,M],[S,k],n,-R,g),V=yi([_,w],null==x?[y,M]:[x,b],n,-R,g);p===R?A.push("L",V[0],"A",R,",",R," 0 0,",v," ",V[1],"A",n,",",n," 0 ",g^mi(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-g," ",Z[1],"A",R,",",R," 0 0,",v," ",Z[0]):A.push("L",V[0],"A",R,",",R," 0 0,",v," ",Z[0])}else A.push("L",_,",",w)}else A.push("M",y,",",M),null!=x&&A.push("A",c,",",c," 0 ",C,",",g," ",x,",",b),A.push("L",_,",",w),null!=S&&A.push("A",n,",",n," 0 ",L,",",1-g," ",S,",",k);return A.push("Z"),A.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=hi,r=gi,u=fi,i=ql,a=pi,o=vi,l=di;return n.innerRadius=function(t){return arguments.length?(e=En(t),n):e},n.outerRadius=function(t){return arguments.length?(r=En(t),n):r},n.cornerRadius=function(t){return arguments.length?(u=En(t),n):u},n.padRadius=function(t){return arguments.length?(i=t==ql?ql:En(t),n):i},n.startAngle=function(t){return arguments.length?(a=En(t),n):a},n.endAngle=function(t){return arguments.length?(o=En(t),n):o},n.padAngle=function(t){return arguments.length?(l=En(t),n):l},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+a.apply(this,arguments)+ +o.apply(this,arguments))/2-Oa;return[Math.cos(t)*n,Math.sin(t)*n]},n};var ql="auto";oa.svg.line=function(){return Mi(y)};var Tl=oa.map({linear:xi,"linear-closed":bi,step:_i,"step-before":wi,"step-after":Si,basis:zi,"basis-open":Li,"basis-closed":qi,bundle:Ti,cardinal:Ei,"cardinal-open":ki,"cardinal-closed":Ni,monotone:Fi});Tl.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Rl=[0,2/3,1/3,0],Dl=[0,1/3,2/3,0],Pl=[0,1/6,2/3,1/6];oa.svg.line.radial=function(){var n=Mi(Hi);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},wi.reverse=Si,Si.reverse=wi,oa.svg.area=function(){return Oi(y)},oa.svg.area.radial=function(){var n=Oi(Hi);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},oa.svg.chord=function(){function n(n,o){var l=t(this,i,n,o),c=t(this,a,n,o);return"M"+l.p0+r(l.r,l.p1,l.a1-l.a0)+(e(l,c)?u(l.r,l.p1,l.r,l.p0):u(l.r,l.p1,c.r,c.p0)+r(c.r,c.p1,c.a1-c.a0)+u(c.r,c.p1,l.r,l.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=o.call(n,u,r),a=l.call(n,u,r)-Oa,s=c.call(n,u,r)-Oa;return{r:i,a0:a,a1:s,p0:[i*Math.cos(a),i*Math.sin(a)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>ja)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=Me,a=xe,o=Ii,l=pi,c=vi;return n.radius=function(t){return arguments.length?(o=En(t),n):o},n.source=function(t){return arguments.length?(i=En(t),n):i},n.target=function(t){return arguments.length?(a=En(t),n):a},n.startAngle=function(t){return arguments.length?(l=En(t),n):l},n.endAngle=function(t){return arguments.length?(c=En(t),n):c},n},oa.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),a=e.call(this,n,u),o=(i.y+a.y)/2,l=[i,{x:i.x,y:o},{x:a.x,y:o},a];return l=l.map(r),"M"+l[0]+"C"+l[1]+" "+l[2]+" "+l[3]}var t=Me,e=xe,r=Yi;return n.source=function(e){return arguments.length?(t=En(e),n):t},n.target=function(t){return arguments.length?(e=En(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},oa.svg.diagonal.radial=function(){var n=oa.svg.diagonal(),t=Yi,e=n.projection;return n.projection=function(n){return arguments.length?e(Zi(t=n)):t},n},oa.svg.symbol=function(){function n(n,r){return(Ul.get(t.call(this,n,r))||$i)(e.call(this,n,r))}var t=Xi,e=Vi;return n.type=function(e){return arguments.length?(t=En(e),n):t},n.size=function(t){return arguments.length?(e=En(t),n):e},n};var Ul=oa.map({circle:$i,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Fl)),e=t*Fl;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});oa.svg.symbolTypes=Ul.keys();var jl=Math.sqrt(3),Fl=Math.tan(30*Ia);Aa.transition=function(n){for(var t,e,r=Hl||++Zl,u=Ki(n),i=[],a=Ol||{time:Date.now(),ease:Nr,delay:0,duration:250},o=-1,l=this.length;++oi;i++){u.push(t=[]);for(var e=this[i],o=0,l=e.length;l>o;o++)(r=e[o])&&n.call(r,r.__data__,o,i)&&t.push(r)}return Wi(u,this.namespace,this.id)},Yl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(u){u[r][e].tween.set(n,t)})},Yl.attr=function(n,t){function e(){this.removeAttribute(o)}function r(){this.removeAttributeNS(o.space,o.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(o);return e!==n&&(t=a(e,n),function(n){this.setAttribute(o,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(o.space,o.local);return e!==n&&(t=a(e,n),function(n){this.setAttributeNS(o.space,o.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var a="transform"==n?$r:Mr,o=oa.ns.qualify(n);return Ji(this,"attr."+n,t,o.local?i:u)},Yl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=oa.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Yl.style=function(n,e,r){function u(){this.style.removeProperty(n)}function i(e){return null==e?u:(e+="",function(){var u,i=t(this).getComputedStyle(this,null).getPropertyValue(n);return i!==e&&(u=Mr(i,e),function(t){this.style.setProperty(n,u(t),r)})})}var a=arguments.length;if(3>a){if("string"!=typeof n){2>a&&(e="");for(r in n)this.style(r,n[r],e);return this}r=""}return Ji(this,"style."+n,e,i)},Yl.styleTween=function(n,e,r){function u(u,i){var a=e.call(this,u,i,t(this).getComputedStyle(this,null).getPropertyValue(n));return a&&function(t){this.style.setProperty(n,a(t),r)}}return arguments.length<3&&(r=""),this.tween("style."+n,u)},Yl.text=function(n){return Ji(this,"text",n,Gi)},Yl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Yl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=oa.ease.apply(oa,arguments)),Y(this,function(r){r[e][t].ease=n}))},Yl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:Y(this,"function"==typeof n?function(r,u,i){r[e][t].delay=+n.call(r,r.__data__,u,i)}:(n=+n,function(r){r[e][t].delay=n}))},Yl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:Y(this,"function"==typeof n?function(r,u,i){r[e][t].duration=Math.max(1,n.call(r,r.__data__,u,i))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Yl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var u=Ol,i=Hl;try{Hl=e,Y(this,function(t,u,i){Ol=t[r][e],n.call(t,t.__data__,u,i)})}finally{Ol=u,Hl=i}}else Y(this,function(u){var i=u[r][e];(i.event||(i.event=oa.dispatch("start","end","interrupt"))).on(n,t)});return this},Yl.transition=function(){for(var n,t,e,r,u=this.id,i=++Zl,a=this.namespace,o=[],l=0,c=this.length;c>l;l++){o.push(n=[]);for(var t=this[l],s=0,f=t.length;f>s;s++)(e=t[s])&&(r=e[a][u],Qi(e,s,a,i,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Wi(o,a,i)},oa.svg.axis=function(){function n(n){n.each(function(){var n,c=oa.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==l?f.ticks?f.ticks.apply(f,o):f.domain():l,g=null==t?f.tickFormat?f.tickFormat.apply(f,o):y:t,p=c.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Pa),d=oa.transition(p.exit()).style("opacity",Pa).remove(),m=oa.transition(p.order()).style("opacity",1),M=Math.max(u,0)+a,x=Zu(f),b=c.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),oa.transition(b));v.append("line"),v.append("text");var w,S,k,N,E=v.select("line"),A=m.select("line"),C=p.select("text").text(g),z=v.select("text"),L=m.select("text"),q="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=na,w="x",k="y",S="x2",N="y2",C.attr("dy",0>q?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+q*i+"V0H"+x[1]+"V"+q*i)):(n=ta,w="y",k="x",S="y2",N="x2",C.attr("dy",".32em").style("text-anchor",0>q?"end":"start"),_.attr("d","M"+q*i+","+x[0]+"H0V"+x[1]+"H"+q*i)),E.attr(N,q*u),z.attr(k,q*M),A.attr(S,0).attr(N,q*u),L.attr(w,0).attr(k,q*M),f.rangeBand){var T=f,R=T.rangeBand()/2;s=f=function(n){return T(n)+R}}else s.rangeBand?s=f:d.call(n,f,s);v.call(n,s,f),m.call(n,f,f)})}var t,e=oa.scale.linear(),r=Vl,u=6,i=6,a=3,o=[10],l=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xl?t+"":Vl,n):r},n.ticks=function(){return arguments.length?(o=ca(arguments),n):o},n.tickValues=function(t){return arguments.length?(l=t,n):l},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(a=+t,n):a},n.tickSubdivide=function(){return arguments.length&&n},n};var Vl="bottom",Xl={top:1,right:1,bottom:1,left:1};oa.svg.brush=function(){function n(t){t.each(function(){var t=oa.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",i).on("touchstart.brush",i),a=t.selectAll(".background").data([0]);a.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var o=t.selectAll(".resize").data(v,y);o.exit().remove(),o.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $l[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),o.style("display",n.empty()?"none":null);var l,f=oa.transition(t),h=oa.transition(a);c&&(l=Zu(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),r(f)),s&&(l=Zu(s),h.attr("y",l[0]).attr("height",l[1]-l[0]),u(f)),e(f)})}function e(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+f[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function r(n){n.select(".extent").attr("x",f[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",f[1]-f[0])}function u(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function i(){function i(){32==oa.event.keyCode&&(C||(M=null,L[0]-=f[1],L[1]-=h[1],C=2),S())}function v(){32==oa.event.keyCode&&2==C&&(L[0]+=f[1],L[1]+=h[1],C=0,S())}function d(){var n=oa.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(oa.event.altKey?(M||(M=[(f[0]+f[1])/2,(h[0]+h[1])/2]),L[0]=f[+(n[0]s?(u=r,r=s):u=s),v[0]!=r||v[1]!=u?(e?o=null:a=null,v[0]=r,v[1]=u,!0):void 0}function y(){d(),k.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),oa.select("body").style("cursor",null),q.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),z(),w({type:"brushend"})}var M,x,b=this,_=oa.select(oa.event.target),w=l.of(b,arguments),k=oa.select(b),N=_.datum(),E=!/^(n|s)$/.test(N)&&c,A=!/^(e|w)$/.test(N)&&s,C=_.classed("extent"),z=W(b),L=oa.mouse(b),q=oa.select(t(b)).on("keydown.brush",i).on("keyup.brush",v);if(oa.event.changedTouches?q.on("touchmove.brush",d).on("touchend.brush",y):q.on("mousemove.brush",d).on("mouseup.brush",y),k.interrupt().selectAll("*").interrupt(),C)L[0]=f[0]-L[0],L[1]=h[0]-L[1];else if(N){var T=+/w$/.test(N),R=+/^n/.test(N);x=[f[1-T]-L[0],h[1-R]-L[1]],L[0]=f[T],L[1]=h[R]}else oa.event.altKey&&(M=L.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),oa.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),d()}var a,o,l=N(n,"brushstart","brush","brushend"),c=null,s=null,f=[0,0],h=[0,0],g=!0,p=!0,v=Bl[0];return n.event=function(n){n.each(function(){var n=l.of(this,arguments),t={x:f,y:h,i:a,j:o},e=this.__chart__||t;this.__chart__=t,Hl?oa.select(this).transition().each("start.brush",function(){a=e.i,o=e.j,f=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=xr(f,t.x),r=xr(h,t.y);return a=o=null,function(u){f=t.x=e(u),h=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){a=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bl[!c<<1|!s],n):c},n.y=function(t){return arguments.length?(s=t,v=Bl[!c<<1|!s],n):s},n.clamp=function(t){return arguments.length?(c&&s?(g=!!t[0],p=!!t[1]):c?g=!!t:s&&(p=!!t),n):c&&s?[g,p]:c?g:s?p:null},n.extent=function(t){var e,r,u,i,l;return arguments.length?(c&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),a=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(l=e,e=r,r=l),(e!=f[0]||r!=f[1])&&(f=[e,r])),s&&(u=t[0],i=t[1],c&&(u=u[1],i=i[1]),o=[u,i],s.invert&&(u=s(u),i=s(i)),u>i&&(l=u,u=i,i=l),(u!=h[0]||i!=h[1])&&(h=[u,i])),n):(c&&(a?(e=a[0],r=a[1]):(e=f[0],r=f[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(l=e,e=r,r=l))),s&&(o?(u=o[0],i=o[1]):(u=h[0],i=h[1],s.invert&&(u=s.invert(u),i=s.invert(i)),u>i&&(l=u,u=i,i=l))),c&&s?[[e,u],[r,i]]:c?[e,r]:s&&[u,i])},n.clear=function(){return n.empty()||(f=[0,0],h=[0,0],a=o=null),n},n.empty=function(){return!!c&&f[0]==f[1]||!!s&&h[0]==h[1]},oa.rebind(n,l,"on")};var $l={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bl=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wl=go.format=xo.timeFormat,Jl=Wl.utc,Gl=Jl("%Y-%m-%dT%H:%M:%S.%LZ");Wl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?ea:Gl,ea.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},ea.toString=Gl.toString,go.second=On(function(n){return new po(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),go.seconds=go.second.range,go.seconds.utc=go.second.utc.range,go.minute=On(function(n){return new po(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),go.minutes=go.minute.range,go.minutes.utc=go.minute.utc.range,go.hour=On(function(n){var t=n.getTimezoneOffset()/60;return new po(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),go.hours=go.hour.range,go.hours.utc=go.hour.utc.range,go.month=On(function(n){return n=go.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),go.months=go.month.range,go.months.utc=go.month.utc.range;var Kl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ql=[[go.second,1],[go.second,5],[go.second,15],[go.second,30],[go.minute,1],[go.minute,5],[go.minute,15],[go.minute,30],[go.hour,1],[go.hour,3],[go.hour,6],[go.hour,12],[go.day,1],[go.day,2],[go.week,1],[go.month,1],[go.month,3],[go.year,1]],nc=Wl.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",zt]]),tc={range:function(n,t,e){return oa.range(Math.ceil(n/e)*e,+t,e).map(ua)},floor:y,ceil:y};Ql.year=go.year,go.scale=function(){return ra(oa.scale.linear(),Ql,nc)};var ec=Ql.map(function(n){return[n[0].utc,n[1]]}),rc=Jl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",zt]]);ec.year=go.year.utc,go.scale.utc=function(){return ra(oa.scale.linear(),ec,rc)},oa.text=An(function(n){return n.responseText}),oa.json=function(n,t){return Cn(n,"application/json",ia,t)},oa.html=function(n,t){return Cn(n,"text/html",aa,t)},oa.xml=An(function(n){return n.responseXML}),"function"==typeof define&&define.amd?(this.d3=oa,define(oa)):"object"==typeof module&&module.exports?module.exports=oa:this.d3=oa}(); \ No newline at end of file +// https://d3js.org v7.9.0 Copyright 2010-2023 Mike Bostock +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).d3=t.d3||{})}(this,(function(t){"use strict";function n(t,n){return null==t||null==n?NaN:tn?1:t>=n?0:NaN}function e(t,n){return null==t||null==n?NaN:nt?1:n>=t?0:NaN}function r(t){let r,o,a;function u(t,n,e=0,i=t.length){if(e>>1;o(t[r],n)<0?e=r+1:i=r}while(en(t(e),r),a=(n,e)=>t(n)-e):(r=t===n||t===e?t:i,o=t,a=t),{left:u,center:function(t,n,e=0,r=t.length){const i=u(t,n,e,r-1);return i>e&&a(t[i-1],n)>-a(t[i],n)?i-1:i},right:function(t,n,e=0,i=t.length){if(e>>1;o(t[r],n)<=0?e=r+1:i=r}while(e{n(t,e,(r<<=2)+0,(i<<=2)+0,o<<=2),n(t,e,r+1,i+1,o),n(t,e,r+2,i+2,o),n(t,e,r+3,i+3,o)}}));function d(t){return function(n,e,r=e){if(!((e=+e)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:i,width:o,height:a}=n;if(!((o=Math.floor(o))>=0))throw new RangeError("invalid width");if(!((a=Math.floor(void 0!==a?a:i.length/o))>=0))throw new RangeError("invalid height");if(!o||!a||!e&&!r)return n;const u=e&&t(e),c=r&&t(r),f=i.slice();return u&&c?(p(u,f,i,o,a),p(u,i,f,o,a),p(u,f,i,o,a),g(c,i,f,o,a),g(c,f,i,o,a),g(c,i,f,o,a)):u?(p(u,i,f,o,a),p(u,f,i,o,a),p(u,i,f,o,a)):c&&(g(c,i,f,o,a),g(c,f,i,o,a),g(c,i,f,o,a)),n}}function p(t,n,e,r,i){for(let o=0,a=r*i;o{if(!((o-=a)>=i))return;let u=t*r[i];const c=a*t;for(let t=i,n=i+c;t{if(!((a-=u)>=o))return;let c=n*i[o];const f=u*n,s=f+u;for(let t=o,n=o+f;t=n&&++e;else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(i=+i)>=i&&++e}return e}function _(t){return 0|t.length}function b(t){return!(t>0)}function m(t){return"object"!=typeof t||"length"in t?t:Array.from(t)}function x(t,n){let e,r=0,i=0,o=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(e=n-i,i+=e/++r,o+=e*(n-i));else{let a=-1;for(let u of t)null!=(u=n(u,++a,t))&&(u=+u)>=u&&(e=u-i,i+=e/++r,o+=e*(u-i))}if(r>1)return o/(r-1)}function w(t,n){const e=x(t,n);return e?Math.sqrt(e):e}function M(t,n){let e,r;if(void 0===n)for(const n of t)null!=n&&(void 0===e?n>=n&&(e=r=n):(e>n&&(e=n),r=o&&(e=r=o):(e>o&&(e=o),r0){for(o=t[--i];i>0&&(n=o,e=t[--i],o=n+e,r=e-(o-n),!r););i>0&&(r<0&&t[i-1]<0||r>0&&t[i-1]>0)&&(e=2*r,n=o+e,e==n-o&&(o=n))}return o}}class InternMap extends Map{constructor(t,n=N){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),null!=t)for(const[n,e]of t)this.set(n,e)}get(t){return super.get(A(this,t))}has(t){return super.has(A(this,t))}set(t,n){return super.set(S(this,t),n)}delete(t){return super.delete(E(this,t))}}class InternSet extends Set{constructor(t,n=N){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),null!=t)for(const n of t)this.add(n)}has(t){return super.has(A(this,t))}add(t){return super.add(S(this,t))}delete(t){return super.delete(E(this,t))}}function A({_intern:t,_key:n},e){const r=n(e);return t.has(r)?t.get(r):e}function S({_intern:t,_key:n},e){const r=n(e);return t.has(r)?t.get(r):(t.set(r,e),e)}function E({_intern:t,_key:n},e){const r=n(e);return t.has(r)&&(e=t.get(r),t.delete(r)),e}function N(t){return null!==t&&"object"==typeof t?t.valueOf():t}function k(t){return t}function C(t,...n){return F(t,k,k,n)}function P(t,...n){return F(t,Array.from,k,n)}function z(t,n){for(let e=1,r=n.length;et.pop().map((([n,e])=>[...t,n,e]))));return t}function $(t,n,...e){return F(t,k,n,e)}function D(t,n,...e){return F(t,Array.from,n,e)}function R(t){if(1!==t.length)throw new Error("duplicate key");return t[0]}function F(t,n,e,r){return function t(i,o){if(o>=r.length)return e(i);const a=new InternMap,u=r[o++];let c=-1;for(const t of i){const n=u(t,++c,i),e=a.get(n);e?e.push(t):a.set(n,[t])}for(const[n,e]of a)a.set(n,t(e,o));return n(a)}(t,0)}function q(t,n){return Array.from(n,(n=>t[n]))}function U(t,...n){if("function"!=typeof t[Symbol.iterator])throw new TypeError("values is not iterable");t=Array.from(t);let[e]=n;if(e&&2!==e.length||n.length>1){const r=Uint32Array.from(t,((t,n)=>n));return n.length>1?(n=n.map((n=>t.map(n))),r.sort(((t,e)=>{for(const r of n){const n=O(r[t],r[e]);if(n)return n}}))):(e=t.map(e),r.sort(((t,n)=>O(e[t],e[n])))),q(t,r)}return t.sort(I(e))}function I(t=n){if(t===n)return O;if("function"!=typeof t)throw new TypeError("compare is not a function");return(n,e)=>{const r=t(n,e);return r||0===r?r:(0===t(e,e))-(0===t(n,n))}}function O(t,n){return(null==t||!(t>=t))-(null==n||!(n>=n))||(tn?1:0)}var B=Array.prototype.slice;function Y(t){return()=>t}const L=Math.sqrt(50),j=Math.sqrt(10),H=Math.sqrt(2);function X(t,n,e){const r=(n-t)/Math.max(0,e),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=L?10:o>=j?5:o>=H?2:1;let u,c,f;return i<0?(f=Math.pow(10,-i)/a,u=Math.round(t*f),c=Math.round(n*f),u/fn&&--c,f=-f):(f=Math.pow(10,i)*a,u=Math.round(t/f),c=Math.round(n/f),u*fn&&--c),c0))return[];if((t=+t)===(n=+n))return[t];const r=n=i))return[];const u=o-i+1,c=new Array(u);if(r)if(a<0)for(let t=0;t0?(t=Math.floor(t/i)*i,n=Math.ceil(n/i)*i):i<0&&(t=Math.ceil(t*i)/i,n=Math.floor(n*i)/i),r=i}}function K(t){return Math.max(1,Math.ceil(Math.log(v(t))/Math.LN2)+1)}function Q(){var t=k,n=M,e=K;function r(r){Array.isArray(r)||(r=Array.from(r));var i,o,a,u=r.length,c=new Array(u);for(i=0;i=h)if(t>=h&&n===M){const t=V(l,h,e);isFinite(t)&&(t>0?h=(Math.floor(h/t)+1)*t:t<0&&(h=(Math.ceil(h*-t)+1)/-t))}else d.pop()}for(var p=d.length,g=0,y=p;d[g]<=l;)++g;for(;d[y-1]>h;)--y;(g||y0?d[i-1]:l,v.x1=i0)for(i=0;i=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e=i)&&(e=i)}return e}function tt(t,n){let e,r=-1,i=-1;if(void 0===n)for(const n of t)++i,null!=n&&(e=n)&&(e=n,r=i);else for(let o of t)null!=(o=n(o,++i,t))&&(e=o)&&(e=o,r=i);return r}function nt(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e>i||void 0===e&&i>=i)&&(e=i)}return e}function et(t,n){let e,r=-1,i=-1;if(void 0===n)for(const n of t)++i,null!=n&&(e>n||void 0===e&&n>=n)&&(e=n,r=i);else for(let o of t)null!=(o=n(o,++i,t))&&(e>o||void 0===e&&o>=o)&&(e=o,r=i);return r}function rt(t,n,e=0,r=1/0,i){if(n=Math.floor(n),e=Math.floor(Math.max(0,e)),r=Math.floor(Math.min(t.length-1,r)),!(e<=n&&n<=r))return t;for(i=void 0===i?O:I(i);r>e;){if(r-e>600){const o=r-e+1,a=n-e+1,u=Math.log(o),c=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*c*(o-c)/o)*(a-o/2<0?-1:1);rt(t,n,Math.max(e,Math.floor(n-a*c/o+f)),Math.min(r,Math.floor(n+(o-a)*c/o+f)),i)}const o=t[n];let a=e,u=r;for(it(t,e,n),i(t[r],o)>0&&it(t,e,r);a0;)--u}0===i(t[e],o)?it(t,e,u):(++u,it(t,u,r)),u<=n&&(e=u+1),n<=u&&(r=u-1)}return t}function it(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function ot(t,e=n){let r,i=!1;if(1===e.length){let o;for(const a of t){const t=e(a);(i?n(t,o)>0:0===n(t,t))&&(r=a,o=t,i=!0)}}else for(const n of t)(i?e(n,r)>0:0===e(n,n))&&(r=n,i=!0);return r}function at(t,n,e){if(t=Float64Array.from(function*(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let e=-1;for(let r of t)null!=(r=n(r,++e,t))&&(r=+r)>=r&&(yield r)}}(t,e)),(r=t.length)&&!isNaN(n=+n)){if(n<=0||r<2)return nt(t);if(n>=1)return J(t);var r,i=(r-1)*n,o=Math.floor(i),a=J(rt(t,o).subarray(0,o+1));return a+(nt(t.subarray(o+1))-a)*(i-o)}}function ut(t,n,e=o){if((r=t.length)&&!isNaN(n=+n)){if(n<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,a=Math.floor(i),u=+e(t[a],a,t);return u+(+e(t[a+1],a+1,t)-u)*(i-a)}}function ct(t,n,e=o){if(!isNaN(n=+n)){if(r=Float64Array.from(t,((n,r)=>o(e(t[r],r,t)))),n<=0)return et(r);if(n>=1)return tt(r);var r,i=Uint32Array.from(t,((t,n)=>n)),a=r.length-1,u=Math.floor(a*n);return rt(i,u,0,a,((t,n)=>O(r[t],r[n]))),(u=ot(i.subarray(0,u+1),(t=>r[t])))>=0?u:-1}}function ft(t){return Array.from(function*(t){for(const n of t)yield*n}(t))}function st(t,n){return[t,n]}function lt(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(i);++r+t(n)}function kt(t,n){return n=Math.max(0,t.bandwidth()-2*n)/2,t.round()&&(n=Math.round(n)),e=>+t(e)+n}function Ct(){return!this.__axis}function Pt(t,n){var e=[],r=null,i=null,o=6,a=6,u=3,c="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,f=t===xt||t===Tt?-1:1,s=t===Tt||t===wt?"x":"y",l=t===xt||t===Mt?St:Et;function h(h){var d=null==r?n.ticks?n.ticks.apply(n,e):n.domain():r,p=null==i?n.tickFormat?n.tickFormat.apply(n,e):mt:i,g=Math.max(o,0)+u,y=n.range(),v=+y[0]+c,_=+y[y.length-1]+c,b=(n.bandwidth?kt:Nt)(n.copy(),c),m=h.selection?h.selection():h,x=m.selectAll(".domain").data([null]),w=m.selectAll(".tick").data(d,n).order(),M=w.exit(),T=w.enter().append("g").attr("class","tick"),A=w.select("line"),S=w.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),w=w.merge(T),A=A.merge(T.append("line").attr("stroke","currentColor").attr(s+"2",f*o)),S=S.merge(T.append("text").attr("fill","currentColor").attr(s,f*g).attr("dy",t===xt?"0em":t===Mt?"0.71em":"0.32em")),h!==m&&(x=x.transition(h),w=w.transition(h),A=A.transition(h),S=S.transition(h),M=M.transition(h).attr("opacity",At).attr("transform",(function(t){return isFinite(t=b(t))?l(t+c):this.getAttribute("transform")})),T.attr("opacity",At).attr("transform",(function(t){var n=this.parentNode.__axis;return l((n&&isFinite(n=n(t))?n:b(t))+c)}))),M.remove(),x.attr("d",t===Tt||t===wt?a?"M"+f*a+","+v+"H"+c+"V"+_+"H"+f*a:"M"+c+","+v+"V"+_:a?"M"+v+","+f*a+"V"+c+"H"+_+"V"+f*a:"M"+v+","+c+"H"+_),w.attr("opacity",1).attr("transform",(function(t){return l(b(t)+c)})),A.attr(s+"2",f*o),S.attr(s,f*g).text(p),m.filter(Ct).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===wt?"start":t===Tt?"end":"middle"),m.each((function(){this.__axis=b}))}return h.scale=function(t){return arguments.length?(n=t,h):n},h.ticks=function(){return e=Array.from(arguments),h},h.tickArguments=function(t){return arguments.length?(e=null==t?[]:Array.from(t),h):e.slice()},h.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(t),h):r&&r.slice()},h.tickFormat=function(t){return arguments.length?(i=t,h):i},h.tickSize=function(t){return arguments.length?(o=a=+t,h):o},h.tickSizeInner=function(t){return arguments.length?(o=+t,h):o},h.tickSizeOuter=function(t){return arguments.length?(a=+t,h):a},h.tickPadding=function(t){return arguments.length?(u=+t,h):u},h.offset=function(t){return arguments.length?(c=+t,h):c},h}var zt={value:()=>{}};function $t(){for(var t,n=0,e=arguments.length,r={};n=0&&(n=t.slice(e+1),t=t.slice(0,e)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))),a=-1,u=o.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++a0)for(var e,r,i=new Array(e),o=0;o=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),Ut.hasOwnProperty(n)?{space:Ut[n],local:t}:t}function Ot(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===qt&&n.documentElement.namespaceURI===qt?n.createElement(t):n.createElementNS(e,t)}}function Bt(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Yt(t){var n=It(t);return(n.local?Bt:Ot)(n)}function Lt(){}function jt(t){return null==t?Lt:function(){return this.querySelector(t)}}function Ht(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function Xt(){return[]}function Gt(t){return null==t?Xt:function(){return this.querySelectorAll(t)}}function Vt(t){return function(){return this.matches(t)}}function Wt(t){return function(n){return n.matches(t)}}var Zt=Array.prototype.find;function Kt(){return this.firstElementChild}var Qt=Array.prototype.filter;function Jt(){return Array.from(this.children)}function tn(t){return new Array(t.length)}function nn(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function en(t,n,e,r,i,o){for(var a,u=0,c=n.length,f=o.length;un?1:t>=n?0:NaN}function cn(t){return function(){this.removeAttribute(t)}}function fn(t){return function(){this.removeAttributeNS(t.space,t.local)}}function sn(t,n){return function(){this.setAttribute(t,n)}}function ln(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function hn(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function dn(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function pn(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function gn(t){return function(){this.style.removeProperty(t)}}function yn(t,n,e){return function(){this.style.setProperty(t,n,e)}}function vn(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function _n(t,n){return t.style.getPropertyValue(n)||pn(t).getComputedStyle(t,null).getPropertyValue(n)}function bn(t){return function(){delete this[t]}}function mn(t,n){return function(){this[t]=n}}function xn(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function wn(t){return t.trim().split(/^|\s+/)}function Mn(t){return t.classList||new Tn(t)}function Tn(t){this._node=t,this._names=wn(t.getAttribute("class")||"")}function An(t,n){for(var e=Mn(t),r=-1,i=n.length;++r=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var Gn=[null];function Vn(t,n){this._groups=t,this._parents=n}function Wn(){return new Vn([[document.documentElement]],Gn)}function Zn(t){return"string"==typeof t?new Vn([[document.querySelector(t)]],[document.documentElement]):new Vn([[t]],Gn)}Vn.prototype=Wn.prototype={constructor:Vn,select:function(t){"function"!=typeof t&&(t=jt(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i=m&&(m=b+1);!(_=y[m])&&++m=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=un);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o1?this.each((null==n?gn:"function"==typeof n?vn:yn)(t,n,null==e?"":e)):_n(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?bn:"function"==typeof n?xn:mn)(t,n)):this.node()[t]},classed:function(t,n){var e=wn(t+"");if(arguments.length<2){for(var r=Mn(this.node()),i=-1,o=e.length;++i=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}(t+""),a=o.length;if(!(arguments.length<2)){for(u=n?Ln:Yn,r=0;r()=>t;function fe(t,{sourceEvent:n,subject:e,target:r,identifier:i,active:o,x:a,y:u,dx:c,dy:f,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:s}})}function se(t){return!t.ctrlKey&&!t.button}function le(){return this.parentNode}function he(t,n){return null==n?{x:t.x,y:t.y}:n}function de(){return navigator.maxTouchPoints||"ontouchstart"in this}function pe(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function ge(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function ye(){}fe.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var ve=.7,_e=1/ve,be="\\s*([+-]?\\d+)\\s*",me="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",xe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",we=/^#([0-9a-f]{3,8})$/,Me=new RegExp(`^rgb\\(${be},${be},${be}\\)$`),Te=new RegExp(`^rgb\\(${xe},${xe},${xe}\\)$`),Ae=new RegExp(`^rgba\\(${be},${be},${be},${me}\\)$`),Se=new RegExp(`^rgba\\(${xe},${xe},${xe},${me}\\)$`),Ee=new RegExp(`^hsl\\(${me},${xe},${xe}\\)$`),Ne=new RegExp(`^hsla\\(${me},${xe},${xe},${me}\\)$`),ke={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Ce(){return this.rgb().formatHex()}function Pe(){return this.rgb().formatRgb()}function ze(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=we.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?$e(n):3===e?new qe(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?De(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?De(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=Me.exec(t))?new qe(n[1],n[2],n[3],1):(n=Te.exec(t))?new qe(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Ae.exec(t))?De(n[1],n[2],n[3],n[4]):(n=Se.exec(t))?De(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Ee.exec(t))?Le(n[1],n[2]/100,n[3]/100,1):(n=Ne.exec(t))?Le(n[1],n[2]/100,n[3]/100,n[4]):ke.hasOwnProperty(t)?$e(ke[t]):"transparent"===t?new qe(NaN,NaN,NaN,0):null}function $e(t){return new qe(t>>16&255,t>>8&255,255&t,1)}function De(t,n,e,r){return r<=0&&(t=n=e=NaN),new qe(t,n,e,r)}function Re(t){return t instanceof ye||(t=ze(t)),t?new qe((t=t.rgb()).r,t.g,t.b,t.opacity):new qe}function Fe(t,n,e,r){return 1===arguments.length?Re(t):new qe(t,n,e,null==r?1:r)}function qe(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Ue(){return`#${Ye(this.r)}${Ye(this.g)}${Ye(this.b)}`}function Ie(){const t=Oe(this.opacity);return`${1===t?"rgb(":"rgba("}${Be(this.r)}, ${Be(this.g)}, ${Be(this.b)}${1===t?")":`, ${t})`}`}function Oe(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Be(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Ye(t){return((t=Be(t))<16?"0":"")+t.toString(16)}function Le(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Xe(t,n,e,r)}function je(t){if(t instanceof Xe)return new Xe(t.h,t.s,t.l,t.opacity);if(t instanceof ye||(t=ze(t)),!t)return new Xe;if(t instanceof Xe)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,u=o-i,c=(o+i)/2;return u?(a=n===o?(e-r)/u+6*(e0&&c<1?0:a,new Xe(a,u,c,t.opacity)}function He(t,n,e,r){return 1===arguments.length?je(t):new Xe(t,n,e,null==r?1:r)}function Xe(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Ge(t){return(t=(t||0)%360)<0?t+360:t}function Ve(t){return Math.max(0,Math.min(1,t||0))}function We(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}pe(ye,ze,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Ce,formatHex:Ce,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return je(this).formatHsl()},formatRgb:Pe,toString:Pe}),pe(qe,Fe,ge(ye,{brighter(t){return t=null==t?_e:Math.pow(_e,t),new qe(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?ve:Math.pow(ve,t),new qe(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new qe(Be(this.r),Be(this.g),Be(this.b),Oe(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ue,formatHex:Ue,formatHex8:function(){return`#${Ye(this.r)}${Ye(this.g)}${Ye(this.b)}${Ye(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Ie,toString:Ie})),pe(Xe,He,ge(ye,{brighter(t){return t=null==t?_e:Math.pow(_e,t),new Xe(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?ve:Math.pow(ve,t),new Xe(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new qe(We(t>=240?t-240:t+120,i,r),We(t,i,r),We(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Xe(Ge(this.h),Ve(this.s),Ve(this.l),Oe(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Oe(this.opacity);return`${1===t?"hsl(":"hsla("}${Ge(this.h)}, ${100*Ve(this.s)}%, ${100*Ve(this.l)}%${1===t?")":`, ${t})`}`}}));const Ze=Math.PI/180,Ke=180/Math.PI,Qe=.96422,Je=1,tr=.82521,nr=4/29,er=6/29,rr=3*er*er,ir=er*er*er;function or(t){if(t instanceof ur)return new ur(t.l,t.a,t.b,t.opacity);if(t instanceof pr)return gr(t);t instanceof qe||(t=Re(t));var n,e,r=lr(t.r),i=lr(t.g),o=lr(t.b),a=cr((.2225045*r+.7168786*i+.0606169*o)/Je);return r===i&&i===o?n=e=a:(n=cr((.4360747*r+.3850649*i+.1430804*o)/Qe),e=cr((.0139322*r+.0971045*i+.7141733*o)/tr)),new ur(116*a-16,500*(n-a),200*(a-e),t.opacity)}function ar(t,n,e,r){return 1===arguments.length?or(t):new ur(t,n,e,null==r?1:r)}function ur(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function cr(t){return t>ir?Math.pow(t,1/3):t/rr+nr}function fr(t){return t>er?t*t*t:rr*(t-nr)}function sr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function lr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function hr(t){if(t instanceof pr)return new pr(t.h,t.c,t.l,t.opacity);if(t instanceof ur||(t=or(t)),0===t.a&&0===t.b)return new pr(NaN,0=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=r()=>t;function Cr(t,n){return function(e){return t+e*n}}function Pr(t,n){var e=n-t;return e?Cr(t,e>180||e<-180?e-360*Math.round(e/360):e):kr(isNaN(t)?n:t)}function zr(t){return 1==(t=+t)?$r:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):kr(isNaN(n)?e:n)}}function $r(t,n){var e=n-t;return e?Cr(t,e):kr(isNaN(t)?n:t)}var Dr=function t(n){var e=zr(n);function r(t,n){var r=e((t=Fe(t)).r,(n=Fe(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=$r(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=a(n),t+""}}return r.gamma=t,r}(1);function Rr(t){return function(n){var e,r,i=n.length,o=new Array(i),a=new Array(i),u=new Array(i);for(e=0;eo&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,c.push({i:a,x:Yr(e,r)})),o=Hr.lastIndex;return o180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Yr(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,a.rotate,u,c),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Yr(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,a.skewX,u,c),function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:Yr(t,e)},{i:u-2,x:Yr(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,c),o=a=null,function(t){for(var n,e=-1,r=c.length;++e=0&&n._call.call(void 0,t),n=n._next;--yi}function Ci(){xi=(mi=Mi.now())+wi,yi=vi=0;try{ki()}finally{yi=0,function(){var t,n,e=pi,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:pi=n);gi=t,zi(r)}(),xi=0}}function Pi(){var t=Mi.now(),n=t-mi;n>bi&&(wi-=n,mi=t)}function zi(t){yi||(vi&&(vi=clearTimeout(vi)),t-xi>24?(t<1/0&&(vi=setTimeout(Ci,t-Mi.now()-wi)),_i&&(_i=clearInterval(_i))):(_i||(mi=Mi.now(),_i=setInterval(Pi,bi)),yi=1,Ti(Ci)))}function $i(t,n,e){var r=new Ei;return n=null==n?0:+n,r.restart((e=>{r.stop(),t(e+n)}),n,e),r}Ei.prototype=Ni.prototype={constructor:Ei,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?Ai():+e)+(null==n?0:+n),this._next||gi===this||(gi?gi._next=this:pi=this,gi=this),this._call=t,this._time=e,zi()},stop:function(){this._call&&(this._call=null,this._time=1/0,zi())}};var Di=$t("start","end","cancel","interrupt"),Ri=[],Fi=0,qi=1,Ui=2,Ii=3,Oi=4,Bi=5,Yi=6;function Li(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(t){e.state=qi,e.timer.restart(a,e.delay,e.time),e.delay<=t&&a(t-e.delay)}function a(o){var f,s,l,h;if(e.state!==qi)return c();for(f in i)if((h=i[f]).name===e.name){if(h.state===Ii)return $i(a);h.state===Oi?(h.state=Yi,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[f]):+fFi)throw new Error("too late; already scheduled");return e}function Hi(t,n){var e=Xi(t,n);if(e.state>Ii)throw new Error("too late; already running");return e}function Xi(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Gi(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>Ui&&e.state=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?ji:Hi;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(n,e),a.on=i}}(e,t,n))},attr:function(t,n){var e=It(t),r="transform"===e?ni:Ki;return this.attrTween(t,"function"==typeof n?(e.local?ro:eo)(e,r,Zi(this,"attr."+t,n)):null==n?(e.local?Ji:Qi)(e):(e.local?no:to)(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=It(t);return this.tween(e,(r.local?io:oo)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?ti:Ki;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=_n(this,t),a=(this.style.removeProperty(t),_n(this,t));return o===a?null:o===e&&a===r?i:i=n(e=o,r=a)}}(t,r)).on("end.style."+t,lo(t)):"function"==typeof n?this.styleTween(t,function(t,n,e){var r,i,o;return function(){var a=_n(this,t),u=e(this),c=u+"";return null==u&&(this.style.removeProperty(t),c=u=_n(this,t)),a===c?null:a===r&&c===i?o:(i=c,o=n(r=a,u))}}(t,r,Zi(this,"style."+t,n))).each(function(t,n){var e,r,i,o,a="style."+n,u="end."+a;return function(){var c=Hi(this,t),f=c.on,s=null==c.value[a]?o||(o=lo(n)):void 0;f===e&&i===s||(r=(e=f).copy()).on(u,i=s),c.on=r}}(this._id,t)):this.styleTween(t,function(t,n,e){var r,i,o=e+"";return function(){var a=_n(this,t);return a===o?null:a===r?i:i=n(r=a,e)}}(t,r,n),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,function(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&function(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}(t,o,e)),r}return o._value=n,o}(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}(Zi(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;return this.tween(n,function(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&function(t){return function(n){this.textContent=t.call(this,n)}}(r)),n}return r._value=t,r}(t))},remove:function(){return this.on("end.remove",function(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}(this._id))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=Xi(this.node(),e).tween,o=0,a=i.length;o()=>t;function Qo(t,{sourceEvent:n,target:e,selection:r,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Jo(t){t.preventDefault(),t.stopImmediatePropagation()}var ta={name:"drag"},na={name:"space"},ea={name:"handle"},ra={name:"center"};const{abs:ia,max:oa,min:aa}=Math;function ua(t){return[+t[0],+t[1]]}function ca(t){return[ua(t[0]),ua(t[1])]}var fa={name:"x",handles:["w","e"].map(va),input:function(t,n){return null==t?null:[[+t[0],n[0][1]],[+t[1],n[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},sa={name:"y",handles:["n","s"].map(va),input:function(t,n){return null==t?null:[[n[0][0],+t[0]],[n[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},la={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(va),input:function(t){return null==t?null:ca(t)},output:function(t){return t}},ha={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},da={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},pa={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},ga={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},ya={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function va(t){return{type:t}}function _a(t){return!t.ctrlKey&&!t.button}function ba(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function ma(){return navigator.maxTouchPoints||"ontouchstart"in this}function xa(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function wa(t){var n,e=ba,r=_a,i=ma,o=!0,a=$t("start","brush","end"),u=6;function c(n){var e=n.property("__brush",g).selectAll(".overlay").data([va("overlay")]);e.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",ha.overlay).merge(e).each((function(){var t=xa(this).extent;Zn(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])})),n.selectAll(".selection").data([va("selection")]).enter().append("rect").attr("class","selection").attr("cursor",ha.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var r=n.selectAll(".handle").data(t.handles,(function(t){return t.type}));r.exit().remove(),r.enter().append("rect").attr("class",(function(t){return"handle handle--"+t.type})).attr("cursor",(function(t){return ha[t.type]})),n.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",h).filter(i).on("touchstart.brush",h).on("touchmove.brush",d).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(){var t=Zn(this),n=xa(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",(function(t){return"e"===t.type[t.type.length-1]?n[1][0]-u/2:n[0][0]-u/2})).attr("y",(function(t){return"s"===t.type[0]?n[1][1]-u/2:n[0][1]-u/2})).attr("width",(function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+u:u})).attr("height",(function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+u:u}))):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function s(t,n,e){var r=t.__brush.emitter;return!r||e&&r.clean?new l(t,n,e):r}function l(t,n,e){this.that=t,this.args=n,this.state=t.__brush,this.active=0,this.clean=e}function h(e){if((!n||e.touches)&&r.apply(this,arguments)){var i,a,u,c,l,h,d,p,g,y,v,_=this,b=e.target.__data__.type,m="selection"===(o&&e.metaKey?b="overlay":b)?ta:o&&e.altKey?ra:ea,x=t===sa?null:ga[b],w=t===fa?null:ya[b],M=xa(_),T=M.extent,A=M.selection,S=T[0][0],E=T[0][1],N=T[1][0],k=T[1][1],C=0,P=0,z=x&&w&&o&&e.shiftKey,$=Array.from(e.touches||[e],(t=>{const n=t.identifier;return(t=ne(t,_)).point0=t.slice(),t.identifier=n,t}));Gi(_);var D=s(_,arguments,!0).beforestart();if("overlay"===b){A&&(g=!0);const n=[$[0],$[1]||$[0]];M.selection=A=[[i=t===sa?S:aa(n[0][0],n[1][0]),u=t===fa?E:aa(n[0][1],n[1][1])],[l=t===sa?N:oa(n[0][0],n[1][0]),d=t===fa?k:oa(n[0][1],n[1][1])]],$.length>1&&I(e)}else i=A[0][0],u=A[0][1],l=A[1][0],d=A[1][1];a=i,c=u,h=l,p=d;var R=Zn(_).attr("pointer-events","none"),F=R.selectAll(".overlay").attr("cursor",ha[b]);if(e.touches)D.moved=U,D.ended=O;else{var q=Zn(e.view).on("mousemove.brush",U,!0).on("mouseup.brush",O,!0);o&&q.on("keydown.brush",(function(t){switch(t.keyCode){case 16:z=x&&w;break;case 18:m===ea&&(x&&(l=h-C*x,i=a+C*x),w&&(d=p-P*w,u=c+P*w),m=ra,I(t));break;case 32:m!==ea&&m!==ra||(x<0?l=h-C:x>0&&(i=a-C),w<0?d=p-P:w>0&&(u=c-P),m=na,F.attr("cursor",ha.selection),I(t));break;default:return}Jo(t)}),!0).on("keyup.brush",(function(t){switch(t.keyCode){case 16:z&&(y=v=z=!1,I(t));break;case 18:m===ra&&(x<0?l=h:x>0&&(i=a),w<0?d=p:w>0&&(u=c),m=ea,I(t));break;case 32:m===na&&(t.altKey?(x&&(l=h-C*x,i=a+C*x),w&&(d=p-P*w,u=c+P*w),m=ra):(x<0?l=h:x>0&&(i=a),w<0?d=p:w>0&&(u=c),m=ea),F.attr("cursor",ha[b]),I(t));break;default:return}Jo(t)}),!0),ae(e.view)}f.call(_),D.start(e,m.name)}function U(t){for(const n of t.changedTouches||[t])for(const t of $)t.identifier===n.identifier&&(t.cur=ne(n,_));if(z&&!y&&!v&&1===$.length){const t=$[0];ia(t.cur[0]-t[0])>ia(t.cur[1]-t[1])?v=!0:y=!0}for(const t of $)t.cur&&(t[0]=t.cur[0],t[1]=t.cur[1]);g=!0,Jo(t),I(t)}function I(t){const n=$[0],e=n.point0;var r;switch(C=n[0]-e[0],P=n[1]-e[1],m){case na:case ta:x&&(C=oa(S-i,aa(N-l,C)),a=i+C,h=l+C),w&&(P=oa(E-u,aa(k-d,P)),c=u+P,p=d+P);break;case ea:$[1]?(x&&(a=oa(S,aa(N,$[0][0])),h=oa(S,aa(N,$[1][0])),x=1),w&&(c=oa(E,aa(k,$[0][1])),p=oa(E,aa(k,$[1][1])),w=1)):(x<0?(C=oa(S-i,aa(N-i,C)),a=i+C,h=l):x>0&&(C=oa(S-l,aa(N-l,C)),a=i,h=l+C),w<0?(P=oa(E-u,aa(k-u,P)),c=u+P,p=d):w>0&&(P=oa(E-d,aa(k-d,P)),c=u,p=d+P));break;case ra:x&&(a=oa(S,aa(N,i-C*x)),h=oa(S,aa(N,l+C*x))),w&&(c=oa(E,aa(k,u-P*w)),p=oa(E,aa(k,d+P*w)))}ht+e))}function za(t,n){var e=0,r=null,i=null,o=null;function a(a){var u,c=a.length,f=new Array(c),s=Pa(0,c),l=new Array(c*c),h=new Array(c),d=0;a=Float64Array.from({length:c*c},n?(t,n)=>a[n%c][n/c|0]:(t,n)=>a[n/c|0][n%c]);for(let n=0;nr(f[t],f[n])));for(const e of s){const r=n;if(t){const t=Pa(1+~c,c).filter((t=>t<0?a[~t*c+e]:a[e*c+t]));i&&t.sort(((t,n)=>i(t<0?-a[~t*c+e]:a[e*c+t],n<0?-a[~n*c+e]:a[e*c+n])));for(const r of t)if(r<0){(l[~r*c+e]||(l[~r*c+e]={source:null,target:null})).target={index:e,startAngle:n,endAngle:n+=a[~r*c+e]*d,value:a[~r*c+e]}}else{(l[e*c+r]||(l[e*c+r]={source:null,target:null})).source={index:e,startAngle:n,endAngle:n+=a[e*c+r]*d,value:a[e*c+r]}}h[e]={index:e,startAngle:r,endAngle:n,value:f[e]}}else{const t=Pa(0,c).filter((t=>a[e*c+t]||a[t*c+e]));i&&t.sort(((t,n)=>i(a[e*c+t],a[e*c+n])));for(const r of t){let t;if(e=0))throw new Error(`invalid digits: ${t}`);if(n>15)return qa;const e=10**n;return function(t){this._+=t[0];for(let n=1,r=t.length;nRa)if(Math.abs(s*u-c*f)>Ra&&i){let h=e-o,d=r-a,p=u*u+c*c,g=h*h+d*d,y=Math.sqrt(p),v=Math.sqrt(l),_=i*Math.tan(($a-Math.acos((p+l-g)/(2*y*v)))/2),b=_/v,m=_/y;Math.abs(b-1)>Ra&&this._append`L${t+b*f},${n+b*s}`,this._append`A${i},${i},0,0,${+(s*h>f*d)},${this._x1=t+m*u},${this._y1=n+m*c}`}else this._append`L${this._x1=t},${this._y1=n}`;else;}arc(t,n,e,r,i,o){if(t=+t,n=+n,o=!!o,(e=+e)<0)throw new Error(`negative radius: ${e}`);let a=e*Math.cos(r),u=e*Math.sin(r),c=t+a,f=n+u,s=1^o,l=o?r-i:i-r;null===this._x1?this._append`M${c},${f}`:(Math.abs(this._x1-c)>Ra||Math.abs(this._y1-f)>Ra)&&this._append`L${c},${f}`,e&&(l<0&&(l=l%Da+Da),l>Fa?this._append`A${e},${e},0,1,${s},${t-a},${n-u}A${e},${e},0,1,${s},${this._x1=c},${this._y1=f}`:l>Ra&&this._append`A${e},${e},0,${+(l>=$a)},${s},${this._x1=t+e*Math.cos(i)},${this._y1=n+e*Math.sin(i)}`)}rect(t,n,e,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${e=+e}v${+r}h${-e}Z`}toString(){return this._}};function Ia(){return new Ua}Ia.prototype=Ua.prototype;var Oa=Array.prototype.slice;function Ba(t){return function(){return t}}function Ya(t){return t.source}function La(t){return t.target}function ja(t){return t.radius}function Ha(t){return t.startAngle}function Xa(t){return t.endAngle}function Ga(){return 0}function Va(){return 10}function Wa(t){var n=Ya,e=La,r=ja,i=ja,o=Ha,a=Xa,u=Ga,c=null;function f(){var f,s=n.apply(this,arguments),l=e.apply(this,arguments),h=u.apply(this,arguments)/2,d=Oa.call(arguments),p=+r.apply(this,(d[0]=s,d)),g=o.apply(this,d)-Ea,y=a.apply(this,d)-Ea,v=+i.apply(this,(d[0]=l,d)),_=o.apply(this,d)-Ea,b=a.apply(this,d)-Ea;if(c||(c=f=Ia()),h>Ca&&(Ma(y-g)>2*h+Ca?y>g?(g+=h,y-=h):(g-=h,y+=h):g=y=(g+y)/2,Ma(b-_)>2*h+Ca?b>_?(_+=h,b-=h):(_-=h,b+=h):_=b=(_+b)/2),c.moveTo(p*Ta(g),p*Aa(g)),c.arc(0,0,p,g,y),g!==_||y!==b)if(t){var m=v-+t.apply(this,arguments),x=(_+b)/2;c.quadraticCurveTo(0,0,m*Ta(_),m*Aa(_)),c.lineTo(v*Ta(x),v*Aa(x)),c.lineTo(m*Ta(b),m*Aa(b))}else c.quadraticCurveTo(0,0,v*Ta(_),v*Aa(_)),c.arc(0,0,v,_,b);if(c.quadraticCurveTo(0,0,p*Ta(g),p*Aa(g)),c.closePath(),f)return c=null,f+""||null}return t&&(f.headRadius=function(n){return arguments.length?(t="function"==typeof n?n:Ba(+n),f):t}),f.radius=function(t){return arguments.length?(r=i="function"==typeof t?t:Ba(+t),f):r},f.sourceRadius=function(t){return arguments.length?(r="function"==typeof t?t:Ba(+t),f):r},f.targetRadius=function(t){return arguments.length?(i="function"==typeof t?t:Ba(+t),f):i},f.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:Ba(+t),f):o},f.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:Ba(+t),f):a},f.padAngle=function(t){return arguments.length?(u="function"==typeof t?t:Ba(+t),f):u},f.source=function(t){return arguments.length?(n=t,f):n},f.target=function(t){return arguments.length?(e=t,f):e},f.context=function(t){return arguments.length?(c=null==t?null:t,f):c},f}var Za=Array.prototype.slice;function Ka(t,n){return t-n}var Qa=t=>()=>t;function Ja(t,n){for(var e,r=-1,i=n.length;++rr!=d>r&&e<(h-f)*(r-s)/(d-s)+f&&(i=-i)}return i}function nu(t,n,e){var r,i,o,a;return function(t,n,e){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])}(t,n,e)&&(i=t[r=+(t[0]===n[0])],o=e[r],a=n[r],i<=o&&o<=a||a<=o&&o<=i)}function eu(){}var ru=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function iu(){var t=1,n=1,e=K,r=u;function i(t){var n=e(t);if(Array.isArray(n))n=n.slice().sort(Ka);else{const e=M(t,ou);for(n=G(...Z(e[0],e[1],n),n);n[n.length-1]>=e[1];)n.pop();for(;n[1]o(t,n)))}function o(e,i){const o=null==i?NaN:+i;if(isNaN(o))throw new Error(`invalid value: ${i}`);var u=[],c=[];return function(e,r,i){var o,u,c,f,s,l,h=new Array,d=new Array;o=u=-1,f=au(e[0],r),ru[f<<1].forEach(p);for(;++o=r,ru[s<<2].forEach(p);for(;++o0?u.push([t]):c.push(t)})),c.forEach((function(t){for(var n,e=0,r=u.length;e0&&o0&&a=0&&o>=0))throw new Error("invalid size");return t=r,n=o,i},i.thresholds=function(t){return arguments.length?(e="function"==typeof t?t:Array.isArray(t)?Qa(Za.call(t)):Qa(t),i):e},i.smooth=function(t){return arguments.length?(r=t?u:eu,i):r===u},i}function ou(t){return isFinite(t)?t:NaN}function au(t,n){return null!=t&&+t>=n}function uu(t){return null==t||isNaN(t=+t)?-1/0:t}function cu(t,n,e,r){const i=r-n,o=e-n,a=isFinite(i)||isFinite(o)?i/o:Math.sign(i)/Math.sign(o);return isNaN(a)?t:t+a-.5}function fu(t){return t[0]}function su(t){return t[1]}function lu(){return 1}const hu=134217729,du=33306690738754706e-32;function pu(t,n,e,r,i){let o,a,u,c,f=n[0],s=r[0],l=0,h=0;s>f==s>-f?(o=f,f=n[++l]):(o=s,s=r[++h]);let d=0;if(lf==s>-f?(a=f+o,u=o-(a-f),f=n[++l]):(a=s+o,u=o-(a-s),s=r[++h]),o=a,0!==u&&(i[d++]=u);lf==s>-f?(a=o+f,c=a-o,u=o-(a-c)+(f-c),f=n[++l]):(a=o+s,c=a-o,u=o-(a-c)+(s-c),s=r[++h]),o=a,0!==u&&(i[d++]=u);for(;l=33306690738754716e-32*f?c:-function(t,n,e,r,i,o,a){let u,c,f,s,l,h,d,p,g,y,v,_,b,m,x,w,M,T;const A=t-i,S=e-i,E=n-o,N=r-o;m=A*N,h=hu*A,d=h-(h-A),p=A-d,h=hu*N,g=h-(h-N),y=N-g,x=p*y-(m-d*g-p*g-d*y),w=E*S,h=hu*E,d=h-(h-E),p=E-d,h=hu*S,g=h-(h-S),y=S-g,M=p*y-(w-d*g-p*g-d*y),v=x-M,l=x-v,_u[0]=x-(v+l)+(l-M),_=m+v,l=_-m,b=m-(_-l)+(v-l),v=b-w,l=b-v,_u[1]=b-(v+l)+(l-w),T=_+v,l=T-_,_u[2]=_-(T-l)+(v-l),_u[3]=T;let k=function(t,n){let e=n[0];for(let r=1;r=C||-k>=C)return k;if(l=t-A,u=t-(A+l)+(l-i),l=e-S,f=e-(S+l)+(l-i),l=n-E,c=n-(E+l)+(l-o),l=r-N,s=r-(N+l)+(l-o),0===u&&0===c&&0===f&&0===s)return k;if(C=vu*a+du*Math.abs(k),k+=A*s+N*u-(E*f+S*c),k>=C||-k>=C)return k;m=u*N,h=hu*u,d=h-(h-u),p=u-d,h=hu*N,g=h-(h-N),y=N-g,x=p*y-(m-d*g-p*g-d*y),w=c*S,h=hu*c,d=h-(h-c),p=c-d,h=hu*S,g=h-(h-S),y=S-g,M=p*y-(w-d*g-p*g-d*y),v=x-M,l=x-v,wu[0]=x-(v+l)+(l-M),_=m+v,l=_-m,b=m-(_-l)+(v-l),v=b-w,l=b-v,wu[1]=b-(v+l)+(l-w),T=_+v,l=T-_,wu[2]=_-(T-l)+(v-l),wu[3]=T;const P=pu(4,_u,4,wu,bu);m=A*s,h=hu*A,d=h-(h-A),p=A-d,h=hu*s,g=h-(h-s),y=s-g,x=p*y-(m-d*g-p*g-d*y),w=E*f,h=hu*E,d=h-(h-E),p=E-d,h=hu*f,g=h-(h-f),y=f-g,M=p*y-(w-d*g-p*g-d*y),v=x-M,l=x-v,wu[0]=x-(v+l)+(l-M),_=m+v,l=_-m,b=m-(_-l)+(v-l),v=b-w,l=b-v,wu[1]=b-(v+l)+(l-w),T=_+v,l=T-_,wu[2]=_-(T-l)+(v-l),wu[3]=T;const z=pu(P,bu,4,wu,mu);m=u*s,h=hu*u,d=h-(h-u),p=u-d,h=hu*s,g=h-(h-s),y=s-g,x=p*y-(m-d*g-p*g-d*y),w=c*f,h=hu*c,d=h-(h-c),p=c-d,h=hu*f,g=h-(h-f),y=f-g,M=p*y-(w-d*g-p*g-d*y),v=x-M,l=x-v,wu[0]=x-(v+l)+(l-M),_=m+v,l=_-m,b=m-(_-l)+(v-l),v=b-w,l=b-v,wu[1]=b-(v+l)+(l-w),T=_+v,l=T-_,wu[2]=_-(T-l)+(v-l),wu[3]=T;const $=pu(z,mu,4,wu,xu);return xu[$-1]}(t,n,e,r,i,o,f)}const Tu=Math.pow(2,-52),Au=new Uint32Array(512);class Su{static from(t,n=zu,e=$u){const r=t.length,i=new Float64Array(2*r);for(let o=0;o>1;if(n>0&&"number"!=typeof t[0])throw new Error("Expected coords to contain numbers.");this.coords=t;const e=Math.max(2*n-5,0);this._triangles=new Uint32Array(3*e),this._halfedges=new Int32Array(3*e),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:t,_hullPrev:n,_hullNext:e,_hullTri:r,_hullHash:i}=this,o=t.length>>1;let a=1/0,u=1/0,c=-1/0,f=-1/0;for(let n=0;nc&&(c=e),r>f&&(f=r),this._ids[n]=n}const s=(a+c)/2,l=(u+f)/2;let h,d,p;for(let n=0,e=1/0;n0&&(d=n,e=r)}let v=t[2*d],_=t[2*d+1],b=1/0;for(let n=0;nr&&(n[e++]=i,r=o)}return this.hull=n.subarray(0,e),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(Mu(g,y,v,_,m,x)<0){const t=d,n=v,e=_;d=p,v=m,_=x,p=t,m=n,x=e}const w=function(t,n,e,r,i,o){const a=e-t,u=r-n,c=i-t,f=o-n,s=a*a+u*u,l=c*c+f*f,h=.5/(a*f-u*c),d=t+(f*s-u*l)*h,p=n+(a*l-c*s)*h;return{x:d,y:p}}(g,y,v,_,m,x);this._cx=w.x,this._cy=w.y;for(let n=0;n0&&Math.abs(f-o)<=Tu&&Math.abs(s-a)<=Tu)continue;if(o=f,a=s,c===h||c===d||c===p)continue;let l=0;for(let t=0,n=this._hashKey(f,s);t=0;)if(y=g,y===l){y=-1;break}if(-1===y)continue;let v=this._addTriangle(y,c,e[y],-1,-1,r[y]);r[c]=this._legalize(v+2),r[y]=v,M++;let _=e[y];for(;g=e[_],Mu(f,s,t[2*_],t[2*_+1],t[2*g],t[2*g+1])<0;)v=this._addTriangle(_,c,g,r[c],-1,r[_]),r[c]=this._legalize(v+2),e[_]=_,M--,_=g;if(y===l)for(;g=n[y],Mu(f,s,t[2*g],t[2*g+1],t[2*y],t[2*y+1])<0;)v=this._addTriangle(g,c,y,-1,r[y],r[g]),this._legalize(v+2),r[g]=v,e[y]=y,M--,y=g;this._hullStart=n[c]=y,e[y]=n[_]=c,e[c]=_,i[this._hashKey(f,s)]=c,i[this._hashKey(t[2*y],t[2*y+1])]=y}this.hull=new Uint32Array(M);for(let t=0,n=this._hullStart;t0?3-e:1+e)/4}(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){const{_triangles:n,_halfedges:e,coords:r}=this;let i=0,o=0;for(;;){const a=e[t],u=t-t%3;if(o=u+(t+2)%3,-1===a){if(0===i)break;t=Au[--i];continue}const c=a-a%3,f=u+(t+1)%3,s=c+(a+2)%3,l=n[o],h=n[t],d=n[f],p=n[s];if(Nu(r[2*l],r[2*l+1],r[2*h],r[2*h+1],r[2*d],r[2*d+1],r[2*p],r[2*p+1])){n[t]=p,n[a]=l;const r=e[s];if(-1===r){let n=this._hullStart;do{if(this._hullTri[n]===s){this._hullTri[n]=t;break}n=this._hullPrev[n]}while(n!==this._hullStart)}this._link(t,r),this._link(a,e[o]),this._link(o,s);const u=c+(a+1)%3;i=e&&n[t[a]]>o;)t[a+1]=t[a--];t[a+1]=r}else{let i=e+1,o=r;Pu(t,e+r>>1,i),n[t[e]]>n[t[r]]&&Pu(t,e,r),n[t[i]]>n[t[r]]&&Pu(t,i,r),n[t[e]]>n[t[i]]&&Pu(t,e,i);const a=t[i],u=n[a];for(;;){do{i++}while(n[t[i]]u);if(o=o-e?(Cu(t,n,i,r),Cu(t,n,e,o-1)):(Cu(t,n,e,o-1),Cu(t,n,i,r))}}function Pu(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function zu(t){return t[0]}function $u(t){return t[1]}const Du=1e-6;class Ru{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,n){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,n){this._+=`L${this._x1=+t},${this._y1=+n}`}arc(t,n,e){const r=(t=+t)+(e=+e),i=n=+n;if(e<0)throw new Error("negative radius");null===this._x1?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>Du||Math.abs(this._y1-i)>Du)&&(this._+="L"+r+","+i),e&&(this._+=`A${e},${e},0,1,1,${t-e},${n}A${e},${e},0,1,1,${this._x1=r},${this._y1=i}`)}rect(t,n,e,r){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${+e}v${+r}h${-e}Z`}value(){return this._||null}}class Fu{constructor(){this._=[]}moveTo(t,n){this._.push([t,n])}closePath(){this._.push(this._[0].slice())}lineTo(t,n){this._.push([t,n])}value(){return this._.length?this._:null}}class qu{constructor(t,[n,e,r,i]=[0,0,960,500]){if(!((r=+r)>=(n=+n)&&(i=+i)>=(e=+e)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(2*t.points.length),this.vectors=new Float64Array(2*t.points.length),this.xmax=r,this.xmin=n,this.ymax=i,this.ymin=e,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:n,triangles:e},vectors:r}=this;let i,o;const a=this.circumcenters=this._circumcenters.subarray(0,e.length/3*2);for(let r,u,c=0,f=0,s=e.length;c1;)i-=2;for(let t=2;t0){if(n>=this.ymax)return null;(i=(this.ymax-n)/r)0){if(t>=this.xmax)return null;(i=(this.xmax-t)/e)this.xmax?2:0)|(nthis.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let n=0;n2&&function(t){const{triangles:n,coords:e}=t;for(let t=0;t1e-10)return!1}return!0}(t)){this.collinear=Int32Array.from({length:n.length/2},((t,n)=>n)).sort(((t,e)=>n[2*t]-n[2*e]||n[2*t+1]-n[2*e+1]));const t=this.collinear[0],e=this.collinear[this.collinear.length-1],r=[n[2*t],n[2*t+1],n[2*e],n[2*e+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let t=0,e=n.length/2;t0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],o[r[0]]=1,2===r.length&&(o[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(t){return new qu(this,t)}*neighbors(t){const{inedges:n,hull:e,_hullIndex:r,halfedges:i,triangles:o,collinear:a}=this;if(a){const n=a.indexOf(t);return n>0&&(yield a[n-1]),void(n=0&&i!==e&&i!==r;)e=i;return i}_step(t,n,e){const{inedges:r,hull:i,_hullIndex:o,halfedges:a,triangles:u,points:c}=this;if(-1===r[t]||!c.length)return(t+1)%(c.length>>1);let f=t,s=Iu(n-c[2*t],2)+Iu(e-c[2*t+1],2);const l=r[t];let h=l;do{let r=u[h];const l=Iu(n-c[2*r],2)+Iu(e-c[2*r+1],2);if(l9999?"+"+Ku(n,6):Ku(n,4))+"-"+Ku(t.getUTCMonth()+1,2)+"-"+Ku(t.getUTCDate(),2)+(o?"T"+Ku(e,2)+":"+Ku(r,2)+":"+Ku(i,2)+"."+Ku(o,3)+"Z":i?"T"+Ku(e,2)+":"+Ku(r,2)+":"+Ku(i,2)+"Z":r||e?"T"+Ku(e,2)+":"+Ku(r,2)+"Z":"")}function Ju(t){var n=new RegExp('["'+t+"\n\r]"),e=t.charCodeAt(0);function r(t,n){var r,i=[],o=t.length,a=0,u=0,c=o<=0,f=!1;function s(){if(c)return Hu;if(f)return f=!1,ju;var n,r,i=a;if(t.charCodeAt(i)===Xu){for(;a++=o?c=!0:(r=t.charCodeAt(a++))===Gu?f=!0:r===Vu&&(f=!0,t.charCodeAt(a)===Gu&&++a),t.slice(i+1,n-1).replace(/""/g,'"')}for(;amc(n,e).then((n=>(new DOMParser).parseFromString(n,t)))}var Sc=Ac("application/xml"),Ec=Ac("text/html"),Nc=Ac("image/svg+xml");function kc(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,a,u,c,f,s,l,h,d=t._root,p={data:r},g=t._x0,y=t._y0,v=t._x1,_=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((f=n>=(o=(g+v)/2))?g=o:v=o,(s=e>=(a=(y+_)/2))?y=a:_=a,i=d,!(d=d[l=s<<1|f]))return i[l]=p,t;if(u=+t._x.call(null,d.data),c=+t._y.call(null,d.data),n===u&&e===c)return p.next=d,i?i[l]=p:t._root=p,t;do{i=i?i[l]=new Array(4):t._root=new Array(4),(f=n>=(o=(g+v)/2))?g=o:v=o,(s=e>=(a=(y+_)/2))?y=a:_=a}while((l=s<<1|f)==(h=(c>=a)<<1|u>=o));return i[h]=d,i[l]=p,t}function Cc(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function Pc(t){return t[0]}function zc(t){return t[1]}function $c(t,n,e){var r=new Dc(null==n?Pc:n,null==e?zc:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Dc(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Rc(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var Fc=$c.prototype=Dc.prototype;function qc(t){return function(){return t}}function Uc(t){return 1e-6*(t()-.5)}function Ic(t){return t.x+t.vx}function Oc(t){return t.y+t.vy}function Bc(t){return t.index}function Yc(t,n){var e=t.get(n);if(!e)throw new Error("node not found: "+n);return e}Fc.copy=function(){var t,n,e=new Dc(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=Rc(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=Rc(n));return e},Fc.add=function(t){const n=+this._x.call(null,t),e=+this._y.call(null,t);return kc(this.cover(n,e),n,e,t)},Fc.addAll=function(t){var n,e,r,i,o=t.length,a=new Array(o),u=new Array(o),c=1/0,f=1/0,s=-1/0,l=-1/0;for(e=0;es&&(s=r),il&&(l=i));if(c>s||f>l)return this;for(this.cover(c,f).cover(s,l),e=0;et||t>=i||r>n||n>=o;)switch(u=(nh||(o=c.y0)>d||(a=c.x1)=v)<<1|t>=y)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-f],p[p.length-1-f]=c)}else{var _=t-+this._x.call(null,g.data),b=n-+this._y.call(null,g.data),m=_*_+b*b;if(m=(u=(p+y)/2))?p=u:y=u,(s=a>=(c=(g+v)/2))?g=c:v=c,n=d,!(d=d[l=s<<1|f]))return this;if(!d.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=n,h=l)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):n?(i?n[l]=i:delete n[l],(d=n[0]||n[1]||n[2]||n[3])&&d===(n[3]||n[2]||n[1]||n[0])&&!d.length&&(e?e[h]=d:this._root=d),this):(this._root=i,this)},Fc.removeAll=function(t){for(var n=0,e=t.length;n1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Zc(t){return(t=Wc(Math.abs(t)))?t[1]:NaN}var Kc,Qc=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Jc(t){if(!(n=Qc.exec(t)))throw new Error("invalid format: "+t);var n;return new tf({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function tf(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function nf(t,n){var e=Wc(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}Jc.prototype=tf.prototype,tf.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var ef={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>nf(100*t,n),r:nf,s:function(t,n){var e=Wc(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(Kc=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Wc(t,Math.max(0,n+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function rf(t){return t}var of,af=Array.prototype.map,uf=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function cf(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?rf:(n=af.call(t.grouping,Number),e=t.thousands+"",function(t,r){for(var i=t.length,o=[],a=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),o.push(t.substring(i-=u,i+u)),!((c+=u+1)>r));)u=n[a=(a+1)%n.length];return o.reverse().join(e)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?rf:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(af.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",f=void 0===t.minus?"−":t.minus+"",s=void 0===t.nan?"NaN":t.nan+"";function l(t){var n=(t=Jc(t)).fill,e=t.align,l=t.sign,h=t.symbol,d=t.zero,p=t.width,g=t.comma,y=t.precision,v=t.trim,_=t.type;"n"===_?(g=!0,_="g"):ef[_]||(void 0===y&&(y=12),v=!0,_="g"),(d||"0"===n&&"="===e)&&(d=!0,n="0",e="=");var b="$"===h?i:"#"===h&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",m="$"===h?o:/[%p]/.test(_)?c:"",x=ef[_],w=/[defgprs%]/.test(_);function M(t){var i,o,c,h=b,M=m;if("c"===_)M=x(t)+M,t="";else{var T=(t=+t)<0||1/t<0;if(t=isNaN(t)?s:x(Math.abs(t),y),v&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),T&&0==+t&&"+"!==l&&(T=!1),h=(T?"("===l?l:f:"-"===l||"("===l?"":l)+h,M=("s"===_?uf[8+Kc/3]:"")+M+(T&&"("===l?")":""),w)for(i=-1,o=t.length;++i(c=t.charCodeAt(i))||c>57){M=(46===c?a+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}g&&!d&&(t=r(t,1/0));var A=h.length+t.length+M.length,S=A>1)+h+t+M+S.slice(A);break;default:t=S+h+t+M}return u(t)}return y=void 0===y?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),M.toString=function(){return t+""},M}return{format:l,formatPrefix:function(t,n){var e=l(((t=Jc(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Zc(n)/3))),i=Math.pow(10,-r),o=uf[8+r/3];return function(t){return e(i*t)+o}}}}function ff(n){return of=cf(n),t.format=of.format,t.formatPrefix=of.formatPrefix,of}function sf(t){return Math.max(0,-Zc(Math.abs(t)))}function lf(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Zc(n)/3)))-Zc(Math.abs(t)))}function hf(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Zc(n)-Zc(t))+1}t.format=void 0,t.formatPrefix=void 0,ff({thousands:",",grouping:[3],currency:["$",""]});var df=1e-6,pf=1e-12,gf=Math.PI,yf=gf/2,vf=gf/4,_f=2*gf,bf=180/gf,mf=gf/180,xf=Math.abs,wf=Math.atan,Mf=Math.atan2,Tf=Math.cos,Af=Math.ceil,Sf=Math.exp,Ef=Math.hypot,Nf=Math.log,kf=Math.pow,Cf=Math.sin,Pf=Math.sign||function(t){return t>0?1:t<0?-1:0},zf=Math.sqrt,$f=Math.tan;function Df(t){return t>1?0:t<-1?gf:Math.acos(t)}function Rf(t){return t>1?yf:t<-1?-yf:Math.asin(t)}function Ff(t){return(t=Cf(t/2))*t}function qf(){}function Uf(t,n){t&&Of.hasOwnProperty(t.type)&&Of[t.type](t,n)}var If={Feature:function(t,n){Uf(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r=0?1:-1,i=r*e,o=Tf(n=(n*=mf)/2+vf),a=Cf(n),u=Vf*a,c=Gf*o+u*Tf(i),f=u*r*Cf(i);as.add(Mf(f,c)),Xf=t,Gf=o,Vf=a}function ds(t){return[Mf(t[1],t[0]),Rf(t[2])]}function ps(t){var n=t[0],e=t[1],r=Tf(e);return[r*Tf(n),r*Cf(n),Cf(e)]}function gs(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function ys(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function vs(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function _s(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function bs(t){var n=zf(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var ms,xs,ws,Ms,Ts,As,Ss,Es,Ns,ks,Cs,Ps,zs,$s,Ds,Rs,Fs={point:qs,lineStart:Is,lineEnd:Os,polygonStart:function(){Fs.point=Bs,Fs.lineStart=Ys,Fs.lineEnd=Ls,rs=new T,cs.polygonStart()},polygonEnd:function(){cs.polygonEnd(),Fs.point=qs,Fs.lineStart=Is,Fs.lineEnd=Os,as<0?(Wf=-(Kf=180),Zf=-(Qf=90)):rs>df?Qf=90:rs<-df&&(Zf=-90),os[0]=Wf,os[1]=Kf},sphere:function(){Wf=-(Kf=180),Zf=-(Qf=90)}};function qs(t,n){is.push(os=[Wf=t,Kf=t]),nQf&&(Qf=n)}function Us(t,n){var e=ps([t*mf,n*mf]);if(es){var r=ys(es,e),i=ys([r[1],-r[0],0],r);bs(i),i=ds(i);var o,a=t-Jf,u=a>0?1:-1,c=i[0]*bf*u,f=xf(a)>180;f^(u*JfQf&&(Qf=o):f^(u*Jf<(c=(c+360)%360-180)&&cQf&&(Qf=n)),f?tjs(Wf,Kf)&&(Kf=t):js(t,Kf)>js(Wf,Kf)&&(Wf=t):Kf>=Wf?(tKf&&(Kf=t)):t>Jf?js(Wf,t)>js(Wf,Kf)&&(Kf=t):js(t,Kf)>js(Wf,Kf)&&(Wf=t)}else is.push(os=[Wf=t,Kf=t]);nQf&&(Qf=n),es=e,Jf=t}function Is(){Fs.point=Us}function Os(){os[0]=Wf,os[1]=Kf,Fs.point=qs,es=null}function Bs(t,n){if(es){var e=t-Jf;rs.add(xf(e)>180?e+(e>0?360:-360):e)}else ts=t,ns=n;cs.point(t,n),Us(t,n)}function Ys(){cs.lineStart()}function Ls(){Bs(ts,ns),cs.lineEnd(),xf(rs)>df&&(Wf=-(Kf=180)),os[0]=Wf,os[1]=Kf,es=null}function js(t,n){return(n-=t)<0?n+360:n}function Hs(t,n){return t[0]-n[0]}function Xs(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:ngf&&(t-=Math.round(t/_f)*_f),[t,n]}function ul(t,n,e){return(t%=_f)?n||e?ol(fl(t),sl(n,e)):fl(t):n||e?sl(n,e):al}function cl(t){return function(n,e){return xf(n+=t)>gf&&(n-=Math.round(n/_f)*_f),[n,e]}}function fl(t){var n=cl(t);return n.invert=cl(-t),n}function sl(t,n){var e=Tf(t),r=Cf(t),i=Tf(n),o=Cf(n);function a(t,n){var a=Tf(n),u=Tf(t)*a,c=Cf(t)*a,f=Cf(n),s=f*e+u*r;return[Mf(c*i-s*o,u*e-f*r),Rf(s*i+c*o)]}return a.invert=function(t,n){var a=Tf(n),u=Tf(t)*a,c=Cf(t)*a,f=Cf(n),s=f*i-c*o;return[Mf(c*i+f*o,u*e+s*r),Rf(s*e-u*r)]},a}function ll(t){function n(n){return(n=t(n[0]*mf,n[1]*mf))[0]*=bf,n[1]*=bf,n}return t=ul(t[0]*mf,t[1]*mf,t.length>2?t[2]*mf:0),n.invert=function(n){return(n=t.invert(n[0]*mf,n[1]*mf))[0]*=bf,n[1]*=bf,n},n}function hl(t,n,e,r,i,o){if(e){var a=Tf(n),u=Cf(n),c=r*e;null==i?(i=n+r*_f,o=n-c/2):(i=dl(a,i),o=dl(a,o),(r>0?io)&&(i+=r*_f));for(var f,s=i;r>0?s>o:s1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function gl(t,n){return xf(t[0]-n[0])=0;--o)i.point((s=f[o])[0],s[1]);else r(h.x,h.p.x,-1,i);h=h.p}f=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function _l(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r=0?1:-1,E=S*A,N=E>gf,k=y*w;if(c.add(Mf(k*S*Cf(E),v*M+k*Tf(E))),a+=N?A+S*_f:A,N^p>=e^m>=e){var C=ys(ps(d),ps(b));bs(C);var P=ys(o,C);bs(P);var z=(N^A>=0?-1:1)*Rf(P[2]);(r>z||r===z&&(C[0]||C[1]))&&(u+=N^A>=0?1:-1)}}return(a<-df||a0){for(l||(i.polygonStart(),l=!0),i.lineStart(),t=0;t1&&2&c&&h.push(h.pop().concat(h.shift())),a.push(h.filter(wl))}return h}}function wl(t){return t.length>1}function Ml(t,n){return((t=t.x)[0]<0?t[1]-yf-df:yf-t[1])-((n=n.x)[0]<0?n[1]-yf-df:yf-n[1])}al.invert=al;var Tl=xl((function(){return!0}),(function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,a){var u=o>0?gf:-gf,c=xf(o-e);xf(c-gf)0?yf:-yf),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),n=0):i!==u&&c>=gf&&(xf(e-i)df?wf((Cf(n)*(o=Tf(r))*Cf(e)-Cf(r)*(i=Tf(n))*Cf(t))/(i*o*a)):(n+r)/2}(e,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),n=0),t.point(e=o,r=a),i=u},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}),(function(t,n,e,r){var i;if(null==t)i=e*yf,r.point(-gf,i),r.point(0,i),r.point(gf,i),r.point(gf,0),r.point(gf,-i),r.point(0,-i),r.point(-gf,-i),r.point(-gf,0),r.point(-gf,i);else if(xf(t[0]-n[0])>df){var o=t[0]0,i=xf(n)>df;function o(t,e){return Tf(t)*Tf(e)>n}function a(t,e,r){var i=[1,0,0],o=ys(ps(t),ps(e)),a=gs(o,o),u=o[0],c=a-u*u;if(!c)return!r&&t;var f=n*a/c,s=-n*u/c,l=ys(i,o),h=_s(i,f);vs(h,_s(o,s));var d=l,p=gs(h,d),g=gs(d,d),y=p*p-g*(gs(h,h)-1);if(!(y<0)){var v=zf(y),_=_s(d,(-p-v)/g);if(vs(_,h),_=ds(_),!r)return _;var b,m=t[0],x=e[0],w=t[1],M=e[1];x0^_[1]<(xf(_[0]-m)gf^(m<=_[0]&&_[0]<=x)){var S=_s(d,(-p+v)/g);return vs(S,h),[_,ds(S)]}}}function u(n,e){var i=r?t:gf-t,o=0;return n<-i?o|=1:n>i&&(o|=2),e<-i?o|=4:e>i&&(o|=8),o}return xl(o,(function(t){var n,e,c,f,s;return{lineStart:function(){f=c=!1,s=1},point:function(l,h){var d,p=[l,h],g=o(l,h),y=r?g?0:u(l,h):g?u(l+(l<0?gf:-gf),h):0;if(!n&&(f=c=g)&&t.lineStart(),g!==c&&(!(d=a(n,p))||gl(n,d)||gl(p,d))&&(p[2]=1),g!==c)s=0,g?(t.lineStart(),d=a(p,n),t.point(d[0],d[1])):(d=a(n,p),t.point(d[0],d[1],2),t.lineEnd()),n=d;else if(i&&n&&r^g){var v;y&e||!(v=a(p,n,!0))||(s=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1],3)))}!g||n&&gl(n,p)||t.point(p[0],p[1]),n=p,c=g,e=y},lineEnd:function(){c&&t.lineEnd(),n=null},clean:function(){return s|(f&&c)<<1}}}),(function(n,r,i,o){hl(o,t,e,i,n,r)}),r?[0,-t]:[-gf,t-gf])}var Sl,El,Nl,kl,Cl=1e9,Pl=-Cl;function zl(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,u,f){var s=0,l=0;if(null==i||(s=a(i,u))!==(l=a(o,u))||c(i,o)<0^u>0)do{f.point(0===s||3===s?t:e,s>1?r:n)}while((s=(s+u+4)%4)!==l);else f.point(o[0],o[1])}function a(r,i){return xf(r[0]-t)0?0:3:xf(r[0]-e)0?2:1:xf(r[1]-n)0?1:0:i>0?3:2}function u(t,n){return c(t.x,n.x)}function c(t,n){var e=a(t,1),r=a(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(a){var c,f,s,l,h,d,p,g,y,v,_,b=a,m=pl(),x={point:w,lineStart:function(){x.point=M,f&&f.push(s=[]);v=!0,y=!1,p=g=NaN},lineEnd:function(){c&&(M(l,h),d&&y&&m.rejoin(),c.push(m.result()));x.point=w,y&&b.lineEnd()},polygonStart:function(){b=m,c=[],f=[],_=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=f.length;er&&(h-o)*(r-a)>(d-a)*(t-o)&&++n:d<=r&&(h-o)*(r-a)<(d-a)*(t-o)&&--n;return n}(),e=_&&n,i=(c=ft(c)).length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&vl(c,u,n,o,a),a.polygonEnd());b=a,c=f=s=null}};function w(t,n){i(t,n)&&b.point(t,n)}function M(o,a){var u=i(o,a);if(f&&s.push([o,a]),v)l=o,h=a,d=u,v=!1,u&&(b.lineStart(),b.point(o,a));else if(u&&y)b.point(o,a);else{var c=[p=Math.max(Pl,Math.min(Cl,p)),g=Math.max(Pl,Math.min(Cl,g))],m=[o=Math.max(Pl,Math.min(Cl,o)),a=Math.max(Pl,Math.min(Cl,a))];!function(t,n,e,r,i,o){var a,u=t[0],c=t[1],f=0,s=1,l=n[0]-u,h=n[1]-c;if(a=e-u,l||!(a>0)){if(a/=l,l<0){if(a0){if(a>s)return;a>f&&(f=a)}if(a=i-u,l||!(a<0)){if(a/=l,l<0){if(a>s)return;a>f&&(f=a)}else if(l>0){if(a0)){if(a/=h,h<0){if(a0){if(a>s)return;a>f&&(f=a)}if(a=o-c,h||!(a<0)){if(a/=h,h<0){if(a>s)return;a>f&&(f=a)}else if(h>0){if(a0&&(t[0]=u+f*l,t[1]=c+f*h),s<1&&(n[0]=u+s*l,n[1]=c+s*h),!0}}}}}(c,m,t,n,e,r)?u&&(b.lineStart(),b.point(o,a),_=!1):(y||(b.lineStart(),b.point(c[0],c[1])),b.point(m[0],m[1]),u||b.lineEnd(),_=!1)}p=o,g=a,y=u}return x}}var $l={sphere:qf,point:qf,lineStart:function(){$l.point=Rl,$l.lineEnd=Dl},lineEnd:qf,polygonStart:qf,polygonEnd:qf};function Dl(){$l.point=$l.lineEnd=qf}function Rl(t,n){El=t*=mf,Nl=Cf(n*=mf),kl=Tf(n),$l.point=Fl}function Fl(t,n){t*=mf;var e=Cf(n*=mf),r=Tf(n),i=xf(t-El),o=Tf(i),a=r*Cf(i),u=kl*e-Nl*r*o,c=Nl*e+kl*r*o;Sl.add(Mf(zf(a*a+u*u),c)),El=t,Nl=e,kl=r}function ql(t){return Sl=new T,Lf(t,$l),+Sl}var Ul=[null,null],Il={type:"LineString",coordinates:Ul};function Ol(t,n){return Ul[0]=t,Ul[1]=n,ql(Il)}var Bl={Feature:function(t,n){return Ll(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r0&&(i=Ol(t[o],t[o-1]))>0&&e<=i&&r<=i&&(e+r-i)*(1-Math.pow((e-r)/i,2))df})).map(c)).concat(lt(Af(o/d)*d,i,d).filter((function(t){return xf(t%g)>df})).map(f))}return v.lines=function(){return _().map((function(t){return{type:"LineString",coordinates:t}}))},v.outline=function(){return{type:"Polygon",coordinates:[s(r).concat(l(a).slice(1),s(e).reverse().slice(1),l(u).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],u=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),u>a&&(t=u,u=a,a=t),v.precision(y)):[[r,u],[e,a]]},v.extentMinor=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],o=+e[0][1],i=+e[1][1],n>t&&(e=n,n=t,t=e),o>i&&(e=o,o=i,i=e),v.precision(y)):[[n,o],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(p=+t[0],g=+t[1],v):[p,g]},v.stepMinor=function(t){return arguments.length?(h=+t[0],d=+t[1],v):[h,d]},v.precision=function(h){return arguments.length?(y=+h,c=Wl(o,i,90),f=Zl(n,t,y),s=Wl(u,a,90),l=Zl(r,e,y),v):y},v.extentMajor([[-180,-90+df],[180,90-df]]).extentMinor([[-180,-80-df],[180,80+df]])}var Ql,Jl,th,nh,eh=t=>t,rh=new T,ih=new T,oh={point:qf,lineStart:qf,lineEnd:qf,polygonStart:function(){oh.lineStart=ah,oh.lineEnd=fh},polygonEnd:function(){oh.lineStart=oh.lineEnd=oh.point=qf,rh.add(xf(ih)),ih=new T},result:function(){var t=rh/2;return rh=new T,t}};function ah(){oh.point=uh}function uh(t,n){oh.point=ch,Ql=th=t,Jl=nh=n}function ch(t,n){ih.add(nh*t-th*n),th=t,nh=n}function fh(){ch(Ql,Jl)}var sh=oh,lh=1/0,hh=lh,dh=-lh,ph=dh,gh={point:function(t,n){tdh&&(dh=t);nph&&(ph=n)},lineStart:qf,lineEnd:qf,polygonStart:qf,polygonEnd:qf,result:function(){var t=[[lh,hh],[dh,ph]];return dh=ph=-(hh=lh=1/0),t}};var yh,vh,_h,bh,mh=gh,xh=0,wh=0,Mh=0,Th=0,Ah=0,Sh=0,Eh=0,Nh=0,kh=0,Ch={point:Ph,lineStart:zh,lineEnd:Rh,polygonStart:function(){Ch.lineStart=Fh,Ch.lineEnd=qh},polygonEnd:function(){Ch.point=Ph,Ch.lineStart=zh,Ch.lineEnd=Rh},result:function(){var t=kh?[Eh/kh,Nh/kh]:Sh?[Th/Sh,Ah/Sh]:Mh?[xh/Mh,wh/Mh]:[NaN,NaN];return xh=wh=Mh=Th=Ah=Sh=Eh=Nh=kh=0,t}};function Ph(t,n){xh+=t,wh+=n,++Mh}function zh(){Ch.point=$h}function $h(t,n){Ch.point=Dh,Ph(_h=t,bh=n)}function Dh(t,n){var e=t-_h,r=n-bh,i=zf(e*e+r*r);Th+=i*(_h+t)/2,Ah+=i*(bh+n)/2,Sh+=i,Ph(_h=t,bh=n)}function Rh(){Ch.point=Ph}function Fh(){Ch.point=Uh}function qh(){Ih(yh,vh)}function Uh(t,n){Ch.point=Ih,Ph(yh=_h=t,vh=bh=n)}function Ih(t,n){var e=t-_h,r=n-bh,i=zf(e*e+r*r);Th+=i*(_h+t)/2,Ah+=i*(bh+n)/2,Sh+=i,Eh+=(i=bh*t-_h*n)*(_h+t),Nh+=i*(bh+n),kh+=3*i,Ph(_h=t,bh=n)}var Oh=Ch;function Bh(t){this._context=t}Bh.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,_f)}},result:qf};var Yh,Lh,jh,Hh,Xh,Gh=new T,Vh={point:qf,lineStart:function(){Vh.point=Wh},lineEnd:function(){Yh&&Zh(Lh,jh),Vh.point=qf},polygonStart:function(){Yh=!0},polygonEnd:function(){Yh=null},result:function(){var t=+Gh;return Gh=new T,t}};function Wh(t,n){Vh.point=Zh,Lh=Hh=t,jh=Xh=n}function Zh(t,n){Hh-=t,Xh-=n,Gh.add(zf(Hh*Hh+Xh*Xh)),Hh=t,Xh=n}var Kh=Vh;let Qh,Jh,td,nd;class ed{constructor(t){this._append=null==t?rd:function(t){const n=Math.floor(t);if(!(n>=0))throw new RangeError(`invalid digits: ${t}`);if(n>15)return rd;if(n!==Qh){const t=10**n;Qh=n,Jh=function(n){let e=1;this._+=n[0];for(const r=n.length;e4*n&&g--){var m=a+h,x=u+d,w=c+p,M=zf(m*m+x*x+w*w),T=Rf(w/=M),A=xf(xf(w)-1)n||xf((v*k+_*C)/b-.5)>.3||a*h+u*d+c*p2?t[2]%360*mf:0,k()):[y*bf,v*bf,_*bf]},E.angle=function(t){return arguments.length?(b=t%360*mf,k()):b*bf},E.reflectX=function(t){return arguments.length?(m=t?-1:1,k()):m<0},E.reflectY=function(t){return arguments.length?(x=t?-1:1,k()):x<0},E.precision=function(t){return arguments.length?(a=dd(u,S=t*t),C()):zf(S)},E.fitExtent=function(t,n){return ud(E,t,n)},E.fitSize=function(t,n){return cd(E,t,n)},E.fitWidth=function(t,n){return fd(E,t,n)},E.fitHeight=function(t,n){return sd(E,t,n)},function(){return n=t.apply(this,arguments),E.invert=n.invert&&N,k()}}function _d(t){var n=0,e=gf/3,r=vd(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*mf,e=t[1]*mf):[n*bf,e*bf]},i}function bd(t,n){var e=Cf(t),r=(e+Cf(n))/2;if(xf(r)0?n<-yf+df&&(n=-yf+df):n>yf-df&&(n=yf-df);var e=i/kf(Nd(n),r);return[e*Cf(r*t),i-e*Tf(r*t)]}return o.invert=function(t,n){var e=i-n,o=Pf(r)*zf(t*t+e*e),a=Mf(t,xf(e))*Pf(e);return e*r<0&&(a-=gf*Pf(t)*Pf(e)),[a/r,2*wf(kf(i/o,1/r))-yf]},o}function Cd(t,n){return[t,n]}function Pd(t,n){var e=Tf(t),r=t===n?Cf(t):(e-Tf(n))/(n-t),i=e/r+t;if(xf(r)=0;)n+=e[r].value;else n=1;t.value=n}function Gd(t,n){t instanceof Map?(t=[void 0,t],void 0===n&&(n=Wd)):void 0===n&&(n=Vd);for(var e,r,i,o,a,u=new Qd(t),c=[u];e=c.pop();)if((i=n(e.data))&&(a=(i=Array.from(i)).length))for(e.children=i,o=a-1;o>=0;--o)c.push(r=i[o]=new Qd(i[o])),r.parent=e,r.depth=e.depth+1;return u.eachBefore(Kd)}function Vd(t){return t.children}function Wd(t){return Array.isArray(t)?t[1]:null}function Zd(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function Kd(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function Qd(t){this.data=t,this.depth=this.height=0,this.parent=null}function Jd(t){return null==t?null:tp(t)}function tp(t){if("function"!=typeof t)throw new Error;return t}function np(){return 0}function ep(t){return function(){return t}}qd.invert=function(t,n){for(var e,r=n,i=r*r,o=i*i*i,a=0;a<12&&(o=(i=(r-=e=(r*(zd+$d*i+o*(Dd+Rd*i))-n)/(zd+3*$d*i+o*(7*Dd+9*Rd*i)))*r)*i*i,!(xf(e)df&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]},Od.invert=Md(Rf),Bd.invert=Md((function(t){return 2*wf(t)})),Yd.invert=function(t,n){return[-n,2*wf(Sf(t))-yf]},Qd.prototype=Gd.prototype={constructor:Qd,count:function(){return this.eachAfter(Xd)},each:function(t,n){let e=-1;for(const r of this)t.call(n,r,++e,this);return this},eachAfter:function(t,n){for(var e,r,i,o=this,a=[o],u=[],c=-1;o=a.pop();)if(u.push(o),e=o.children)for(r=0,i=e.length;r=0;--r)o.push(e[r]);return this},find:function(t,n){let e=-1;for(const r of this)if(t.call(n,r,++e,this))return r},sum:function(t){return this.eachAfter((function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e}))},sort:function(t){return this.eachBefore((function(n){n.children&&n.children.sort(t)}))},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;t=e.pop(),n=r.pop();for(;t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore((function(n){n.children||t.push(n)})),t},links:function(){var t=this,n=[];return t.each((function(e){e!==t&&n.push({source:e.parent,target:e})})),n},copy:function(){return Gd(this).eachBefore(Zd)},[Symbol.iterator]:function*(){var t,n,e,r,i=this,o=[i];do{for(t=o.reverse(),o=[];i=t.pop();)if(yield i,n=i.children)for(e=0,r=n.length;e(t=(rp*t+ip)%op)/op}function up(t,n){for(var e,r,i=0,o=(t=function(t,n){let e,r,i=t.length;for(;i;)r=n()*i--|0,e=t[i],t[i]=t[r],t[r]=e;return t}(Array.from(t),n)).length,a=[];i0&&e*e>r*r+i*i}function lp(t,n){for(var e=0;e1e-6?(E+Math.sqrt(E*E-4*S*N))/(2*S):N/E);return{x:r+w+M*k,y:i+T+A*k,r:k}}function gp(t,n,e){var r,i,o,a,u=t.x-n.x,c=t.y-n.y,f=u*u+c*c;f?(i=n.r+e.r,i*=i,a=t.r+e.r,i>(a*=a)?(r=(f+a-i)/(2*f),o=Math.sqrt(Math.max(0,a/f-r*r)),e.x=t.x-r*u-o*c,e.y=t.y-r*c+o*u):(r=(f+i-a)/(2*f),o=Math.sqrt(Math.max(0,i/f-r*r)),e.x=n.x+r*u-o*c,e.y=n.y+r*c+o*u)):(e.x=n.x+e.r,e.y=n.y)}function yp(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function vp(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function _p(t){this._=t,this.next=null,this.previous=null}function bp(t,n){if(!(o=(t=function(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}(t)).length))return 0;var e,r,i,o,a,u,c,f,s,l,h;if((e=t[0]).x=0,e.y=0,!(o>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(o>2))return e.r+r.r;gp(r,e,i=t[2]),e=new _p(e),r=new _p(r),i=new _p(i),e.next=i.previous=r,r.next=e.previous=i,i.next=r.previous=e;t:for(c=3;c1&&!zp(t,n););return t.slice(0,n)}function zp(t,n){if("/"===t[n]){let e=0;for(;n>0&&"\\"===t[--n];)++e;if(!(1&e))return!0}return!1}function $p(t,n){return t.parent===n.parent?1:2}function Dp(t){var n=t.children;return n?n[0]:t.t}function Rp(t){var n=t.children;return n?n[n.length-1]:t.t}function Fp(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function qp(t,n,e){return t.a.parent===n.parent?t.a:e}function Up(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}function Ip(t,n,e,r,i){for(var o,a=t.children,u=-1,c=a.length,f=t.value&&(i-e)/t.value;++uh&&(h=u),y=s*s*g,(d=Math.max(h/y,y/l))>p){s-=u;break}p=d}v.push(a={value:s,dice:c1?n:1)},e}(Op);var Lp=function t(n){function e(t,e,r,i,o){if((a=t._squarify)&&a.ratio===n)for(var a,u,c,f,s,l=-1,h=a.length,d=t.value;++l1?n:1)},e}(Op);function jp(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function Hp(t,n){return t[0]-n[0]||t[1]-n[1]}function Xp(t){const n=t.length,e=[0,1];let r,i=2;for(r=2;r1&&jp(t[e[i-2]],t[e[i-1]],t[r])<=0;)--i;e[i++]=r}return e.slice(0,i)}var Gp=Math.random,Vp=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,1===arguments.length?(e=t,t=0):e-=t,function(){return n()*e+t}}return e.source=t,e}(Gp),Wp=function t(n){function e(t,e){return arguments.length<2&&(e=t,t=0),t=Math.floor(t),e=Math.floor(e)-t,function(){return Math.floor(n()*e+t)}}return e.source=t,e}(Gp),Zp=function t(n){function e(t,e){var r,i;return t=null==t?0:+t,e=null==e?1:+e,function(){var o;if(null!=r)o=r,r=null;else do{r=2*n()-1,o=2*n()-1,i=r*r+o*o}while(!i||i>1);return t+e*o*Math.sqrt(-2*Math.log(i)/i)}}return e.source=t,e}(Gp),Kp=function t(n){var e=Zp.source(n);function r(){var t=e.apply(this,arguments);return function(){return Math.exp(t())}}return r.source=t,r}(Gp),Qp=function t(n){function e(t){return(t=+t)<=0?()=>0:function(){for(var e=0,r=t;r>1;--r)e+=n();return e+r*n()}}return e.source=t,e}(Gp),Jp=function t(n){var e=Qp.source(n);function r(t){if(0==(t=+t))return n;var r=e(t);return function(){return r()/t}}return r.source=t,r}(Gp),tg=function t(n){function e(t){return function(){return-Math.log1p(-n())/t}}return e.source=t,e}(Gp),ng=function t(n){function e(t){if((t=+t)<0)throw new RangeError("invalid alpha");return t=1/-t,function(){return Math.pow(1-n(),t)}}return e.source=t,e}(Gp),eg=function t(n){function e(t){if((t=+t)<0||t>1)throw new RangeError("invalid p");return function(){return Math.floor(n()+t)}}return e.source=t,e}(Gp),rg=function t(n){function e(t){if((t=+t)<0||t>1)throw new RangeError("invalid p");return 0===t?()=>1/0:1===t?()=>1:(t=Math.log1p(-t),function(){return 1+Math.floor(Math.log1p(-n())/t)})}return e.source=t,e}(Gp),ig=function t(n){var e=Zp.source(n)();function r(t,r){if((t=+t)<0)throw new RangeError("invalid k");if(0===t)return()=>0;if(r=null==r?1:+r,1===t)return()=>-Math.log1p(-n())*r;var i=(t<1?t+1:t)-1/3,o=1/(3*Math.sqrt(i)),a=t<1?()=>Math.pow(n(),1/t):()=>1;return function(){do{do{var t=e(),u=1+o*t}while(u<=0);u*=u*u;var c=1-n()}while(c>=1-.0331*t*t*t*t&&Math.log(c)>=.5*t*t+i*(1-u+Math.log(u)));return i*u*a()*r}}return r.source=t,r}(Gp),og=function t(n){var e=ig.source(n);function r(t,n){var r=e(t),i=e(n);return function(){var t=r();return 0===t?0:t/(t+i())}}return r.source=t,r}(Gp),ag=function t(n){var e=rg.source(n),r=og.source(n);function i(t,n){return t=+t,(n=+n)>=1?()=>t:n<=0?()=>0:function(){for(var i=0,o=t,a=n;o*a>16&&o*(1-a)>16;){var u=Math.floor((o+1)*a),c=r(u,o-u+1)();c<=a?(i+=u,o-=u,a=(a-c)/(1-c)):(o=u-1,a/=c)}for(var f=a<.5,s=e(f?a:1-a),l=s(),h=0;l<=o;++h)l+=s();return i+(f?h:o-h)}}return i.source=t,i}(Gp),ug=function t(n){function e(t,e,r){var i;return 0==(t=+t)?i=t=>-Math.log(t):(t=1/t,i=n=>Math.pow(n,t)),e=null==e?0:+e,r=null==r?1:+r,function(){return e+r*i(-Math.log1p(-n()))}}return e.source=t,e}(Gp),cg=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,function(){return t+e*Math.tan(Math.PI*n())}}return e.source=t,e}(Gp),fg=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,function(){var r=n();return t+e*Math.log(r/(1-r))}}return e.source=t,e}(Gp),sg=function t(n){var e=ig.source(n),r=ag.source(n);function i(t){return function(){for(var i=0,o=t;o>16;){var a=Math.floor(.875*o),u=e(a)();if(u>o)return i+r(a-1,o/u)();i+=a,o-=u}for(var c=-Math.log1p(-n()),f=0;c<=o;++f)c-=Math.log1p(-n());return i+f}}return i.source=t,i}(Gp);const lg=1/4294967296;function hg(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function dg(t,n){switch(arguments.length){case 0:break;case 1:"function"==typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"==typeof n?this.interpolator(n):this.range(n)}return this}const pg=Symbol("implicit");function gg(){var t=new InternMap,n=[],e=[],r=pg;function i(i){let o=t.get(i);if(void 0===o){if(r!==pg)return r;t.set(i,o=n.push(i)-1)}return e[o%e.length]}return i.domain=function(e){if(!arguments.length)return n.slice();n=[],t=new InternMap;for(const r of e)t.has(r)||t.set(r,n.push(r)-1);return i},i.range=function(t){return arguments.length?(e=Array.from(t),i):e.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return gg(n,e).unknown(r)},hg.apply(i,arguments),i}function yg(){var t,n,e=gg().unknown(void 0),r=e.domain,i=e.range,o=0,a=1,u=!1,c=0,f=0,s=.5;function l(){var e=r().length,l=an&&(e=t,t=n,n=e),function(e){return Math.max(t,Math.min(n,e))}}(a[0],a[t-1])),r=t>2?Mg:wg,i=o=null,l}function l(n){return null==n||isNaN(n=+n)?e:(i||(i=r(a.map(t),u,c)))(t(f(n)))}return l.invert=function(e){return f(n((o||(o=r(u,a.map(t),Yr)))(e)))},l.domain=function(t){return arguments.length?(a=Array.from(t,_g),s()):a.slice()},l.range=function(t){return arguments.length?(u=Array.from(t),s()):u.slice()},l.rangeRound=function(t){return u=Array.from(t),c=Vr,s()},l.clamp=function(t){return arguments.length?(f=!!t||mg,s()):f!==mg},l.interpolate=function(t){return arguments.length?(c=t,s()):c},l.unknown=function(t){return arguments.length?(e=t,l):e},function(e,r){return t=e,n=r,s()}}function Sg(){return Ag()(mg,mg)}function Eg(n,e,r,i){var o,a=W(n,e,r);switch((i=Jc(null==i?",f":i)).type){case"s":var u=Math.max(Math.abs(n),Math.abs(e));return null!=i.precision||isNaN(o=lf(a,u))||(i.precision=o),t.formatPrefix(i,u);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(o=hf(a,Math.max(Math.abs(n),Math.abs(e))))||(i.precision=o-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(o=sf(a))||(i.precision=o-2*("%"===i.type))}return t.format(i)}function Ng(t){var n=t.domain;return t.ticks=function(t){var e=n();return G(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return Eg(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i,o=n(),a=0,u=o.length-1,c=o[a],f=o[u],s=10;for(f0;){if((i=V(c,f,e))===r)return o[a]=c,o[u]=f,n(o);if(i>0)c=Math.floor(c/i)*i,f=Math.ceil(f/i)*i;else{if(!(i<0))break;c=Math.ceil(c*i)/i,f=Math.floor(f*i)/i}r=i}return t},t}function kg(t,n){var e,r=0,i=(t=t.slice()).length-1,o=t[r],a=t[i];return a-t(-n,e)}function Fg(n){const e=n(Cg,Pg),r=e.domain;let i,o,a=10;function u(){return i=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),n=>Math.log(n)/t)}(a),o=function(t){return 10===t?Dg:t===Math.E?Math.exp:n=>Math.pow(t,n)}(a),r()[0]<0?(i=Rg(i),o=Rg(o),n(zg,$g)):n(Cg,Pg),e}return e.base=function(t){return arguments.length?(a=+t,u()):a},e.domain=function(t){return arguments.length?(r(t),u()):r()},e.ticks=t=>{const n=r();let e=n[0],u=n[n.length-1];const c=u0){for(;l<=h;++l)for(f=1;fu)break;p.push(s)}}else for(;l<=h;++l)for(f=a-1;f>=1;--f)if(s=l>0?f/o(-l):f*o(l),!(su)break;p.push(s)}2*p.length{if(null==n&&(n=10),null==r&&(r=10===a?"s":","),"function"!=typeof r&&(a%1||null!=(r=Jc(r)).precision||(r.trim=!0),r=t.format(r)),n===1/0)return r;const u=Math.max(1,a*n/e.ticks().length);return t=>{let n=t/o(Math.round(i(t)));return n*ar(kg(r(),{floor:t=>o(Math.floor(i(t))),ceil:t=>o(Math.ceil(i(t)))})),e}function qg(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function Ug(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function Ig(t){var n=1,e=t(qg(n),Ug(n));return e.constant=function(e){return arguments.length?t(qg(n=+e),Ug(n)):n},Ng(e)}function Og(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function Bg(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function Yg(t){return t<0?-t*t:t*t}function Lg(t){var n=t(mg,mg),e=1;return n.exponent=function(n){return arguments.length?1===(e=+n)?t(mg,mg):.5===e?t(Bg,Yg):t(Og(e),Og(1/e)):e},Ng(n)}function jg(){var t=Lg(Ag());return t.copy=function(){return Tg(t,jg()).exponent(t.exponent())},hg.apply(t,arguments),t}function Hg(t){return Math.sign(t)*t*t}const Xg=new Date,Gg=new Date;function Vg(t,n,e,r){function i(n){return t(n=0===arguments.length?new Date:new Date(+n)),n}return i.floor=n=>(t(n=new Date(+n)),n),i.ceil=e=>(t(e=new Date(e-1)),n(e,1),t(e),e),i.round=t=>{const n=i(t),e=i.ceil(t);return t-n(n(t=new Date(+t),null==e?1:Math.floor(e)),t),i.range=(e,r,o)=>{const a=[];if(e=i.ceil(e),o=null==o?1:Math.floor(o),!(e0))return a;let u;do{a.push(u=new Date(+e)),n(e,o),t(e)}while(uVg((n=>{if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)}),((t,r)=>{if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););})),e&&(i.count=(n,r)=>(Xg.setTime(+n),Gg.setTime(+r),t(Xg),t(Gg),Math.floor(e(Xg,Gg))),i.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?n=>r(n)%t==0:n=>i.count(0,n)%t==0):i:null)),i}const Wg=Vg((()=>{}),((t,n)=>{t.setTime(+t+n)}),((t,n)=>n-t));Wg.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?Vg((n=>{n.setTime(Math.floor(n/t)*t)}),((n,e)=>{n.setTime(+n+e*t)}),((n,e)=>(e-n)/t)):Wg:null);const Zg=Wg.range,Kg=1e3,Qg=6e4,Jg=36e5,ty=864e5,ny=6048e5,ey=2592e6,ry=31536e6,iy=Vg((t=>{t.setTime(t-t.getMilliseconds())}),((t,n)=>{t.setTime(+t+n*Kg)}),((t,n)=>(n-t)/Kg),(t=>t.getUTCSeconds())),oy=iy.range,ay=Vg((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Kg)}),((t,n)=>{t.setTime(+t+n*Qg)}),((t,n)=>(n-t)/Qg),(t=>t.getMinutes())),uy=ay.range,cy=Vg((t=>{t.setUTCSeconds(0,0)}),((t,n)=>{t.setTime(+t+n*Qg)}),((t,n)=>(n-t)/Qg),(t=>t.getUTCMinutes())),fy=cy.range,sy=Vg((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Kg-t.getMinutes()*Qg)}),((t,n)=>{t.setTime(+t+n*Jg)}),((t,n)=>(n-t)/Jg),(t=>t.getHours())),ly=sy.range,hy=Vg((t=>{t.setUTCMinutes(0,0,0)}),((t,n)=>{t.setTime(+t+n*Jg)}),((t,n)=>(n-t)/Jg),(t=>t.getUTCHours())),dy=hy.range,py=Vg((t=>t.setHours(0,0,0,0)),((t,n)=>t.setDate(t.getDate()+n)),((t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Qg)/ty),(t=>t.getDate()-1)),gy=py.range,yy=Vg((t=>{t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCDate(t.getUTCDate()+n)}),((t,n)=>(n-t)/ty),(t=>t.getUTCDate()-1)),vy=yy.range,_y=Vg((t=>{t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCDate(t.getUTCDate()+n)}),((t,n)=>(n-t)/ty),(t=>Math.floor(t/ty))),by=_y.range;function my(t){return Vg((n=>{n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)}),((t,n)=>{t.setDate(t.getDate()+7*n)}),((t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Qg)/ny))}const xy=my(0),wy=my(1),My=my(2),Ty=my(3),Ay=my(4),Sy=my(5),Ey=my(6),Ny=xy.range,ky=wy.range,Cy=My.range,Py=Ty.range,zy=Ay.range,$y=Sy.range,Dy=Ey.range;function Ry(t){return Vg((n=>{n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCDate(t.getUTCDate()+7*n)}),((t,n)=>(n-t)/ny))}const Fy=Ry(0),qy=Ry(1),Uy=Ry(2),Iy=Ry(3),Oy=Ry(4),By=Ry(5),Yy=Ry(6),Ly=Fy.range,jy=qy.range,Hy=Uy.range,Xy=Iy.range,Gy=Oy.range,Vy=By.range,Wy=Yy.range,Zy=Vg((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,n)=>{t.setMonth(t.getMonth()+n)}),((t,n)=>n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())),(t=>t.getMonth())),Ky=Zy.range,Qy=Vg((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCMonth(t.getUTCMonth()+n)}),((t,n)=>n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth())),Jy=Qy.range,tv=Vg((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,n)=>{t.setFullYear(t.getFullYear()+n)}),((t,n)=>n.getFullYear()-t.getFullYear()),(t=>t.getFullYear()));tv.every=t=>isFinite(t=Math.floor(t))&&t>0?Vg((n=>{n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)}),((n,e)=>{n.setFullYear(n.getFullYear()+e*t)})):null;const nv=tv.range,ev=Vg((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n)}),((t,n)=>n.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));ev.every=t=>isFinite(t=Math.floor(t))&&t>0?Vg((n=>{n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}),((n,e)=>{n.setUTCFullYear(n.getUTCFullYear()+e*t)})):null;const rv=ev.range;function iv(t,n,e,i,o,a){const u=[[iy,1,Kg],[iy,5,5e3],[iy,15,15e3],[iy,30,3e4],[a,1,Qg],[a,5,3e5],[a,15,9e5],[a,30,18e5],[o,1,Jg],[o,3,108e5],[o,6,216e5],[o,12,432e5],[i,1,ty],[i,2,1728e5],[e,1,ny],[n,1,ey],[n,3,7776e6],[t,1,ry]];function c(n,e,i){const o=Math.abs(e-n)/i,a=r((([,,t])=>t)).right(u,o);if(a===u.length)return t.every(W(n/ry,e/ry,i));if(0===a)return Wg.every(Math.max(W(n,e,i),1));const[c,f]=u[o/u[a-1][2]=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:k_,s:C_,S:Zv,u:Kv,U:Qv,V:t_,w:n_,W:e_,x:null,X:null,y:r_,Y:o_,Z:u_,"%":N_},m={a:function(t){return a[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:c_,e:c_,f:d_,g:T_,G:S_,H:f_,I:s_,j:l_,L:h_,m:p_,M:g_,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:k_,s:C_,S:y_,u:v_,U:__,V:m_,w:x_,W:w_,x:null,X:null,y:M_,Y:A_,Z:E_,"%":N_},x={a:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.w=p.get(r[0].toLowerCase()),e+r[0].length):-1},A:function(t,n,e){var r=l.exec(n.slice(e));return r?(t.w=h.get(r[0].toLowerCase()),e+r[0].length):-1},b:function(t,n,e){var r=v.exec(n.slice(e));return r?(t.m=_.get(r[0].toLowerCase()),e+r[0].length):-1},B:function(t,n,e){var r=g.exec(n.slice(e));return r?(t.m=y.get(r[0].toLowerCase()),e+r[0].length):-1},c:function(t,e,r){return T(t,n,e,r)},d:zv,e:zv,f:Uv,g:Nv,G:Ev,H:Dv,I:Dv,j:$v,L:qv,m:Pv,M:Rv,p:function(t,n,e){var r=f.exec(n.slice(e));return r?(t.p=s.get(r[0].toLowerCase()),e+r[0].length):-1},q:Cv,Q:Ov,s:Bv,S:Fv,u:Mv,U:Tv,V:Av,w:wv,W:Sv,x:function(t,n,r){return T(t,e,n,r)},X:function(t,n,e){return T(t,r,n,e)},y:Nv,Y:Ev,Z:kv,"%":Iv};function w(t,n){return function(e){var r,i,o,a=[],u=-1,c=0,f=t.length;for(e instanceof Date||(e=new Date(+e));++u53)return null;"w"in o||(o.w=1),"Z"in o?(i=(r=sv(lv(o.y,0,1))).getUTCDay(),r=i>4||0===i?qy.ceil(r):qy(r),r=yy.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=fv(lv(o.y,0,1))).getDay(),r=i>4||0===i?wy.ceil(r):wy(r),r=py.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?sv(lv(o.y,0,1)).getUTCDay():fv(lv(o.y,0,1)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,sv(o)):fv(o)}}function T(t,n,e,r){for(var i,o,a=0,u=n.length,c=e.length;a=c)return-1;if(37===(i=n.charCodeAt(a++))){if(i=n.charAt(a++),!(o=x[i in pv?n.charAt(a++):i])||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}return b.x=w(e,b),b.X=w(r,b),b.c=w(n,b),m.x=w(e,m),m.X=w(r,m),m.c=w(n,m),{format:function(t){var n=w(t+="",b);return n.toString=function(){return t},n},parse:function(t){var n=M(t+="",!1);return n.toString=function(){return t},n},utcFormat:function(t){var n=w(t+="",m);return n.toString=function(){return t},n},utcParse:function(t){var n=M(t+="",!0);return n.toString=function(){return t},n}}}var dv,pv={"-":"",_:" ",0:"0"},gv=/^\s*\d+/,yv=/^%/,vv=/[\\^$*+?|[\]().{}]/g;function _v(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o[t.toLowerCase(),n])))}function wv(t,n,e){var r=gv.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function Mv(t,n,e){var r=gv.exec(n.slice(e,e+1));return r?(t.u=+r[0],e+r[0].length):-1}function Tv(t,n,e){var r=gv.exec(n.slice(e,e+2));return r?(t.U=+r[0],e+r[0].length):-1}function Av(t,n,e){var r=gv.exec(n.slice(e,e+2));return r?(t.V=+r[0],e+r[0].length):-1}function Sv(t,n,e){var r=gv.exec(n.slice(e,e+2));return r?(t.W=+r[0],e+r[0].length):-1}function Ev(t,n,e){var r=gv.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Nv(t,n,e){var r=gv.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function kv(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function Cv(t,n,e){var r=gv.exec(n.slice(e,e+1));return r?(t.q=3*r[0]-3,e+r[0].length):-1}function Pv(t,n,e){var r=gv.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function zv(t,n,e){var r=gv.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function $v(t,n,e){var r=gv.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function Dv(t,n,e){var r=gv.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function Rv(t,n,e){var r=gv.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function Fv(t,n,e){var r=gv.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function qv(t,n,e){var r=gv.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function Uv(t,n,e){var r=gv.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function Iv(t,n,e){var r=yv.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function Ov(t,n,e){var r=gv.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function Bv(t,n,e){var r=gv.exec(n.slice(e));return r?(t.s=+r[0],e+r[0].length):-1}function Yv(t,n){return _v(t.getDate(),n,2)}function Lv(t,n){return _v(t.getHours(),n,2)}function jv(t,n){return _v(t.getHours()%12||12,n,2)}function Hv(t,n){return _v(1+py.count(tv(t),t),n,3)}function Xv(t,n){return _v(t.getMilliseconds(),n,3)}function Gv(t,n){return Xv(t,n)+"000"}function Vv(t,n){return _v(t.getMonth()+1,n,2)}function Wv(t,n){return _v(t.getMinutes(),n,2)}function Zv(t,n){return _v(t.getSeconds(),n,2)}function Kv(t){var n=t.getDay();return 0===n?7:n}function Qv(t,n){return _v(xy.count(tv(t)-1,t),n,2)}function Jv(t){var n=t.getDay();return n>=4||0===n?Ay(t):Ay.ceil(t)}function t_(t,n){return t=Jv(t),_v(Ay.count(tv(t),t)+(4===tv(t).getDay()),n,2)}function n_(t){return t.getDay()}function e_(t,n){return _v(wy.count(tv(t)-1,t),n,2)}function r_(t,n){return _v(t.getFullYear()%100,n,2)}function i_(t,n){return _v((t=Jv(t)).getFullYear()%100,n,2)}function o_(t,n){return _v(t.getFullYear()%1e4,n,4)}function a_(t,n){var e=t.getDay();return _v((t=e>=4||0===e?Ay(t):Ay.ceil(t)).getFullYear()%1e4,n,4)}function u_(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+_v(n/60|0,"0",2)+_v(n%60,"0",2)}function c_(t,n){return _v(t.getUTCDate(),n,2)}function f_(t,n){return _v(t.getUTCHours(),n,2)}function s_(t,n){return _v(t.getUTCHours()%12||12,n,2)}function l_(t,n){return _v(1+yy.count(ev(t),t),n,3)}function h_(t,n){return _v(t.getUTCMilliseconds(),n,3)}function d_(t,n){return h_(t,n)+"000"}function p_(t,n){return _v(t.getUTCMonth()+1,n,2)}function g_(t,n){return _v(t.getUTCMinutes(),n,2)}function y_(t,n){return _v(t.getUTCSeconds(),n,2)}function v_(t){var n=t.getUTCDay();return 0===n?7:n}function __(t,n){return _v(Fy.count(ev(t)-1,t),n,2)}function b_(t){var n=t.getUTCDay();return n>=4||0===n?Oy(t):Oy.ceil(t)}function m_(t,n){return t=b_(t),_v(Oy.count(ev(t),t)+(4===ev(t).getUTCDay()),n,2)}function x_(t){return t.getUTCDay()}function w_(t,n){return _v(qy.count(ev(t)-1,t),n,2)}function M_(t,n){return _v(t.getUTCFullYear()%100,n,2)}function T_(t,n){return _v((t=b_(t)).getUTCFullYear()%100,n,2)}function A_(t,n){return _v(t.getUTCFullYear()%1e4,n,4)}function S_(t,n){var e=t.getUTCDay();return _v((t=e>=4||0===e?Oy(t):Oy.ceil(t)).getUTCFullYear()%1e4,n,4)}function E_(){return"+0000"}function N_(){return"%"}function k_(t){return+t}function C_(t){return Math.floor(+t/1e3)}function P_(n){return dv=hv(n),t.timeFormat=dv.format,t.timeParse=dv.parse,t.utcFormat=dv.utcFormat,t.utcParse=dv.utcParse,dv}t.timeFormat=void 0,t.timeParse=void 0,t.utcFormat=void 0,t.utcParse=void 0,P_({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var z_="%Y-%m-%dT%H:%M:%S.%LZ";var $_=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat(z_),D_=$_;var R_=+new Date("2000-01-01T00:00:00.000Z")?function(t){var n=new Date(t);return isNaN(n)?null:n}:t.utcParse(z_),F_=R_;function q_(t){return new Date(t)}function U_(t){return t instanceof Date?+t:+new Date(+t)}function I_(t,n,e,r,i,o,a,u,c,f){var s=Sg(),l=s.invert,h=s.domain,d=f(".%L"),p=f(":%S"),g=f("%I:%M"),y=f("%I %p"),v=f("%a %d"),_=f("%b %d"),b=f("%B"),m=f("%Y");function x(t){return(c(t)Fr(t[t.length-1]),ib=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(H_),ob=rb(ib),ab=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(H_),ub=rb(ab),cb=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(H_),fb=rb(cb),sb=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(H_),lb=rb(sb),hb=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(H_),db=rb(hb),pb=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(H_),gb=rb(pb),yb=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(H_),vb=rb(yb),_b=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(H_),bb=rb(_b),mb=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(H_),xb=rb(mb),wb=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(H_),Mb=rb(wb),Tb=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(H_),Ab=rb(Tb),Sb=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(H_),Eb=rb(Sb),Nb=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(H_),kb=rb(Nb),Cb=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(H_),Pb=rb(Cb),zb=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(H_),$b=rb(zb),Db=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(H_),Rb=rb(Db),Fb=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(H_),qb=rb(Fb),Ub=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(H_),Ib=rb(Ub),Ob=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(H_),Bb=rb(Ob),Yb=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(H_),Lb=rb(Yb),jb=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(H_),Hb=rb(jb),Xb=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(H_),Gb=rb(Xb),Vb=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(H_),Wb=rb(Vb),Zb=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(H_),Kb=rb(Zb),Qb=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(H_),Jb=rb(Qb),tm=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(H_),nm=rb(tm),em=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(H_),rm=rb(em);var im=hi(Tr(300,.5,0),Tr(-240,.5,1)),om=hi(Tr(-100,.75,.35),Tr(80,1.5,.8)),am=hi(Tr(260,.75,.35),Tr(80,1.5,.8)),um=Tr();var cm=Fe(),fm=Math.PI/3,sm=2*Math.PI/3;function lm(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}var hm=lm(H_("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),dm=lm(H_("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),pm=lm(H_("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),gm=lm(H_("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function ym(t){return function(){return t}}const vm=Math.abs,_m=Math.atan2,bm=Math.cos,mm=Math.max,xm=Math.min,wm=Math.sin,Mm=Math.sqrt,Tm=1e-12,Am=Math.PI,Sm=Am/2,Em=2*Am;function Nm(t){return t>=1?Sm:t<=-1?-Sm:Math.asin(t)}function km(t){let n=3;return t.digits=function(e){if(!arguments.length)return n;if(null==e)n=null;else{const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);n=t}return t},()=>new Ua(n)}function Cm(t){return t.innerRadius}function Pm(t){return t.outerRadius}function zm(t){return t.startAngle}function $m(t){return t.endAngle}function Dm(t){return t&&t.padAngle}function Rm(t,n,e,r,i,o,a){var u=t-e,c=n-r,f=(a?o:-o)/Mm(u*u+c*c),s=f*c,l=-f*u,h=t+s,d=n+l,p=e+s,g=r+l,y=(h+p)/2,v=(d+g)/2,_=p-h,b=g-d,m=_*_+b*b,x=i-o,w=h*g-p*d,M=(b<0?-1:1)*Mm(mm(0,x*x*m-w*w)),T=(w*b-_*M)/m,A=(-w*_-b*M)/m,S=(w*b+_*M)/m,E=(-w*_+b*M)/m,N=T-y,k=A-v,C=S-y,P=E-v;return N*N+k*k>C*C+P*P&&(T=S,A=E),{cx:T,cy:A,x01:-s,y01:-l,x11:T*(i/x-1),y11:A*(i/x-1)}}var Fm=Array.prototype.slice;function qm(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function Um(t){this._context=t}function Im(t){return new Um(t)}function Om(t){return t[0]}function Bm(t){return t[1]}function Ym(t,n){var e=ym(!0),r=null,i=Im,o=null,a=km(u);function u(u){var c,f,s,l=(u=qm(u)).length,h=!1;for(null==r&&(o=i(s=a())),c=0;c<=l;++c)!(c=l;--h)u.point(v[h],_[h]);u.lineEnd(),u.areaEnd()}y&&(v[s]=+t(d,s,f),_[s]=+n(d,s,f),u.point(r?+r(d,s,f):v[s],e?+e(d,s,f):_[s]))}if(p)return u=null,p+""||null}function s(){return Ym().defined(i).curve(a).context(o)}return t="function"==typeof t?t:void 0===t?Om:ym(+t),n="function"==typeof n?n:ym(void 0===n?0:+n),e="function"==typeof e?e:void 0===e?Bm:ym(+e),f.x=function(n){return arguments.length?(t="function"==typeof n?n:ym(+n),r=null,f):t},f.x0=function(n){return arguments.length?(t="function"==typeof n?n:ym(+n),f):t},f.x1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:ym(+t),f):r},f.y=function(t){return arguments.length?(n="function"==typeof t?t:ym(+t),e=null,f):n},f.y0=function(t){return arguments.length?(n="function"==typeof t?t:ym(+t),f):n},f.y1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:ym(+t),f):e},f.lineX0=f.lineY0=function(){return s().x(t).y(n)},f.lineY1=function(){return s().x(t).y(e)},f.lineX1=function(){return s().x(r).y(n)},f.defined=function(t){return arguments.length?(i="function"==typeof t?t:ym(!!t),f):i},f.curve=function(t){return arguments.length?(a=t,null!=o&&(u=a(o)),f):a},f.context=function(t){return arguments.length?(null==t?o=u=null:u=a(o=t),f):o},f}function jm(t,n){return nt?1:n>=t?0:NaN}function Hm(t){return t}Um.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var Xm=Vm(Im);function Gm(t){this._curve=t}function Vm(t){function n(n){return new Gm(t(n))}return n._curve=t,n}function Wm(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(Vm(t)):n()._curve},t}function Zm(){return Wm(Ym().curve(Xm))}function Km(){var t=Lm().curve(Xm),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Wm(e())},delete t.lineX0,t.lineEndAngle=function(){return Wm(r())},delete t.lineX1,t.lineInnerRadius=function(){return Wm(i())},delete t.lineY0,t.lineOuterRadius=function(){return Wm(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(Vm(t)):n()._curve},t}function Qm(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}Gm.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};class Jm{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n)}this._x0=t,this._y0=n}}class tx{constructor(t){this._context=t}lineStart(){this._point=0}lineEnd(){}point(t,n){if(t=+t,n=+n,0===this._point)this._point=1;else{const e=Qm(this._x0,this._y0),r=Qm(this._x0,this._y0=(this._y0+n)/2),i=Qm(t,this._y0),o=Qm(t,n);this._context.moveTo(...e),this._context.bezierCurveTo(...r,...i,...o)}this._x0=t,this._y0=n}}function nx(t){return new Jm(t,!0)}function ex(t){return new Jm(t,!1)}function rx(t){return new tx(t)}function ix(t){return t.source}function ox(t){return t.target}function ax(t){let n=ix,e=ox,r=Om,i=Bm,o=null,a=null,u=km(c);function c(){let c;const f=Fm.call(arguments),s=n.apply(this,f),l=e.apply(this,f);if(null==o&&(a=t(c=u())),a.lineStart(),f[0]=s,a.point(+r.apply(this,f),+i.apply(this,f)),f[0]=l,a.point(+r.apply(this,f),+i.apply(this,f)),a.lineEnd(),c)return a=null,c+""||null}return c.source=function(t){return arguments.length?(n=t,c):n},c.target=function(t){return arguments.length?(e=t,c):e},c.x=function(t){return arguments.length?(r="function"==typeof t?t:ym(+t),c):r},c.y=function(t){return arguments.length?(i="function"==typeof t?t:ym(+t),c):i},c.context=function(n){return arguments.length?(null==n?o=a=null:a=t(o=n),c):o},c}const ux=Mm(3);var cx={draw(t,n){const e=.59436*Mm(n+xm(n/28,.75)),r=e/2,i=r*ux;t.moveTo(0,e),t.lineTo(0,-e),t.moveTo(-i,-r),t.lineTo(i,r),t.moveTo(-i,r),t.lineTo(i,-r)}},fx={draw(t,n){const e=Mm(n/Am);t.moveTo(e,0),t.arc(0,0,e,0,Em)}},sx={draw(t,n){const e=Mm(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}};const lx=Mm(1/3),hx=2*lx;var dx={draw(t,n){const e=Mm(n/hx),r=e*lx;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},px={draw(t,n){const e=.62625*Mm(n);t.moveTo(0,-e),t.lineTo(e,0),t.lineTo(0,e),t.lineTo(-e,0),t.closePath()}},gx={draw(t,n){const e=.87559*Mm(n-xm(n/7,2));t.moveTo(-e,0),t.lineTo(e,0),t.moveTo(0,e),t.lineTo(0,-e)}},yx={draw(t,n){const e=Mm(n),r=-e/2;t.rect(r,r,e,e)}},vx={draw(t,n){const e=.4431*Mm(n);t.moveTo(e,e),t.lineTo(e,-e),t.lineTo(-e,-e),t.lineTo(-e,e),t.closePath()}};const _x=wm(Am/10)/wm(7*Am/10),bx=wm(Em/10)*_x,mx=-bm(Em/10)*_x;var xx={draw(t,n){const e=Mm(.8908130915292852*n),r=bx*e,i=mx*e;t.moveTo(0,-e),t.lineTo(r,i);for(let n=1;n<5;++n){const o=Em*n/5,a=bm(o),u=wm(o);t.lineTo(u*e,-a*e),t.lineTo(a*r-u*i,u*r+a*i)}t.closePath()}};const wx=Mm(3);var Mx={draw(t,n){const e=-Mm(n/(3*wx));t.moveTo(0,2*e),t.lineTo(-wx*e,-e),t.lineTo(wx*e,-e),t.closePath()}};const Tx=Mm(3);var Ax={draw(t,n){const e=.6824*Mm(n),r=e/2,i=e*Tx/2;t.moveTo(0,-e),t.lineTo(i,r),t.lineTo(-i,r),t.closePath()}};const Sx=-.5,Ex=Mm(3)/2,Nx=1/Mm(12),kx=3*(Nx/2+1);var Cx={draw(t,n){const e=Mm(n/kx),r=e/2,i=e*Nx,o=r,a=e*Nx+e,u=-o,c=a;t.moveTo(r,i),t.lineTo(o,a),t.lineTo(u,c),t.lineTo(Sx*r-Ex*i,Ex*r+Sx*i),t.lineTo(Sx*o-Ex*a,Ex*o+Sx*a),t.lineTo(Sx*u-Ex*c,Ex*u+Sx*c),t.lineTo(Sx*r+Ex*i,Sx*i-Ex*r),t.lineTo(Sx*o+Ex*a,Sx*a-Ex*o),t.lineTo(Sx*u+Ex*c,Sx*c-Ex*u),t.closePath()}},Px={draw(t,n){const e=.6189*Mm(n-xm(n/6,1.7));t.moveTo(-e,-e),t.lineTo(e,e),t.moveTo(-e,e),t.lineTo(e,-e)}};const zx=[fx,sx,dx,yx,xx,Mx,Cx],$x=[fx,gx,Px,Ax,cx,vx,px];function Dx(){}function Rx(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function Fx(t){this._context=t}function qx(t){this._context=t}function Ux(t){this._context=t}function Ix(t,n){this._basis=new Fx(t),this._beta=n}Fx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Rx(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Rx(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},qx.prototype={areaStart:Dx,areaEnd:Dx,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Rx(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Ux.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:Rx(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Ix.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],a=t[e]-i,u=n[e]-o,c=-1;++c<=e;)r=c/e,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*a),this._beta*n[c]+(1-this._beta)*(o+r*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Ox=function t(n){function e(t){return 1===n?new Fx(t):new Ix(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function Bx(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function Yx(t,n){this._context=t,this._k=(1-n)/6}Yx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Bx(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:Bx(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Lx=function t(n){function e(t){return new Yx(t,n)}return e.tension=function(n){return t(+n)},e}(0);function jx(t,n){this._context=t,this._k=(1-n)/6}jx.prototype={areaStart:Dx,areaEnd:Dx,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Bx(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Hx=function t(n){function e(t){return new jx(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Xx(t,n){this._context=t,this._k=(1-n)/6}Xx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Bx(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Gx=function t(n){function e(t){return new Xx(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Vx(t,n,e){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>Tm){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>Tm){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,s=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*f+t._x1*t._l23_2a-n*t._l12_2a)/s,a=(a*f+t._y1*t._l23_2a-e*t._l12_2a)/s}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function Wx(t,n){this._context=t,this._alpha=n}Wx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:Vx(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Zx=function t(n){function e(t){return n?new Wx(t,n):new Yx(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Kx(t,n){this._context=t,this._alpha=n}Kx.prototype={areaStart:Dx,areaEnd:Dx,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Vx(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Qx=function t(n){function e(t){return n?new Kx(t,n):new jx(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Jx(t,n){this._context=t,this._alpha=n}Jx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Vx(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var tw=function t(n){function e(t){return n?new Jx(t,n):new Xx(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function nw(t){this._context=t}function ew(t){return t<0?-1:1}function rw(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(e-t._y1)/(i||r<0&&-0),u=(o*i+a*r)/(r+i);return(ew(o)+ew(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(u))||0}function iw(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function ow(t,n,e){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,u=(o-r)/3;t._context.bezierCurveTo(r+u,i+u*n,o-u,a-u*e,o,a)}function aw(t){this._context=t}function uw(t){this._context=new cw(t)}function cw(t){this._context=t}function fw(t){this._context=t}function sw(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],n=1;n=0;--n)i[n]=(a[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n1)for(var e,r,i,o=1,a=t[n[0]],u=a.length;o=0;)e[n]=n;return e}function pw(t,n){return t[n]}function gw(t){const n=[];return n.key=t,n}function yw(t){var n=t.map(vw);return dw(t).sort((function(t,e){return n[t]-n[e]}))}function vw(t){for(var n,e=-1,r=0,i=t.length,o=-1/0;++eo&&(o=n,r=e);return r}function _w(t){var n=t.map(bw);return dw(t).sort((function(t,e){return n[t]-n[e]}))}function bw(t){for(var n,e=0,r=-1,i=t.length;++r=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var mw=t=>()=>t;function xw(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ww(t,n,e){this.k=t,this.x=n,this.y=e}ww.prototype={constructor:ww,scale:function(t){return 1===t?this:new ww(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new ww(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Mw=new ww(1,0,0);function Tw(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Mw;return t.__zoom}function Aw(t){t.stopImmediatePropagation()}function Sw(t){t.preventDefault(),t.stopImmediatePropagation()}function Ew(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function Nw(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function kw(){return this.__zoom||Mw}function Cw(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Pw(){return navigator.maxTouchPoints||"ontouchstart"in this}function zw(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],a=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}Tw.prototype=ww.prototype,t.Adder=T,t.Delaunay=Lu,t.FormatSpecifier=tf,t.InternMap=InternMap,t.InternSet=InternSet,t.Node=Qd,t.Path=Ua,t.Voronoi=qu,t.ZoomTransform=ww,t.active=function(t,n){var e,r,i=t.__transition;if(i)for(r in n=null==n?null:n+"",i)if((e=i[r]).state>qi&&e.name===n)return new po([[t]],Zo,n,+r);return null},t.arc=function(){var t=Cm,n=Pm,e=ym(0),r=null,i=zm,o=$m,a=Dm,u=null,c=km(f);function f(){var f,s,l=+t.apply(this,arguments),h=+n.apply(this,arguments),d=i.apply(this,arguments)-Sm,p=o.apply(this,arguments)-Sm,g=vm(p-d),y=p>d;if(u||(u=f=c()),hTm)if(g>Em-Tm)u.moveTo(h*bm(d),h*wm(d)),u.arc(0,0,h,d,p,!y),l>Tm&&(u.moveTo(l*bm(p),l*wm(p)),u.arc(0,0,l,p,d,y));else{var v,_,b=d,m=p,x=d,w=p,M=g,T=g,A=a.apply(this,arguments)/2,S=A>Tm&&(r?+r.apply(this,arguments):Mm(l*l+h*h)),E=xm(vm(h-l)/2,+e.apply(this,arguments)),N=E,k=E;if(S>Tm){var C=Nm(S/l*wm(A)),P=Nm(S/h*wm(A));(M-=2*C)>Tm?(x+=C*=y?1:-1,w-=C):(M=0,x=w=(d+p)/2),(T-=2*P)>Tm?(b+=P*=y?1:-1,m-=P):(T=0,b=m=(d+p)/2)}var z=h*bm(b),$=h*wm(b),D=l*bm(w),R=l*wm(w);if(E>Tm){var F,q=h*bm(m),U=h*wm(m),I=l*bm(x),O=l*wm(x);if(g1?0:t<-1?Am:Math.acos(t)}((B*L+Y*j)/(Mm(B*B+Y*Y)*Mm(L*L+j*j)))/2),X=Mm(F[0]*F[0]+F[1]*F[1]);N=xm(E,(l-X)/(H-1)),k=xm(E,(h-X)/(H+1))}else N=k=0}T>Tm?k>Tm?(v=Rm(I,O,z,$,h,k,y),_=Rm(q,U,D,R,h,k,y),u.moveTo(v.cx+v.x01,v.cy+v.y01),kTm&&M>Tm?N>Tm?(v=Rm(D,R,q,U,l,-N,y),_=Rm(z,$,I,O,l,-N,y),u.lineTo(v.cx+v.x01,v.cy+v.y01),N=0))throw new RangeError("invalid r");let e=t.length;if(!((e=Math.floor(e))>=0))throw new RangeError("invalid length");if(!e||!n)return t;const r=y(n),i=t.slice();return r(t,i,0,e,1),r(i,t,0,e,1),r(t,i,0,e,1),t},t.blur2=l,t.blurImage=h,t.brush=function(){return wa(la)},t.brushSelection=function(t){var n=t.__brush;return n?n.dim.output(n.selection):null},t.brushX=function(){return wa(fa)},t.brushY=function(){return wa(sa)},t.buffer=function(t,n){return fetch(t,n).then(_c)},t.chord=function(){return za(!1,!1)},t.chordDirected=function(){return za(!0,!1)},t.chordTranspose=function(){return za(!1,!0)},t.cluster=function(){var t=Ld,n=1,e=1,r=!1;function i(i){var o,a=0;i.eachAfter((function(n){var e=n.children;e?(n.x=function(t){return t.reduce(jd,0)/t.length}(e),n.y=function(t){return 1+t.reduce(Hd,0)}(e)):(n.x=o?a+=t(n,o):0,n.y=0,o=n)}));var u=function(t){for(var n;n=t.children;)t=n[0];return t}(i),c=function(t){for(var n;n=t.children;)t=n[n.length-1];return t}(i),f=u.x-t(u,c)/2,s=c.x+t(c,u)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*n,t.y=(i.y-t.y)*e}:function(t){t.x=(t.x-f)/(s-f)*n,t.y=(1-(i.y?t.y/i.y:1))*e})}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},t.color=ze,t.contourDensity=function(){var t=fu,n=su,e=lu,r=960,i=500,o=20,a=2,u=3*o,c=r+2*u>>a,f=i+2*u>>a,s=Qa(20);function h(r){var i=new Float32Array(c*f),s=Math.pow(2,-a),h=-1;for(const o of r){var d=(t(o,++h,r)+u)*s,p=(n(o,h,r)+u)*s,g=+e(o,h,r);if(g&&d>=0&&d=0&&pt*r)))(n).map(((t,n)=>(t.value=+e[n],p(t))))}function p(t){return t.coordinates.forEach(g),t}function g(t){t.forEach(y)}function y(t){t.forEach(v)}function v(t){t[0]=t[0]*Math.pow(2,a)-u,t[1]=t[1]*Math.pow(2,a)-u}function _(){return c=r+2*(u=3*o)>>a,f=i+2*u>>a,d}return d.contours=function(t){var n=h(t),e=iu().size([c,f]),r=Math.pow(2,2*a),i=t=>{t=+t;var i=p(e.contour(n,t*r));return i.value=t,i};return Object.defineProperty(i,"max",{get:()=>J(n)/r}),i},d.x=function(n){return arguments.length?(t="function"==typeof n?n:Qa(+n),d):t},d.y=function(t){return arguments.length?(n="function"==typeof t?t:Qa(+t),d):n},d.weight=function(t){return arguments.length?(e="function"==typeof t?t:Qa(+t),d):e},d.size=function(t){if(!arguments.length)return[r,i];var n=+t[0],e=+t[1];if(!(n>=0&&e>=0))throw new Error("invalid size");return r=n,i=e,_()},d.cellSize=function(t){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(t)/Math.LN2),_()},d.thresholds=function(t){return arguments.length?(s="function"==typeof t?t:Array.isArray(t)?Qa(Za.call(t)):Qa(t),d):s},d.bandwidth=function(t){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return o=(Math.sqrt(4*t*t+1)-1)/2,_()},d},t.contours=iu,t.count=v,t.create=function(t){return Zn(Yt(t).call(document.documentElement))},t.creator=Yt,t.cross=function(...t){const n="function"==typeof t[t.length-1]&&function(t){return n=>t(...n)}(t.pop()),e=(t=t.map(m)).map(_),r=t.length-1,i=new Array(r+1).fill(0),o=[];if(r<0||e.some(b))return o;for(;;){o.push(i.map(((n,e)=>t[e][n])));let a=r;for(;++i[a]===e[a];){if(0===a)return n?o.map(n):o;i[a--]=0}}},t.csv=wc,t.csvFormat=rc,t.csvFormatBody=ic,t.csvFormatRow=ac,t.csvFormatRows=oc,t.csvFormatValue=uc,t.csvParse=nc,t.csvParseRows=ec,t.cubehelix=Tr,t.cumsum=function(t,n){var e=0,r=0;return Float64Array.from(t,void 0===n?t=>e+=+t||0:i=>e+=+n(i,r++,t)||0)},t.curveBasis=function(t){return new Fx(t)},t.curveBasisClosed=function(t){return new qx(t)},t.curveBasisOpen=function(t){return new Ux(t)},t.curveBumpX=nx,t.curveBumpY=ex,t.curveBundle=Ox,t.curveCardinal=Lx,t.curveCardinalClosed=Hx,t.curveCardinalOpen=Gx,t.curveCatmullRom=Zx,t.curveCatmullRomClosed=Qx,t.curveCatmullRomOpen=tw,t.curveLinear=Im,t.curveLinearClosed=function(t){return new nw(t)},t.curveMonotoneX=function(t){return new aw(t)},t.curveMonotoneY=function(t){return new uw(t)},t.curveNatural=function(t){return new fw(t)},t.curveStep=function(t){return new lw(t,.5)},t.curveStepAfter=function(t){return new lw(t,1)},t.curveStepBefore=function(t){return new lw(t,0)},t.descending=e,t.deviation=w,t.difference=function(t,...n){t=new InternSet(t);for(const e of n)for(const n of e)t.delete(n);return t},t.disjoint=function(t,n){const e=n[Symbol.iterator](),r=new InternSet;for(const n of t){if(r.has(n))return!1;let t,i;for(;({value:t,done:i}=e.next())&&!i;){if(Object.is(n,t))return!1;r.add(t)}}return!0},t.dispatch=$t,t.drag=function(){var t,n,e,r,i=se,o=le,a=he,u=de,c={},f=$t("start","drag","end"),s=0,l=0;function h(t){t.on("mousedown.drag",d).filter(u).on("touchstart.drag",y).on("touchmove.drag",v,ee).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(a,u){if(!r&&i.call(this,a,u)){var c=b(this,o.call(this,a,u),a,u,"mouse");c&&(Zn(a.view).on("mousemove.drag",p,re).on("mouseup.drag",g,re),ae(a.view),ie(a),e=!1,t=a.clientX,n=a.clientY,c("start",a))}}function p(r){if(oe(r),!e){var i=r.clientX-t,o=r.clientY-n;e=i*i+o*o>l}c.mouse("drag",r)}function g(t){Zn(t.view).on("mousemove.drag mouseup.drag",null),ue(t.view,e),oe(t),c.mouse("end",t)}function y(t,n){if(i.call(this,t,n)){var e,r,a=t.changedTouches,u=o.call(this,t,n),c=a.length;for(e=0;e+t,t.easePoly=wo,t.easePolyIn=mo,t.easePolyInOut=wo,t.easePolyOut=xo,t.easeQuad=_o,t.easeQuadIn=function(t){return t*t},t.easeQuadInOut=_o,t.easeQuadOut=function(t){return t*(2-t)},t.easeSin=Ao,t.easeSinIn=function(t){return 1==+t?1:1-Math.cos(t*To)},t.easeSinInOut=Ao,t.easeSinOut=function(t){return Math.sin(t*To)},t.every=function(t,n){if("function"!=typeof n)throw new TypeError("test is not a function");let e=-1;for(const r of t)if(!n(r,++e,t))return!1;return!0},t.extent=M,t.fcumsum=function(t,n){const e=new T;let r=-1;return Float64Array.from(t,void 0===n?t=>e.add(+t||0):i=>e.add(+n(i,++r,t)||0))},t.filter=function(t,n){if("function"!=typeof n)throw new TypeError("test is not a function");const e=[];let r=-1;for(const i of t)n(i,++r,t)&&e.push(i);return e},t.flatGroup=function(t,...n){return z(P(t,...n),n)},t.flatRollup=function(t,n,...e){return z(D(t,n,...e),e)},t.forceCenter=function(t,n){var e,r=1;function i(){var i,o,a=e.length,u=0,c=0;for(i=0;if+p||os+p||ac.index){var g=f-u.x-u.vx,y=s-u.y-u.vy,v=g*g+y*y;vt.r&&(t.r=t[n].r)}function c(){if(n){var r,i,o=n.length;for(e=new Array(o),r=0;r[u(t,n,r),t])));for(a=0,i=new Array(f);a=u)){(t.data!==n||t.next)&&(0===l&&(p+=(l=Uc(e))*l),0===h&&(p+=(h=Uc(e))*h),p(t=(Lc*t+jc)%Hc)/Hc}();function l(){h(),f.call("tick",n),e1?(null==e?u.delete(t):u.set(t,p(e)),n):u.get(t)},find:function(n,e,r){var i,o,a,u,c,f=0,s=t.length;for(null==r?r=1/0:r*=r,f=0;f1?(f.on(t,e),n):f.on(t)}}},t.forceX=function(t){var n,e,r,i=qc(.1);function o(t){for(var i,o=0,a=n.length;o=.12&&i<.234&&r>=-.425&&r<-.214?u:i>=.166&&i<.234&&r>=-.214&&r<-.115?c:a).invert(t)},s.stream=function(e){return t&&n===e?t:(r=[a.stream(n=e),u.stream(e),c.stream(e)],i=r.length,t={point:function(t,n){for(var e=-1;++ejs(r[0],r[1])&&(r[1]=i[1]),js(i[0],r[1])>js(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,n=0,r=o[e=o.length-1];n<=e;r=i,++n)i=o[n],(u=js(r[1],i[0]))>a&&(a=u,Wf=i[0],Kf=r[1])}return is=os=null,Wf===1/0||Zf===1/0?[[NaN,NaN],[NaN,NaN]]:[[Wf,Zf],[Kf,Qf]]},t.geoCentroid=function(t){ms=xs=ws=Ms=Ts=As=Ss=Es=0,Ns=new T,ks=new T,Cs=new T,Lf(t,Gs);var n=+Ns,e=+ks,r=+Cs,i=Ef(n,e,r);return i=0))throw new RangeError(`invalid digits: ${t}`);i=n}return null===n&&(r=new ed(i)),a},a.projection(t).digits(i).context(n)},t.geoProjection=yd,t.geoProjectionMutator=vd,t.geoRotation=ll,t.geoStereographic=function(){return yd(Bd).scale(250).clipAngle(142)},t.geoStereographicRaw=Bd,t.geoStream=Lf,t.geoTransform=function(t){return{stream:id(t)}},t.geoTransverseMercator=function(){var t=Ed(Yd),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):[(t=n())[1],-t[0]]},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):[(t=e())[0],t[1],t[2]-90]},e([0,0,90]).scale(159.155)},t.geoTransverseMercatorRaw=Yd,t.gray=function(t,n){return new ur(t,0,0,null==n?1:n)},t.greatest=ot,t.greatestIndex=function(t,e=n){if(1===e.length)return tt(t,e);let r,i=-1,o=-1;for(const n of t)++o,(i<0?0===e(n,n):e(n,r)>0)&&(r=n,i=o);return i},t.group=C,t.groupSort=function(t,e,r){return(2!==e.length?U($(t,e,r),(([t,e],[r,i])=>n(e,i)||n(t,r))):U(C(t,r),(([t,r],[i,o])=>e(r,o)||n(t,i)))).map((([t])=>t))},t.groups=P,t.hcl=dr,t.hierarchy=Gd,t.histogram=Q,t.hsl=He,t.html=Ec,t.image=function(t,n){return new Promise((function(e,r){var i=new Image;for(var o in n)i[o]=n[o];i.onerror=r,i.onload=function(){e(i)},i.src=t}))},t.index=function(t,...n){return F(t,k,R,n)},t.indexes=function(t,...n){return F(t,Array.from,R,n)},t.interpolate=Gr,t.interpolateArray=function(t,n){return(Ir(n)?Ur:Or)(t,n)},t.interpolateBasis=Er,t.interpolateBasisClosed=Nr,t.interpolateBlues=Gb,t.interpolateBrBG=ob,t.interpolateBuGn=Mb,t.interpolateBuPu=Ab,t.interpolateCividis=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-2710.57*t)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-67.37*t)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-2475.67*t)))))))+")"},t.interpolateCool=am,t.interpolateCubehelix=li,t.interpolateCubehelixDefault=im,t.interpolateCubehelixLong=hi,t.interpolateDate=Br,t.interpolateDiscrete=function(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}},t.interpolateGnBu=Eb,t.interpolateGreens=Wb,t.interpolateGreys=Kb,t.interpolateHcl=ci,t.interpolateHclLong=fi,t.interpolateHsl=oi,t.interpolateHslLong=ai,t.interpolateHue=function(t,n){var e=Pr(+t,+n);return function(t){var n=e(t);return n-360*Math.floor(n/360)}},t.interpolateInferno=pm,t.interpolateLab=function(t,n){var e=$r((t=ar(t)).l,(n=ar(n)).l),r=$r(t.a,n.a),i=$r(t.b,n.b),o=$r(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=o(n),t+""}},t.interpolateMagma=dm,t.interpolateNumber=Yr,t.interpolateNumberArray=Ur,t.interpolateObject=Lr,t.interpolateOrRd=kb,t.interpolateOranges=rm,t.interpolatePRGn=ub,t.interpolatePiYG=fb,t.interpolatePlasma=gm,t.interpolatePuBu=$b,t.interpolatePuBuGn=Pb,t.interpolatePuOr=lb,t.interpolatePuRd=Rb,t.interpolatePurples=Jb,t.interpolateRainbow=function(t){(t<0||t>1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return um.h=360*t-100,um.s=1.5-1.5*n,um.l=.8-.9*n,um+""},t.interpolateRdBu=db,t.interpolateRdGy=gb,t.interpolateRdPu=qb,t.interpolateRdYlBu=vb,t.interpolateRdYlGn=bb,t.interpolateReds=nm,t.interpolateRgb=Dr,t.interpolateRgbBasis=Fr,t.interpolateRgbBasisClosed=qr,t.interpolateRound=Vr,t.interpolateSinebow=function(t){var n;return t=(.5-t)*Math.PI,cm.r=255*(n=Math.sin(t))*n,cm.g=255*(n=Math.sin(t+fm))*n,cm.b=255*(n=Math.sin(t+sm))*n,cm+""},t.interpolateSpectral=xb,t.interpolateString=Xr,t.interpolateTransformCss=ti,t.interpolateTransformSvg=ni,t.interpolateTurbo=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"},t.interpolateViridis=hm,t.interpolateWarm=om,t.interpolateYlGn=Bb,t.interpolateYlGnBu=Ib,t.interpolateYlOrBr=Lb,t.interpolateYlOrRd=Hb,t.interpolateZoom=ri,t.interrupt=Gi,t.intersection=function(t,...n){t=new InternSet(t),n=n.map(vt);t:for(const e of t)for(const r of n)if(!r.has(e)){t.delete(e);continue t}return t},t.interval=function(t,n,e){var r=new Ei,i=n;return null==n?(r.restart(t,n,e),r):(r._restart=r.restart,r.restart=function(t,n,e){n=+n,e=null==e?Ai():+e,r._restart((function o(a){a+=i,r._restart(o,i+=n,e),t(a)}),n,e)},r.restart(t,n,e),r)},t.isoFormat=D_,t.isoParse=F_,t.json=function(t,n){return fetch(t,n).then(Tc)},t.lab=ar,t.lch=function(t,n,e,r){return 1===arguments.length?hr(t):new pr(e,n,t,null==r?1:r)},t.least=function(t,e=n){let r,i=!1;if(1===e.length){let o;for(const a of t){const t=e(a);(i?n(t,o)<0:0===n(t,t))&&(r=a,o=t,i=!0)}}else for(const n of t)(i?e(n,r)<0:0===e(n,n))&&(r=n,i=!0);return r},t.leastIndex=ht,t.line=Ym,t.lineRadial=Zm,t.link=ax,t.linkHorizontal=function(){return ax(nx)},t.linkRadial=function(){const t=ax(rx);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.linkVertical=function(){return ax(ex)},t.local=Qn,t.map=function(t,n){if("function"!=typeof t[Symbol.iterator])throw new TypeError("values is not iterable");if("function"!=typeof n)throw new TypeError("mapper is not a function");return Array.from(t,((e,r)=>n(e,r,t)))},t.matcher=Vt,t.max=J,t.maxIndex=tt,t.mean=function(t,n){let e=0,r=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(++e,r+=n);else{let i=-1;for(let o of t)null!=(o=n(o,++i,t))&&(o=+o)>=o&&(++e,r+=o)}if(e)return r/e},t.median=function(t,n){return at(t,.5,n)},t.medianIndex=function(t,n){return ct(t,.5,n)},t.merge=ft,t.min=nt,t.minIndex=et,t.mode=function(t,n){const e=new InternMap;if(void 0===n)for(let n of t)null!=n&&n>=n&&e.set(n,(e.get(n)||0)+1);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&i>=i&&e.set(i,(e.get(i)||0)+1)}let r,i=0;for(const[t,n]of e)n>i&&(i=n,r=t);return r},t.namespace=It,t.namespaces=Ut,t.nice=Z,t.now=Ai,t.pack=function(){var t=null,n=1,e=1,r=np;function i(i){const o=ap();return i.x=n/2,i.y=e/2,t?i.eachBefore(xp(t)).eachAfter(wp(r,.5,o)).eachBefore(Mp(1)):i.eachBefore(xp(mp)).eachAfter(wp(np,1,o)).eachAfter(wp(r,i.r/Math.min(n,e),o)).eachBefore(Mp(Math.min(n,e)/(2*i.r))),i}return i.radius=function(n){return arguments.length?(t=Jd(n),i):t},i.size=function(t){return arguments.length?(n=+t[0],e=+t[1],i):[n,e]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:ep(+t),i):r},i},t.packEnclose=function(t){return up(t,ap())},t.packSiblings=function(t){return bp(t,ap()),t},t.pairs=function(t,n=st){const e=[];let r,i=!1;for(const o of t)i&&e.push(n(r,o)),r=o,i=!0;return e},t.partition=function(){var t=1,n=1,e=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=e,i.x1=t,i.y1=n/o,i.eachBefore(function(t,n){return function(r){r.children&&Ap(r,r.x0,t*(r.depth+1)/n,r.x1,t*(r.depth+2)/n);var i=r.x0,o=r.y0,a=r.x1-e,u=r.y1-e;a0&&(d+=l);for(null!=n?p.sort((function(t,e){return n(g[t],g[e])})):null!=e&&p.sort((function(t,n){return e(a[t],a[n])})),u=0,f=d?(v-h*b)/d:0;u0?l*f:0)+b,g[c]={data:a[c],index:u,value:l,startAngle:y,endAngle:s,padAngle:_};return g}return a.value=function(n){return arguments.length?(t="function"==typeof n?n:ym(+n),a):t},a.sortValues=function(t){return arguments.length?(n=t,e=null,a):n},a.sort=function(t){return arguments.length?(e=t,n=null,a):e},a.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:ym(+t),a):r},a.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:ym(+t),a):i},a.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:ym(+t),a):o},a},t.piecewise=di,t.pointRadial=Qm,t.pointer=ne,t.pointers=function(t,n){return t.target&&(t=te(t),void 0===n&&(n=t.currentTarget),t=t.touches||[t]),Array.from(t,(t=>ne(t,n)))},t.polygonArea=function(t){for(var n,e=-1,r=t.length,i=t[r-1],o=0;++eu!=f>u&&a<(c-e)*(u-r)/(f-r)+e&&(s=!s),c=e,f=r;return s},t.polygonHull=function(t){if((e=t.length)<3)return null;var n,e,r=new Array(e),i=new Array(e);for(n=0;n=0;--n)f.push(t[r[o[n]][2]]);for(n=+u;n(n=1664525*n+1013904223|0,lg*(n>>>0))},t.randomLogNormal=Kp,t.randomLogistic=fg,t.randomNormal=Zp,t.randomPareto=ng,t.randomPoisson=sg,t.randomUniform=Vp,t.randomWeibull=ug,t.range=lt,t.rank=function(t,e=n){if("function"!=typeof t[Symbol.iterator])throw new TypeError("values is not iterable");let r=Array.from(t);const i=new Float64Array(r.length);2!==e.length&&(r=r.map(e),e=n);const o=(t,n)=>e(r[t],r[n]);let a,u;return(t=Uint32Array.from(r,((t,n)=>n))).sort(e===n?(t,n)=>O(r[t],r[n]):I(o)),t.forEach(((t,n)=>{const e=o(t,void 0===a?t:a);e>=0?((void 0===a||e>0)&&(a=t,u=n),i[t]=u):i[t]=NaN})),i},t.reduce=function(t,n,e){if("function"!=typeof n)throw new TypeError("reducer is not a function");const r=t[Symbol.iterator]();let i,o,a=-1;if(arguments.length<3){if(({done:i,value:e}=r.next()),i)return;++a}for(;({done:i,value:o}=r.next()),!i;)e=n(e,o,++a,t);return e},t.reverse=function(t){if("function"!=typeof t[Symbol.iterator])throw new TypeError("values is not iterable");return Array.from(t).reverse()},t.rgb=Fe,t.ribbon=function(){return Wa()},t.ribbonArrow=function(){return Wa(Va)},t.rollup=$,t.rollups=D,t.scaleBand=yg,t.scaleDiverging=function t(){var n=Ng(L_()(mg));return n.copy=function(){return B_(n,t())},dg.apply(n,arguments)},t.scaleDivergingLog=function t(){var n=Fg(L_()).domain([.1,1,10]);return n.copy=function(){return B_(n,t()).base(n.base())},dg.apply(n,arguments)},t.scaleDivergingPow=j_,t.scaleDivergingSqrt=function(){return j_.apply(null,arguments).exponent(.5)},t.scaleDivergingSymlog=function t(){var n=Ig(L_());return n.copy=function(){return B_(n,t()).constant(n.constant())},dg.apply(n,arguments)},t.scaleIdentity=function t(n){var e;function r(t){return null==t||isNaN(t=+t)?e:t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(n=Array.from(t,_g),r):n.slice()},r.unknown=function(t){return arguments.length?(e=t,r):e},r.copy=function(){return t(n).unknown(e)},n=arguments.length?Array.from(n,_g):[0,1],Ng(r)},t.scaleImplicit=pg,t.scaleLinear=function t(){var n=Sg();return n.copy=function(){return Tg(n,t())},hg.apply(n,arguments),Ng(n)},t.scaleLog=function t(){const n=Fg(Ag()).domain([1,10]);return n.copy=()=>Tg(n,t()).base(n.base()),hg.apply(n,arguments),n},t.scaleOrdinal=gg,t.scalePoint=function(){return vg(yg.apply(null,arguments).paddingInner(1))},t.scalePow=jg,t.scaleQuantile=function t(){var e,r=[],i=[],o=[];function a(){var t=0,n=Math.max(1,i.length);for(o=new Array(n-1);++t0?o[n-1]:r[0],n=i?[o[i-1],r]:[o[n-1],o[n]]},u.unknown=function(t){return arguments.length?(n=t,u):u},u.thresholds=function(){return o.slice()},u.copy=function(){return t().domain([e,r]).range(a).unknown(n)},hg.apply(Ng(u),arguments)},t.scaleRadial=function t(){var n,e=Sg(),r=[0,1],i=!1;function o(t){var r=function(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}(e(t));return isNaN(r)?n:i?Math.round(r):r}return o.invert=function(t){return e.invert(Hg(t))},o.domain=function(t){return arguments.length?(e.domain(t),o):e.domain()},o.range=function(t){return arguments.length?(e.range((r=Array.from(t,_g)).map(Hg)),o):r.slice()},o.rangeRound=function(t){return o.range(t).round(!0)},o.round=function(t){return arguments.length?(i=!!t,o):i},o.clamp=function(t){return arguments.length?(e.clamp(t),o):e.clamp()},o.unknown=function(t){return arguments.length?(n=t,o):n},o.copy=function(){return t(e.domain(),r).round(i).clamp(e.clamp()).unknown(n)},hg.apply(o,arguments),Ng(o)},t.scaleSequential=function t(){var n=Ng(O_()(mg));return n.copy=function(){return B_(n,t())},dg.apply(n,arguments)},t.scaleSequentialLog=function t(){var n=Fg(O_()).domain([1,10]);return n.copy=function(){return B_(n,t()).base(n.base())},dg.apply(n,arguments)},t.scaleSequentialPow=Y_,t.scaleSequentialQuantile=function t(){var e=[],r=mg;function i(t){if(null!=t&&!isNaN(t=+t))return r((s(e,t,1)-1)/(e.length-1))}return i.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)null==n||isNaN(n=+n)||e.push(n);return e.sort(n),i},i.interpolator=function(t){return arguments.length?(r=t,i):r},i.range=function(){return e.map(((t,n)=>r(n/(e.length-1))))},i.quantiles=function(t){return Array.from({length:t+1},((n,r)=>at(e,r/t)))},i.copy=function(){return t(r).domain(e)},dg.apply(i,arguments)},t.scaleSequentialSqrt=function(){return Y_.apply(null,arguments).exponent(.5)},t.scaleSequentialSymlog=function t(){var n=Ig(O_());return n.copy=function(){return B_(n,t()).constant(n.constant())},dg.apply(n,arguments)},t.scaleSqrt=function(){return jg.apply(null,arguments).exponent(.5)},t.scaleSymlog=function t(){var n=Ig(Ag());return n.copy=function(){return Tg(n,t()).constant(n.constant())},hg.apply(n,arguments)},t.scaleThreshold=function t(){var n,e=[.5],r=[0,1],i=1;function o(t){return null!=t&&t<=t?r[s(e,t,0,i)]:n}return o.domain=function(t){return arguments.length?(e=Array.from(t),i=Math.min(e.length,r.length-1),o):e.slice()},o.range=function(t){return arguments.length?(r=Array.from(t),i=Math.min(e.length,r.length-1),o):r.slice()},o.invertExtent=function(t){var n=r.indexOf(t);return[e[n-1],e[n]]},o.unknown=function(t){return arguments.length?(n=t,o):n},o.copy=function(){return t().domain(e).range(r).unknown(n)},hg.apply(o,arguments)},t.scaleTime=function(){return hg.apply(I_(uv,cv,tv,Zy,xy,py,sy,ay,iy,t.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},t.scaleUtc=function(){return hg.apply(I_(ov,av,ev,Qy,Fy,yy,hy,cy,iy,t.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},t.scan=function(t,n){const e=ht(t,n);return e<0?void 0:e},t.schemeAccent=G_,t.schemeBlues=Xb,t.schemeBrBG=ib,t.schemeBuGn=wb,t.schemeBuPu=Tb,t.schemeCategory10=X_,t.schemeDark2=V_,t.schemeGnBu=Sb,t.schemeGreens=Vb,t.schemeGreys=Zb,t.schemeObservable10=W_,t.schemeOrRd=Nb,t.schemeOranges=em,t.schemePRGn=ab,t.schemePaired=Z_,t.schemePastel1=K_,t.schemePastel2=Q_,t.schemePiYG=cb,t.schemePuBu=zb,t.schemePuBuGn=Cb,t.schemePuOr=sb,t.schemePuRd=Db,t.schemePurples=Qb,t.schemeRdBu=hb,t.schemeRdGy=pb,t.schemeRdPu=Fb,t.schemeRdYlBu=yb,t.schemeRdYlGn=_b,t.schemeReds=tm,t.schemeSet1=J_,t.schemeSet2=tb,t.schemeSet3=nb,t.schemeSpectral=mb,t.schemeTableau10=eb,t.schemeYlGn=Ob,t.schemeYlGnBu=Ub,t.schemeYlOrBr=Yb,t.schemeYlOrRd=jb,t.select=Zn,t.selectAll=function(t){return"string"==typeof t?new Vn([document.querySelectorAll(t)],[document.documentElement]):new Vn([Ht(t)],Gn)},t.selection=Wn,t.selector=jt,t.selectorAll=Gt,t.shuffle=dt,t.shuffler=pt,t.some=function(t,n){if("function"!=typeof n)throw new TypeError("test is not a function");let e=-1;for(const r of t)if(n(r,++e,t))return!0;return!1},t.sort=U,t.stack=function(){var t=ym([]),n=dw,e=hw,r=pw;function i(i){var o,a,u=Array.from(t.apply(this,arguments),gw),c=u.length,f=-1;for(const t of i)for(o=0,++f;o0)for(var e,r,i,o,a,u,c=0,f=t[n[0]].length;c0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=a,r[0]=a+=i):(r[0]=0,r[1]=i)},t.stackOffsetExpand=function(t,n){if((r=t.length)>0){for(var e,r,i,o=0,a=t[0].length;o0){for(var e,r=0,i=t[n[0]],o=i.length;r0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,a=1;afunction(t){t=`${t}`;let n=t.length;zp(t,n-1)&&!zp(t,n-2)&&(t=t.slice(0,-1));return"/"===t[0]?t:`/${t}`}(t(n,e,r)))),e=n.map(Pp),i=new Set(n).add("");for(const t of e)i.has(t)||(i.add(t),n.push(t),e.push(Pp(t)),h.push(Np));d=(t,e)=>n[e],p=(t,n)=>e[n]}for(a=0,i=h.length;a=0&&(f=h[t]).data===Np;--t)f.data=null}if(u.parent=Sp,u.eachBefore((function(t){t.depth=t.parent.depth+1,--i})).eachBefore(Kd),u.parent=null,i>0)throw new Error("cycle");return u}return r.id=function(t){return arguments.length?(n=Jd(t),r):n},r.parentId=function(t){return arguments.length?(e=Jd(t),r):e},r.path=function(n){return arguments.length?(t=Jd(n),r):t},r},t.style=_n,t.subset=function(t,n){return _t(n,t)},t.sum=function(t,n){let e=0;if(void 0===n)for(let n of t)(n=+n)&&(e+=n);else{let r=-1;for(let i of t)(i=+n(i,++r,t))&&(e+=i)}return e},t.superset=_t,t.svg=Nc,t.symbol=function(t,n){let e=null,r=km(i);function i(){let i;if(e||(e=i=r()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),i)return e=null,i+""||null}return t="function"==typeof t?t:ym(t||fx),n="function"==typeof n?n:ym(void 0===n?64:+n),i.type=function(n){return arguments.length?(t="function"==typeof n?n:ym(n),i):t},i.size=function(t){return arguments.length?(n="function"==typeof t?t:ym(+t),i):n},i.context=function(t){return arguments.length?(e=null==t?null:t,i):e},i},t.symbolAsterisk=cx,t.symbolCircle=fx,t.symbolCross=sx,t.symbolDiamond=dx,t.symbolDiamond2=px,t.symbolPlus=gx,t.symbolSquare=yx,t.symbolSquare2=vx,t.symbolStar=xx,t.symbolTimes=Px,t.symbolTriangle=Mx,t.symbolTriangle2=Ax,t.symbolWye=Cx,t.symbolX=Px,t.symbols=zx,t.symbolsFill=zx,t.symbolsStroke=$x,t.text=mc,t.thresholdFreedmanDiaconis=function(t,n,e){const r=v(t),i=at(t,.75)-at(t,.25);return r&&i?Math.ceil((e-n)/(2*i*Math.pow(r,-1/3))):1},t.thresholdScott=function(t,n,e){const r=v(t),i=w(t);return r&&i?Math.ceil((e-n)*Math.cbrt(r)/(3.49*i)):1},t.thresholdSturges=K,t.tickFormat=Eg,t.tickIncrement=V,t.tickStep=W,t.ticks=G,t.timeDay=py,t.timeDays=gy,t.timeFormatDefaultLocale=P_,t.timeFormatLocale=hv,t.timeFriday=Sy,t.timeFridays=$y,t.timeHour=sy,t.timeHours=ly,t.timeInterval=Vg,t.timeMillisecond=Wg,t.timeMilliseconds=Zg,t.timeMinute=ay,t.timeMinutes=uy,t.timeMonday=wy,t.timeMondays=ky,t.timeMonth=Zy,t.timeMonths=Ky,t.timeSaturday=Ey,t.timeSaturdays=Dy,t.timeSecond=iy,t.timeSeconds=oy,t.timeSunday=xy,t.timeSundays=Ny,t.timeThursday=Ay,t.timeThursdays=zy,t.timeTickInterval=cv,t.timeTicks=uv,t.timeTuesday=My,t.timeTuesdays=Cy,t.timeWednesday=Ty,t.timeWednesdays=Py,t.timeWeek=xy,t.timeWeeks=Ny,t.timeYear=tv,t.timeYears=nv,t.timeout=$i,t.timer=Ni,t.timerFlush=ki,t.transition=go,t.transpose=gt,t.tree=function(){var t=$p,n=1,e=1,r=null;function i(i){var c=function(t){for(var n,e,r,i,o,a=new Up(t,0),u=[a];n=u.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)u.push(e=n.children[i]=new Up(r[i],i)),e.parent=n;return(a.parent=new Up(null,0)).children=[a],a}(i);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(a),r)i.eachBefore(u);else{var f=i,s=i,l=i;i.eachBefore((function(t){t.xs.x&&(s=t),t.depth>l.depth&&(l=t)}));var h=f===s?1:t(f,s)/2,d=h-f.x,p=n/(s.x+h+d),g=e/(l.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*g}))}return i}function o(n){var e=n.children,r=n.parent.children,i=n.i?r[n.i-1]:null;if(e){!function(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)(n=i[o]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}(n);var o=(e[0].z+e[e.length-1].z)/2;i?(n.z=i.z+t(n._,i._),n.m=n.z-o):n.z=o}else i&&(n.z=i.z+t(n._,i._));n.parent.A=function(n,e,r){if(e){for(var i,o=n,a=n,u=e,c=o.parent.children[0],f=o.m,s=a.m,l=u.m,h=c.m;u=Rp(u),o=Dp(o),u&&o;)c=Dp(c),(a=Rp(a)).a=n,(i=u.z+l-o.z-f+t(u._,o._))>0&&(Fp(qp(u,n,r),n,i),f+=i,s+=i),l+=u.m,f+=o.m,h+=c.m,s+=a.m;u&&!Rp(a)&&(a.t=u,a.m+=l-s),o&&!Dp(c)&&(c.t=o,c.m+=f-h,r=n)}return r}(n,i,n.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function u(t){t.x*=n,t.y=t.depth*e}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},t.treemap=function(){var t=Yp,n=!1,e=1,r=1,i=[0],o=np,a=np,u=np,c=np,f=np;function s(t){return t.x0=t.y0=0,t.x1=e,t.y1=r,t.eachBefore(l),i=[0],n&&t.eachBefore(Tp),t}function l(n){var e=i[n.depth],r=n.x0+e,s=n.y0+e,l=n.x1-e,h=n.y1-e;l=e-1){var s=u[n];return s.x0=i,s.y0=o,s.x1=a,void(s.y1=c)}var l=f[n],h=r/2+l,d=n+1,p=e-1;for(;d>>1;f[g]c-o){var _=r?(i*v+a*y)/r:a;t(n,d,y,i,o,_,c),t(d,e,v,_,o,a,c)}else{var b=r?(o*v+c*y)/r:c;t(n,d,y,i,o,a,b),t(d,e,v,i,b,a,c)}}(0,c,t.value,n,e,r,i)},t.treemapDice=Ap,t.treemapResquarify=Lp,t.treemapSlice=Ip,t.treemapSliceDice=function(t,n,e,r,i){(1&t.depth?Ip:Ap)(t,n,e,r,i)},t.treemapSquarify=Yp,t.tsv=Mc,t.tsvFormat=lc,t.tsvFormatBody=hc,t.tsvFormatRow=pc,t.tsvFormatRows=dc,t.tsvFormatValue=gc,t.tsvParse=fc,t.tsvParseRows=sc,t.union=function(...t){const n=new InternSet;for(const e of t)for(const t of e)n.add(t);return n},t.unixDay=_y,t.unixDays=by,t.utcDay=yy,t.utcDays=vy,t.utcFriday=By,t.utcFridays=Vy,t.utcHour=hy,t.utcHours=dy,t.utcMillisecond=Wg,t.utcMilliseconds=Zg,t.utcMinute=cy,t.utcMinutes=fy,t.utcMonday=qy,t.utcMondays=jy,t.utcMonth=Qy,t.utcMonths=Jy,t.utcSaturday=Yy,t.utcSaturdays=Wy,t.utcSecond=iy,t.utcSeconds=oy,t.utcSunday=Fy,t.utcSundays=Ly,t.utcThursday=Oy,t.utcThursdays=Gy,t.utcTickInterval=av,t.utcTicks=ov,t.utcTuesday=Uy,t.utcTuesdays=Hy,t.utcWednesday=Iy,t.utcWednesdays=Xy,t.utcWeek=Fy,t.utcWeeks=Ly,t.utcYear=ev,t.utcYears=rv,t.variance=x,t.version="7.9.0",t.window=pn,t.xml=Sc,t.zip=function(){return gt(arguments)},t.zoom=function(){var t,n,e,r=Ew,i=Nw,o=zw,a=Cw,u=Pw,c=[0,1/0],f=[[-1/0,-1/0],[1/0,1/0]],s=250,l=ri,h=$t("start","zoom","end"),d=500,p=150,g=0,y=10;function v(t){t.property("__zoom",kw).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",A).on("dblclick.zoom",S).filter(u).on("touchstart.zoom",E).on("touchmove.zoom",N).on("touchend.zoom touchcancel.zoom",k).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function _(t,n){return(n=Math.max(c[0],Math.min(c[1],n)))===t.k?t:new ww(n,t.x,t.y)}function b(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new ww(t.k,r,i)}function m(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function x(t,n,e,r){t.on("start.zoom",(function(){w(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){w(this,arguments).event(r).end()})).tween("zoom",(function(){var t=this,o=arguments,a=w(t,o).event(r),u=i.apply(t,o),c=null==e?m(u):"function"==typeof e?e.apply(t,o):e,f=Math.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),s=t.__zoom,h="function"==typeof n?n.apply(t,o):n,d=l(s.invert(c).concat(f/s.k),h.invert(c).concat(f/h.k));return function(t){if(1===t)t=h;else{var n=d(t),e=f/n[2];t=new ww(e,c[0]-n[0]*e,c[1]-n[1]*e)}a.zoom(null,t)}}))}function w(t,n,e){return!e&&t.__zooming||new M(t,n)}function M(t,n){this.that=t,this.args=n,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,n),this.taps=0}function T(t,...n){if(r.apply(this,arguments)){var e=w(this,n).event(t),i=this.__zoom,u=Math.max(c[0],Math.min(c[1],i.k*Math.pow(2,a.apply(this,arguments)))),s=ne(t);if(e.wheel)e.mouse[0][0]===s[0]&&e.mouse[0][1]===s[1]||(e.mouse[1]=i.invert(e.mouse[0]=s)),clearTimeout(e.wheel);else{if(i.k===u)return;e.mouse=[s,i.invert(s)],Gi(this),e.start()}Sw(t),e.wheel=setTimeout((function(){e.wheel=null,e.end()}),p),e.zoom("mouse",o(b(_(i,u),e.mouse[0],e.mouse[1]),e.extent,f))}}function A(t,...n){if(!e&&r.apply(this,arguments)){var i=t.currentTarget,a=w(this,n,!0).event(t),u=Zn(t.view).on("mousemove.zoom",(function(t){if(Sw(t),!a.moved){var n=t.clientX-s,e=t.clientY-l;a.moved=n*n+e*e>g}a.event(t).zoom("mouse",o(b(a.that.__zoom,a.mouse[0]=ne(t,i),a.mouse[1]),a.extent,f))}),!0).on("mouseup.zoom",(function(t){u.on("mousemove.zoom mouseup.zoom",null),ue(t.view,a.moved),Sw(t),a.event(t).end()}),!0),c=ne(t,i),s=t.clientX,l=t.clientY;ae(t.view),Aw(t),a.mouse=[c,this.__zoom.invert(c)],Gi(this),a.start()}}function S(t,...n){if(r.apply(this,arguments)){var e=this.__zoom,a=ne(t.changedTouches?t.changedTouches[0]:t,this),u=e.invert(a),c=e.k*(t.shiftKey?.5:2),l=o(b(_(e,c),a,u),i.apply(this,n),f);Sw(t),s>0?Zn(this).transition().duration(s).call(x,l,a,t):Zn(this).call(v.transform,l,a,t)}}function E(e,...i){if(r.apply(this,arguments)){var o,a,u,c,f=e.touches,s=f.length,l=w(this,i,e.changedTouches.length===s).event(e);for(Aw(e),a=0;ali{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/fonts/fontawesome/fonts/FontAwesome.otf b/fonts/fontawesome/fonts/FontAwesome.otf deleted file mode 100755 index 401ec0f36e4f73b8efa40bd6f604fe80d286db70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134808 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 diff --git a/fonts/fontawesome/fonts/fontawesome-webfont.eot b/fonts/fontawesome/fonts/fontawesome-webfont.eot deleted file mode 100755 index e9f60ca953f93e35eab4108bd414bc02ddcf3928..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165742 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

5q!RY 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 - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fonts/fontawesome/fonts/fontawesome-webfont.ttf b/fonts/fontawesome/fonts/fontawesome-webfont.ttf deleted file mode 100755 index 35acda2fa1196aad98c2adf4378a7611dd713aa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} diff --git a/fonts/fontawesome/fonts/fontawesome-webfont.woff2 b/fonts/fontawesome/fonts/fontawesome-webfont.woff2 deleted file mode 100755 index 4d13fc60404b91e398a37200c4a77b645cfd9586..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77160 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 diff --git a/fonts/fontawesome/license.jpg b/fonts/fontawesome/license.jpg deleted file mode 100644 index a0ef7adc4b1b08700d069fb5957476577b264f83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190848 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 >%K2%62~RA8C_t`pE-_CigAe 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 diff --git a/fonts/linearicons/License.txt b/fonts/linearicons/License.txt deleted file mode 100755 index 0ea7162..0000000 --- a/fonts/linearicons/License.txt +++ /dev/null @@ -1,2 +0,0 @@ -Please refer to https://linearicons.com/free/license for the license. -If you have any questions regarding the license, please feel free to email me@perxis.com diff --git a/fonts/linearicons/css/style.css b/fonts/linearicons/css/style.css deleted file mode 100755 index be88a82..0000000 --- a/fonts/linearicons/css/style.css +++ /dev/null @@ -1,537 +0,0 @@ -@font-face { - font-family: 'Linearicons-Free'; - font-display: swap; - src:url('../fonts/Linearicons-Free.eot?w118d'); - src:url('../fonts/Linearicons-Free.eot?#iefixw118d') format('embedded-opentype'), - url('../fonts/Linearicons-Free.woff2?w118d') format('woff2'), - url('../fonts/Linearicons-Free.woff?w118d') format('woff'), - url('../fonts/Linearicons-Free.ttf?w118d') format('truetype'), - url('../fonts/Linearicons-Free.svg?w118d#Linearicons-Free') format('svg'); - font-weight: normal; - font-style: normal; -} - -.lnr { - font-family: 'Linearicons-Free'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.lnr-home:before { - content: "\e800"; -} -.lnr-apartment:before { - content: "\e801"; -} -.lnr-pencil:before { - content: "\e802"; -} -.lnr-magic-wand:before { - content: "\e803"; -} -.lnr-drop:before { - content: "\e804"; -} -.lnr-lighter:before { - content: "\e805"; -} -.lnr-poop:before { - content: "\e806"; -} -.lnr-sun:before { - content: "\e807"; -} -.lnr-moon:before { - content: "\e808"; -} -.lnr-cloud:before { - content: "\e809"; -} -.lnr-cloud-upload:before { - content: "\e80a"; -} -.lnr-cloud-download:before { - content: "\e80b"; -} -.lnr-cloud-sync:before { - content: "\e80c"; -} -.lnr-cloud-check:before { - content: "\e80d"; -} -.lnr-database:before { - content: "\e80e"; -} -.lnr-lock:before { - content: "\e80f"; -} -.lnr-cog:before { - content: "\e810"; -} -.lnr-trash:before { - content: "\e811"; -} -.lnr-dice:before { - content: "\e812"; -} -.lnr-heart:before { - content: "\e813"; -} -.lnr-star:before { - content: "\e814"; -} -.lnr-star-half:before { - content: "\e815"; -} -.lnr-star-empty:before { - content: "\e816"; -} -.lnr-flag:before { - content: "\e817"; -} -.lnr-envelope:before { - content: "\e818"; -} -.lnr-paperclip:before { - content: "\e819"; -} -.lnr-inbox:before { - content: "\e81a"; -} -.lnr-eye:before { - content: "\e81b"; -} -.lnr-printer:before { - content: "\e81c"; -} -.lnr-file-empty:before { - content: "\e81d"; -} -.lnr-file-add:before { - content: "\e81e"; -} -.lnr-enter:before { - content: "\e81f"; -} -.lnr-exit:before { - content: "\e820"; -} -.lnr-graduation-hat:before { - content: "\e821"; -} -.lnr-license:before { - content: "\e822"; -} -.lnr-music-note:before { - content: "\e823"; -} -.lnr-film-play:before { - content: "\e824"; -} -.lnr-camera-video:before { - content: "\e825"; -} -.lnr-camera:before { - content: "\e826"; -} -.lnr-picture:before { - content: "\e827"; -} -.lnr-book:before { - content: "\e828"; -} -.lnr-bookmark:before { - content: "\e829"; -} -.lnr-user:before { - content: "\e82a"; -} -.lnr-users:before { - content: "\e82b"; -} -.lnr-shirt:before { - content: "\e82c"; -} -.lnr-store:before { - content: "\e82d"; -} -.lnr-cart:before { - content: "\e82e"; -} -.lnr-tag:before { - content: "\e82f"; -} -.lnr-phone-handset:before { - content: "\e830"; -} -.lnr-phone:before { - content: "\e831"; -} -.lnr-pushpin:before { - content: "\e832"; -} -.lnr-map-marker:before { - content: "\e833"; -} -.lnr-map:before { - content: "\e834"; -} -.lnr-location:before { - content: "\e835"; -} -.lnr-calendar-full:before { - content: "\e836"; -} -.lnr-keyboard:before { - content: "\e837"; -} -.lnr-spell-check:before { - content: "\e838"; -} -.lnr-screen:before { - content: "\e839"; -} -.lnr-smartphone:before { - content: "\e83a"; -} -.lnr-tablet:before { - content: "\e83b"; -} -.lnr-laptop:before { - content: "\e83c"; -} -.lnr-laptop-phone:before { - content: "\e83d"; -} -.lnr-power-switch:before { - content: "\e83e"; -} -.lnr-bubble:before { - content: "\e83f"; -} -.lnr-heart-pulse:before { - content: "\e840"; -} -.lnr-construction:before { - content: "\e841"; -} -.lnr-pie-chart:before { - content: "\e842"; -} -.lnr-chart-bars:before { - content: "\e843"; -} -.lnr-gift:before { - content: "\e844"; -} -.lnr-diamond:before { - content: "\e845"; -} -.lnr-linearicons:before { - content: "\e846"; -} -.lnr-dinner:before { - content: "\e847"; -} -.lnr-coffee-cup:before { - content: "\e848"; -} -.lnr-leaf:before { - content: "\e849"; -} -.lnr-paw:before { - content: "\e84a"; -} -.lnr-rocket:before { - content: "\e84b"; -} -.lnr-briefcase:before { - content: "\e84c"; -} -.lnr-bus:before { - content: "\e84d"; -} -.lnr-car:before { - content: "\e84e"; -} -.lnr-train:before { - content: "\e84f"; -} -.lnr-bicycle:before { - content: "\e850"; -} -.lnr-wheelchair:before { - content: "\e851"; -} -.lnr-select:before { - content: "\e852"; -} -.lnr-earth:before { - content: "\e853"; -} -.lnr-smile:before { - content: "\e854"; -} -.lnr-sad:before { - content: "\e855"; -} -.lnr-neutral:before { - content: "\e856"; -} -.lnr-mustache:before { - content: "\e857"; -} -.lnr-alarm:before { - content: "\e858"; -} -.lnr-bullhorn:before { - content: "\e859"; -} -.lnr-volume-high:before { - content: "\e85a"; -} -.lnr-volume-medium:before { - content: "\e85b"; -} -.lnr-volume-low:before { - content: "\e85c"; -} -.lnr-volume:before { - content: "\e85d"; -} -.lnr-mic:before { - content: "\e85e"; -} -.lnr-hourglass:before { - content: "\e85f"; -} -.lnr-undo:before { - content: "\e860"; -} -.lnr-redo:before { - content: "\e861"; -} -.lnr-sync:before { - content: "\e862"; -} -.lnr-history:before { - content: "\e863"; -} -.lnr-clock:before { - content: "\e864"; -} -.lnr-download:before { - content: "\e865"; -} -.lnr-upload:before { - content: "\e866"; -} -.lnr-enter-down:before { - content: "\e867"; -} -.lnr-exit-up:before { - content: "\e868"; -} -.lnr-bug:before { - content: "\e869"; -} -.lnr-code:before { - content: "\e86a"; -} -.lnr-link:before { - content: "\e86b"; -} -.lnr-unlink:before { - content: "\e86c"; -} -.lnr-thumbs-up:before { - content: "\e86d"; -} -.lnr-thumbs-down:before { - content: "\e86e"; -} -.lnr-magnifier:before { - content: "\e86f"; -} -.lnr-cross:before { - content: "\e870"; -} -.lnr-menu:before { - content: "\e871"; -} -.lnr-list:before { - content: "\e872"; -} -.lnr-chevron-up:before { - content: "\e873"; -} -.lnr-chevron-down:before { - content: "\e874"; -} -.lnr-chevron-left:before { - content: "\e875"; -} -.lnr-chevron-right:before { - content: "\e876"; -} -.lnr-arrow-up:before { - content: "\e877"; -} -.lnr-arrow-down:before { - content: "\e878"; -} -.lnr-arrow-left:before { - content: "\e879"; -} -.lnr-arrow-right:before { - content: "\e87a"; -} -.lnr-move:before { - content: "\e87b"; -} -.lnr-warning:before { - content: "\e87c"; -} -.lnr-question-circle:before { - content: "\e87d"; -} -.lnr-menu-circle:before { - content: "\e87e"; -} -.lnr-checkmark-circle:before { - content: "\e87f"; -} -.lnr-cross-circle:before { - content: "\e880"; -} -.lnr-plus-circle:before { - content: "\e881"; -} -.lnr-circle-minus:before { - content: "\e882"; -} -.lnr-arrow-up-circle:before { - content: "\e883"; -} -.lnr-arrow-down-circle:before { - content: "\e884"; -} -.lnr-arrow-left-circle:before { - content: "\e885"; -} -.lnr-arrow-right-circle:before { - content: "\e886"; -} -.lnr-chevron-up-circle:before { - content: "\e887"; -} -.lnr-chevron-down-circle:before { - content: "\e888"; -} -.lnr-chevron-left-circle:before { - content: "\e889"; -} -.lnr-chevron-right-circle:before { - content: "\e88a"; -} -.lnr-crop:before { - content: "\e88b"; -} -.lnr-frame-expand:before { - content: "\e88c"; -} -.lnr-frame-contract:before { - content: "\e88d"; -} -.lnr-layers:before { - content: "\e88e"; -} -.lnr-funnel:before { - content: "\e88f"; -} -.lnr-text-format:before { - content: "\e890"; -} -.lnr-text-format-remove:before { - content: "\e891"; -} -.lnr-text-size:before { - content: "\e892"; -} -.lnr-bold:before { - content: "\e893"; -} -.lnr-italic:before { - content: "\e894"; -} -.lnr-underline:before { - content: "\e895"; -} -.lnr-strikethrough:before { - content: "\e896"; -} -.lnr-highlight:before { - content: "\e897"; -} -.lnr-text-align-left:before { - content: "\e898"; -} -.lnr-text-align-center:before { - content: "\e899"; -} -.lnr-text-align-right:before { - content: "\e89a"; -} -.lnr-text-align-justify:before { - content: "\e89b"; -} -.lnr-line-spacing:before { - content: "\e89c"; -} -.lnr-indent-increase:before { - content: "\e89d"; -} -.lnr-indent-decrease:before { - content: "\e89e"; -} -.lnr-pilcrow:before { - content: "\e89f"; -} -.lnr-direction-ltr:before { - content: "\e8a0"; -} -.lnr-direction-rtl:before { - content: "\e8a1"; -} -.lnr-page-break:before { - content: "\e8a2"; -} -.lnr-sort-alpha-asc:before { - content: "\e8a3"; -} -.lnr-sort-amount-asc:before { - content: "\e8a4"; -} -.lnr-hand:before { - content: "\e8a5"; -} -.lnr-pointer-up:before { - content: "\e8a6"; -} -.lnr-pointer-right:before { - content: "\e8a7"; -} -.lnr-pointer-down:before { - content: "\e8a8"; -} -.lnr-pointer-left:before { - content: "\e8a9"; -} diff --git a/fonts/linearicons/fonts/Linearicons-Free.eot b/fonts/linearicons/fonts/Linearicons-Free.eot deleted file mode 100755 index e531c2262bc46eff0cdfa1c0001b470697b2b9ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55820 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 - - - - -{ - "fontFamily": "Linearicons-Free", - "majorVersion": 1, - "minorVersion": 0, - "description": "Designed by Perxis (https://perxis.com).\nFont generated by IcoMoon.", - "copyright": "Copyright © 2015 Perxis.com. All Rights Reserved.", - "designerURL": "https://perxis.com", - "license": "https://linearicons.com/free/license", - "fontURL": "https://linearicons.com", - "licenseURL": "https://linearicons.com/free/license", - "version": "Version 1.0", - "fontId": "Linearicons-Free", - "psName": "Linearicons-Free", - "subFamily": "Regular", - "fullName": "Linearicons-Free" -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/fonts/linearicons/fonts/Linearicons-Free.ttf b/fonts/linearicons/fonts/Linearicons-Free.ttf deleted file mode 100755 index 73d6783225aeb0d10553a1fd613b42446fbf7226..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55620 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 T2LVoOtl2h#Q`^C4(|r9eHOZ?` diff --git a/fonts/linearicons/fonts/Linearicons-Free.woff b/fonts/linearicons/fonts/Linearicons-Free.woff deleted file mode 100755 index 63b5b751e5d898d1fab6da6d266a855e2f46675c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55696 zcmd4433wdGeJ9%0J>5OibKjWzp20DLYcLoP00G_<34pgmiWEsvlmJpEby|llL$(!P zawH#d0yv6u?XKEmeYK{e^t+5 zKvIXbo4gE(neOWD>aME)ef3-R@7g6X37;RlAUXN(4zW+$8$bIG4~@q723c^vos-n(#Jmj8W=-F^R=`|d*9uS=5c+w|A-$Uj6bJn--%7%$GX&Qq|Z zC|B4El8XLU}h$O;o|B(LdAi$v3`J~}?j{GmuaH#*+% zqoFy&Dy+~L8=qpMkrZo&v;o!_D-W=|mSTl`x#4FsxGEB5e&r|Tw2}0BlZH91Gu`G; zRl{~)EhCR*YWLa0cC?xIUGf^MhIh?tEZ4HD+1j$9U7) zn_^QRHy5+DT9&OoZfCk4wwu3t+3EERlgmv1_NkVQ0g6ax7L!{0~)CU79(Pti)(Cl@)mtHeHqEi>YzPfg_sJrpWC5j zJ#*y&`7*(_BFR|Ct60YjAhm&Y0hkhudYG=X;j~_wVNC!ZO&ZgiEXtT(0k{${Vzxq> zuKZzmB9op7w;q-iwx}qo%}`~V%;JhomOl`QMkB4mKRP5gpKtwJ`MrbB4|++U!#zE8ohqA`b&sal*b-A@`MJnMI@63?`P!i$bzSE5dc37jsN|t%HvofIlrJc2 zplKu0Ez-l%Gt%?YOVaO2m!-eKNPsd}Px>AQvhnW-E%Ye9HNNOtp^|1%3~rEBFyJ?I z1xMt(=EV%5vnaDL*_s_OD;dmBd92BF42-g8;-y+tj8UY5mxl^!k#{l+)#M$|+~k=S@1( zw9|TPS}|1BVcWZXkKHccp5}B%F%N8GzoqM~al>27Qa{-m^qE9G2@+u?94u3Wh< zlo%~X2L}c&%*MCn5<|ssW#`Fe^W@G-xHuHgZ;RJQYC})$oH%>@$Utt#-UBte(`m0A z*t;V)aOC*eiJfm9tc@ri+4=Bz|AE7|);BNB4GhdJZLZ&X_(1>o!#fGbbmTpi<&OW2h7{4FLuf4HP=>F7zp+YY<$7|)`Iy0TdjMY zYle48UWzy)+iIDrtm(QYS2MM3X!x||(uT@5S<_@&c}RC^m|sW{oR6+ayQI%?>RS<% zgntX-B?eAZnV^GHovsZcLTQD-h2{?w8UR$tbHD+~Yl6Pve`FLCusJS(k2j8j4tBMG z2J)T-anv!-WlhYyMd7b+QO+xxQtCN6Z&T0jjn}hwT~lO_ee+|(J!OyAE3@o)xF_y# zrnNU{d+P~vxxwBMf&g{*oECAD~564o-Grh zgJa+vcDG`47*qSIeW~q5Ro}F`F{jwPxquO1vdh`HH5;yEbA>}Sr;o{Q=hk~Fv5|d! z5N>QNHPthIBIQYX_MQ)A0y$On+3iNT;O~pX#^TP1)7RIN-c|??gmQa(C(ri=Qz1ih z1zh=Kh2&h}@0@<8<_N|E*+bRLXb`Jb7;`hjZUmL+V_S!APBm`{G6!~Tp~rSq_N2o} z-H5nLTS0ik4x6sXZo}zkj%>s`n2uG0?tseB;*<4E#50ubYj`c*Me@_C6q0g~5ND-* z(n;w7aIgVSU{o@_0hB(4teB)U&tuL#>$08zPyi~j9?Az^&B){rQ;4Si+ zYA85_hDDseP9H!>= zXN1y#hv2tFzc!_{VzXg`o(tc^Cva5fkEPpe@{(f1uJuqhNKYJpNq%ZdM~S`@;wgf_ zlSJPfClQHbEzxvfoVCw!St%&%)E)>Z@D`VkH)VI@u2Z*^N|Tk4C(#>^P3H@9eY#gw znG);S`Pj#gkDeOQy_#l|UBzh6L@vK~|B-<&Z@GJK-`w(N?%4g#2aY8x2l_@%9X*gQ zG>Sp5ryic@ZSv7J3JMYgG4y>G6NpN_?Q z6CUM@$zu<^bN3yeS)S|Ldw#3e6D&6Jh5g4)4fh|Y(AcF_Ql7vYjss?M9iWXwF>+4I ziLZ?UQY|oMc@N+jGeJrZ31=WOZPG7xLD_H#8bNRd0i0v4tFsr53=bc3 zHp5oBv$;Ba_`(+Ia;R$e=&9WCE$+CR<(hN-{d3K%T&I4hzvHuX8%5LYe%(_F4opWv zu7ua_mSt7foLXP4Yy9V=cVqk=M0>rVjfk;Xb75g7cxfBwUv>I`xp^rs=2PvR0|kQfg9#^EtF{s z`{Oj%&(I@2^Ty{IqPf?(@VaviayUiPI)!lyGAGF7|K_>=kgiX?Oi%Rkl%TMr+S5A2 zoYRHZC#0X@a!Fn*SP}`BLV%g;m@EXP_*LOx)I z!#fb`pZ2;n&_%!99rw`cnjzJx_D@?@7F{31!qhq2vLBzd`*f#MmIKCf`tdDxuibEA z$Eh0Xz%(&7yS*-yq%l6pa-D(LY&o7w=^lF(ob$r$mJ5f6vx4~K%+)sWsr7-x=nz8P zc5lKJicAj#OCH@%A{LEo_V~vbn;!7mNp-=R)pfnjd6?b1<+#l71cpmFse5OSGkP{W z6i)B=;&JHN38`>8_PX)v7^DxP;apvQRr1`X&0_f@;RvVIW4MTf6(U@g1UZQfi|CiS z#0kh9kTS@;P*Cb7tVX%=S# z*(MJN4lvMK7C3^@9r;T>va1qQRSRXdtkdx#==emhAma5&nr%pT2D)}Tb&t;BWT3as zp9Y*|fH*>|Edd<)OHKi=N;V(}ESj)MLV}Y9VdHv8`Z)c=X`j%+BHAof+&6*07h|IW)9We!6=qFaX}?0P4Tuf5^J_IJ_MUb>Z+u6~!j9K_ly(ki~{$|9_u6|ysv<#te}wI^e( zMoTX&yAW$&O60P7u0i5Dp_m^nISAx_`Em?G>@W$h@k|XCT#2l$=EC{CbLY(!h^tOh zB0eKaFyYk~+OqZn&ROCH+m&o>fu!z*g%(s|U=tUx%_TgeP4Zp+W97dqUxsw@$I_om z|1ZF{pX<fhb!&|8M6f{q0pXzH*yYP!KH>*FIU%&Zy^r5$r%5_9Ze7d9O6Xb#@q15z*7dB-J;}@Vz4{br7h9|G_)n@5!e@gR{EIq zY3a*kW9UMcMmM@_K%_T#1eVQpCa*$;}oUNotPqDI}6f^Fgyiv-n#3 z45YG_r9V2Gu6n)wrPfMgZmuCO(RYhqE-%q7S}UuyjJO{R)uOva(Ra4CbfXr!ozuJ2 zb&hB;FLgDEj?A^|`o1dRDHi!ttilFXuVq{C=mBWpv=cI%1X*NJ8ilWo))i8S(4X64 z87Gh+-9jc4hC~H48pa=?kdv4~bRV_{;$n0LQCpC3b{S?qxo_Lyfw6<>a=Cxc9TTN} zg;2re#@9l5;>@0bayfmdUOl|EPgXSB4{H0T^L<ykk#)BJM2&g9UFqf&QCQk53Ps9_*c|#u$^8dLEZg z-GBCIe)A!(_t572(X;nY)%H*2j}6-$4*T#ikPPVJV}SWfn1cc7CNT#kRm)=l%^-bY zY$ZPaNQS8xYXlCQAZJ;H(kR-LGQ6>+K{iBuO;?G(ar?Xyw`q#`H|F2KHKl26)a{jzxXr}oon~e?p1rA~C zAO0|ec#qD?U)4OCZm^NR)$#e;5oYLU_^SCwx(EKdHJLrbB+X^})BqmnyWdrHHt;E% zOS>vP!(_;x?eWH7J=`mukzVAZ9)b*tab}>g5@Uvqk1u6~i{KcdW#l84+|LSdFmcnL zm?2Vc`NUxDD>#Z)C}g}FnKN}V9$q)2u;tSPqC*Xq#je>S3nRa5h{4TT;4`^mfV+kq z_d1vhHd5Iy=B(iGV3R8)PoDuEz20bzVyb31!Zz5e*H=RIsBs4veaLW|e*>t+vK+wNaC`m3SY7gMw%0d;_1%s2eO&sG^hxQf(jQ5G2Tn)}H$E%Rkeo&~TQ9?c>9opx z{jtyyzLcbFVe)Z4E#jOjT~L)a#3tdJlJhRZ@XOwcp#xkUW1s_pn{7&6&<;O$HpsA1hG7i2DqRPz zAR{*fY$gFh%l(#(!ljKlT!0N<_N3(>o8gX0YCZ1(co8^ zYzrAMAi_*x!Tu&)2hAoqU!eVy}w`e{m?feBtJ;x0Um=ef>905BU>2dT+k7Tt2Y#=Chba z9A?=~hsSO{TcM^qm=>@*u%x|}o_eA%Um0B}l=e+*yUhj%9)dc!B-Vmd#@4|8!VcxW zQYerpPHfM3!@J9si4)8YsuXs}h5r0a4Vk!?2f}9$LRfU18G5qFWZ^MLvnbFuwG-b;2l{FFzlsbI_lFhd} z3r_QC5L2ao1?nMt%9Zl^QZDusM95X>km5vKG-h74+Zi)4BKG-~9iNuD$B7sy2LGf? zb`D79mindA9C2@?@;5s>U z2N}X3$d7g|@(r>C0_gc|}cmWXY3K-zUoqXl!DlNkJpe7j|KRd!O9$IL|&8n z5npgW#?E~UprJyDBV2&L0ORHV1)7jF1QT|NlxnOE_d5{!5Gn;bCMGzd=|ocM$#q3m z-ZF)!;6FN5e!>pz=sj2&y<>3jj?v1&-W`V!ICi5p^ZkW#c7oh16WMYhyDgvJmi;%W zJ%?e6I&pYUs!IGDi7!!eUYg~l3%2iFGTmUpqAeBX@_Z4%D8YsR20Q@T3-1J1Zp_2#`6=|7v z5ou`FGc{{F!vNOHbjtEF>9bIj;h%y!yCM{0CpHWQY{8A{oj^4_oanWqN3pfGj?_5@ zxF;I{#ifK0i#UiiB9Om^URHEWG~5f8`Y)!OuYh0q&}GO6W{jR%hAw5ZjepYc!s}$T z7HL52Vl8`7{`6&=t(Fx;RVEvAz-xT+Wzxz)`0LQ|v$fVsu(NG^mi@2&Gzy0fT5$0w zSV#e2BF>Y{Rsy_;Xjzc+Dv#^!dRVVyH>dO=YE=@`{8XMf65B?oVDlc)6hfP^CehM z8#JR9zb12)m_lpP5bVnXQ#lF2T<{43XlUgM)KWfYs@ir#-gv&`1w^f7XwHfWX4l=i z-KV)c%NZVyhcMt${OjypG==6rxPlm!&1U|+I|xzEFW>bVGe(xJHDUEgHeC-=aHl=t zpRZ*(=7Jru%ixGdz>u8Yx2b7&YZXhu*n?Wijc^H7dGzzIF<<0sgr!fuia6mjh%9>; z5LSW{j{lhEoR2+~O+SP8a2I&;VhR&8LLxRwq& zi@6kZR%u2H!4eN|LY!uesk-tdv#vO7=9t|u?C(L~QUAdw_D|kBVjx;NWK{2H?7c4+ z%i1wdh-Ssu0+CcKRF&Z{HMAwoKv)Q?g<{F*d+7RKA*3U?3kCxvzxiFLjF8d4^DXmP z_7r>TUQ9J(tBTu>V5h-%Bfv#2^nwtmL0oD>WTW2|(eFON*oi^d1EXcfOPW))AM-2N7ijL&~??RP?H}XAfH)#a*EM6t=(p>8E298!Oep&lVv|uE!VMD}7Y@ z4e9f+6m)117tla~u8}lz>T9y0*Je`s#%r-01(0Gdi|QGc6kf3iP`o3yH~iDA0bR4H z&$4g(23g1i2%=9&Ogc73Ja;Zulb63xt^?GI1>uuh@zSUEz91aE20sK$le*pi}Df2(s?YU28GM~%|A3hk9vVzF6dFdeOSC9-v zygQc=g?Px(iz^UBrc3@;Jw(E@Kp%lh!A2>pZfH^d4sP<+n&E`!I(x8MJ&-My%f;-0 zYV{ztV6k#(?Hx2*C#be7f3>igXG?5skKl$1DlY39Mems&$j*KJ|Bftv^9v8UL zgDjC6tfoz9H(L>bIVT;EZic1&v~;IsM-`M8W)9G8^1zZME9h@lfIu4!(qQ5BaD%>d z%0CD~J@fM{2GIF%Aia4!7heCShhw0!)&i8P7R3wml4%^(OkWF@iHKi z13GD}=GfvQ`dC|BWNWRuyk=sHdcgkDB7It`yjva%awp(O!Ay~#a}VYPh8bZuA_0J# zY6KA>;!H+m5&<$`#6$%;j!u$tu9>o&@?A&3_^og<8U8IJ;P5A5R0%k>-*g26uHQ75 zP3{V{9HRWm+g^`5b^QbWsl;kx%Krh~9#6va8PFXLdFeSv1vpkV-Y*ZeJ_dZ`Jy1U~ z@NC_YiuEVHL;m|ZkH6f8{FK*;xonSyI1C>%7&TeCc=Q%2-`9)|;auDpM~t5gWCKj7 zz#?REwn*wOX|i+Y&(E<{A!080`km?Ebeu_v>0sK~@8jY-Defez(f2}pb0F>N_g$5& zQy1DXkQ9o^-N@@PkS)l~GzETFDj16eQ!YQm^Uh>YcjQ%$p+mpll@7!(CD10@dJyrA zLFDnwBd!tH!1=*zuI2`6ut7CxUWY8;%cN|wTth8@E`b<%84%{R$h*8C9E8*Tk#sr| zPN&0{+we?7X~lmXc%ve@DPiX2OP?^mh6E{J!gyM~1j^jz7of~=sju@5bFuArTorvr z(ny-o>;i5*6!@6+xbKOoD zN3NZS64w9$JvgA#?8=wd!PM(q!pIEL>1te;63Yiy5HvgDFSLB5JB2GguK_7d@D|Q{ zaD*#O8JX*9EvYewSpeqO#qc~XVoVZjaH~8&VO5I5Q^@lZ9Dr6xSly@#cWHsqdJ$2> z(kXG!So2TKA8B5@?tqQ~bBx0d>Bzi<159hJF%9v#bqIp{&Cel574nY4ne~-LNG^=6 z*i`f1DU(;e!A4X~B9!#TFhoWLHmJ$Pg=%$SadJxhPLcVj8zBWE`i2sF2PfWt@X-4w2KOe0e3@lMI6qU|6pG;!+Eko5 zFK26PF;E;Uj2&ZGG3POC6$1kIIA5y6Yg?1HA+G2#>7CLG9oV|TI7`+5!Jau5(U@;A zZ{48~LJGF}nq<+@2m)>klw+z2$_HjkV*m+LjrLUf>~h^Khm*VxHcf^iBOxRGc2>b0QM!qfIML zJbrDg15M+eYEQ4*kB_^zr@9BzxIo~~nz`!WU^Ulda0$cu(|u32*bXpgp#wIV3#F0u z$b1HF_>@Y>MVhaOst`d4BDR9?0-2u5x0O4w63BoN@-p{u!68=SLEHpfWY;11Bk_Q! z{17ra1*(vKYb_4xyX2B9IAZ+Kjp>xoY9U!7IDo_;Oic+w4}Jh$5QLg_ z$_uKiR?}vd>ufa(m3p*P*9%SLW0D=A{T(F|R6wUzi@zee1MLLl;zrlxGQiGzO-uc{ z7G+gtOAwt}E4s@Dhf*>M`)r%##(R<`>^x*GkKqf*yY%78y&o@s=w9=iVt;joY}xO7 zp?rR!b?^D|3k!XkTgx^A{_#v^-0$g)noIJ^T2I9jXk>Au6ER@MV3KG@Zq`9B$B@OV z>#IC~aRuh7m9FDsP(|2fgtjVcn%%CgVPh=Q2&`wov4ub*GhfTZ5l1#pU$x9DtN5(( zP0PLbER3K@TU}jMzo?S+c5N=2X z+`+O0Gf}xhc&DohI4Ov~&Q`A#6WC%qV2XqW`g@0w@U=dmsv{XLRMlM}`4;T7#Y)-I;VBQ5V0fbv0vc%~zFb z>fd?O&f)L4!mP?hpx5c}``Dx*L?Xcko5Q;doUHro;aW;{sH1nE zo)4*7k1OYQ$Ix4)I52Lnm&<|vk!CtQyM0G~?u8xI1z%4!6!P}=cpfUG2Eul~-Ht5d zGe>s?G^Y`F=bH_l|B!(r?mny67sfd)vcD}SWij{N*{(tD(TDP5F)m*gyNP}?|ZV%quC z@lcX(5vvn61AG(zG4FM<&moYR%UzvTG2i&EldOgXZeB00iS8_kZA4^y0?%<#MaXR% z0?0PXA|L5}H0m*AMb`_b$Lgn%q+yc{k83a#Z$x4R!yAC@t*3H+>-4ibcmB-gt#|kK z8Y!a?Gw+!^*PB4XCqVYL{-B3By@|r9hn9Ejc>9G@d8fgU3cx(U{u4k5S@9<-=Qgo@ zt;P7D-ye{})%ec-#@qMod3&ROXS^Dg1AhNt+`KrwbaZE;5@d#9B)syfH-QZntR!|G zU7EgDoRQT;)SdJAJ&M=o^D1t?C+BemR1F41Z*M3t9II>&2ScGyc&5^KDs31)4)|UD z$a_?cnCfaI^GyU)mc|Rtn8z8lGh2^C^E(6mE?=NE9|{DAV#;H?`?vL^(&<#sw*K9Z zDY2noAjH_LpXs9_=0St3V5t)+cRjpWbI=Yww1AhGf+T8PAUJIt#wK>bE_w;C^0jzxROod3z8QGGwK-pZc>- zP@cEx9+y{#)i$V``#xED2YWkOoX@-RzPjeKdC@1|r~YUk_XPH}bHVe{X2fjqe8F|x zThI3t@p;_X?Z07s-m7DTEI|R2k2SI*fk<@t$OBupJaA+<8VQVK8^>grt0|o#);rRZ z-x>^VEksAKgCvM+!Ltsqf9mYyL*qN2nVP+Dcx2@8h1scRc8)(ZdG;ybjIu^4U9(R= zc5ijd*+k;(*6KZPc^fh{cJ`Safx9cBx2@a#yi|ZhN%l5ji)`EZMV187?h=gpZI4lf zsW35FeEzX#dL{J!~pDyab(h)3H&3SzyiS9QU7rrCA1_0Uxa?sWt$Nb(qMDj$Ue z{1KQER~47Ng>X6rJX}Tup0Wa4D!k`T+m(MTt3U1W$CGR$Q}9m$$qS=0T<{eD}%^ z>J0XKw(PV!d^Wj`3`5OtzcL1<|6cl2>8~V{xnWQrKsd-Ac8o1yUb&~5yl^>^liD7|bxovPAZc58?{e)8a8!Q5 zIH%GWAy;BZNMBDQuKzT<>Q8g>Yxn%mvn%ByLa|W+0O2xlxRNiTZDHc=vS@dDuaK8@ zk?c(hZ2zq_A#aj$u__|ENw`|+Y89K*+FF5w8D<@Ra@QIE+^$0~J3V4td?N$_{zoY5 z@EF$Nk3<0l@eThY+_%WZcFM8VE5HPvoYl5j-RKuGBX#`xe;tMDM!nE7wc9&BmhQ&( z!R}v4iUR#s;g?*y#((w{D$M*6d}v>gzApWt^h4<{q@OU21zDEWfQ7r;mI7|_6LD;$ z!F1zaF1ispavOKAfp>~v=)%H2%g9Ou2YT-{sMBnpEVKaPtk*Z$&`PA{)}!Y4%B6o_~2c{kqY@pW(H`Xi+n7f@Tc`^1hN zffzD3Uaxn~Ba}%CRLCD=MKg;qc+R^Kj^wLE$XXU5D>@CC`<97_!DQ8Iwc)JZFr7v1 z;u!7ubCg$z%rQsMN&2!g=s;!}B{1gvD^Q2IwM2gpJHl-`<|>qAhJ|%`$k69;(cR$Q zTWhPyYaSN|Rg(<=)>)l{b-Ko3=V9Ww1zm$%Ye-5|p)Ot&F(^8}85w18GYDR!_mQ7# z5po2gZJ~u()QHOO5dRkz6;zs|4a$Yu5G+MHeD zq4oxyh&njre?k}yqQ1!2L~v^2dDM;^>_OGBVeWbDs-D0pTNF}Ow+G@{_gW!G3gw0~ zO5}2tJoi#3}r*C07rMm!PmUV#>`6{2MRKI+T8qFe-YIZA;$@MU*Jn2 zUo4GB#DBGU1$mO+h`+2&tpzO?Cgv{2!N;R4v^Y3Yj2dk0oFKFxfGw?$l}QxYC*u6@ zaF@xK{u+L-D+s|8WCM%U?yo%{fQ{vcARpi;bQLMshK@G;C|wWA7lI%Q42J_0S)&RR z1OkgLA@arc)6*D0T-R@?a3{BzZ?Ci77L*uSw0XW2*~r;tf**ksY^C)IPNa@N;XxKj z?%*)he&#YPXoumkd>e=M4v27OXho^D2Vrqh3T7dFlfpOYak*UF-lj!@0iXLtc#O3` zAktF_T?UwlQwP-|D+jkhq7NcC@`9+TNQ37ju^n2-;fD}~93~u=F1OKxE%Hb!I9L!~ zMTa;!SX%-qArl=L=o~25i2p=L+LN>{DDp`H_O0>hp*60Aa;*l92u17Ea-NW_AW*44oj!%j) z;hWRL394CxoCC`+NJV>S33)~VPtC`Zi^t{#wRq++>3Uot=c*s037&#U=_B29aT(-+%Pv@W{!d`}6rm05+XaK(vii_LcmTrA>EK*d;2zvv)fRKG=$V zql>+Wq$$l;j(_~IomA;ZGGKjFD`(<~ExYC`z4OKVOgzz-^mvkeiTF&uINw{DFBUda zo7XU$#XvHp)W=Rdv2*7$Lnv(FJ5=>gBoGFIS+-^vQ$Ul!=b?#^zeLKe8p79;~%3yxF zK79MWx{L%J^8|c4;qZ;p7Qk3Q3{MeX*uGXv{^ zXCf(tOJ7d6_qe@1_UN#N!UYkmy1fTyIm&9vEwmm4My9u-Q9_hux;Z~YVt`)WGE%VH z3nN>~*a_Q*=9_8cIWou!wOgy#XG2zRt>GaNAlSRF+@1DFX_4i9y+#lbiEEzNpL`N`(a& zJR4s@9q~{8y1&rGMLD&AO{Ezw*dP{Nyb8OG$z{}e?t$Y7AD5+ghZIsJzxww-&!p#D z4>IZVSLwg_{rt->pFkm1Vtg`+^7TIdyu8L2!31M8AtnK+{BmoR)y=g_OG}sNmn}a3JfTY4hP8?)i7803$g|y0>xK-qS?jv$k$t-}nIRm7QOfJ= z>?)(`mZf*k?|<(6^u(EWARULj-TaQIp6GAi6Vkv5WhMP}2w$VuWSlen_NzZOtFH@A$ut(jIo1rqeT?iY1HfPztB*_?` z(c?jV1;TJGo7j>L#`Vv@(@k&>6Y6Cctsp79!XyaCY)oF`deYXIFYCkq7|I=z#zb}f z%sBPMAjM$kV4*~QL;pbd%8%vM)}jLca|xvu5q!41wA5N=h;SlA1fs^}*bO-NhA}2~5 z3dj`0Wo0P3U4Q`whxCW_zzXDV5y#`zz;T^86%Fg<$v{gwJ#ir%6C|dIeB^C2FC<*< zN2VYj5q?b@;zSaDEY+Ik54LQ;7QcWKDx5~#on!!d0^xqf9hA$lNJrq=9K(H+UK(LVwWV_k(yVlIXVG+ zo5bi^7PW{2u4y@}2lY$Pq18*+X#Lk|w;zxU-5SXyaP2s2)-_g85)=|ThEidjV{}J! zng~rygvj4#)Uv3|%fUPGxzDw(%B=NtThm&7H91?A-Ua%B$VB8oEWy6GDt!iU4@$r_ zbYMN^Tb~y7O^9kBgdRA-{n?gzgo|KA9=NcE4Z;wr_Nq`4pD6o^Tu1O|%q=g$j zlFN-a9Zm+nkx-+sAsY_oNG^YPl+LK_&kpQ}1%vYV+1rj(?s|9LgHQh5i{&G?ogJ5h z!Pt(0?7qP(M-`+Eh2MTKHJi_ENgaH9_%Ew>J@CXfCXuYK>pOn=xidBdQrXn0dxqCL zVfM&PM{gf|Vd!|jX zA_4?a=_D-YNP1?uN={dD_(zKP5X%9G+O{38>_Rjf9v#62DHI&I)&a-{9eO=&E~e|c zBbG@;2bG}=Tg(h8gV9tbW~yw})uX7UM^$=U?3<>`#;(}1=6s6%WvT+pN`R^C(<%!% z;SCXX2}YXk+Vy^B_VdM5Z*Quo_r=Fzy?X1(OtqSkpSAa*PH&$+9(0AnuAqs+_$Ft_ zt3K!497^eOJyKXdfGVAs5(-Z#*r%3C8VpOgu{{Wbb-~QQ^cWs(JU8pqR<_X!OzG#0oNU%S+V_&9rwmy8U zKycQ7w$Z$MC^XdL@Tx&gPdxiQR{3&t%aO&+6Zf6k8*v1L(a_-xJA3Aajj*xl{K(AR z)p)g%aU+;d`5L&74$!P-az`ghPi^lRj1+G^eSVUt&#fzOyFF9en}{U{|5B;s{-JOq z>&f_L?~mVc&xqrRZ+`57d?rYV=~VB6tcALvIwD9WNhIXs-|EwL~%&76y@@S8d>2+mNtd6_>o1h z0QfxqYhY?>AehSq1G!w_675h>812v>le$~zw6*RAI%Oq446QKM1B@BUhb!(L77aJI z?ydCh**X!9vK~)4{8D~66ez?HV&jto#d~LG?kxsoKO%p6ihp1IzX2@iUds)! z`Z&^_abe_8DEOO#&VVIc=@HtKkcc zzd!JtD-ibP{Jxao)oQ!@?|%A)11wqJJ1nD+lX!Yq=tyWr0x{~zAd~grQ-}Hjf#g^) zwP|7^!B``k%^aHu^@o!KZchxUee$;*zPK+rKZ2YYIo=a$7N*W9_JD?(9kz79lTtF< zeEtd7@V;pw{vgdYbs0*X&8!A`ITwaO9Kd3{zqcP5Yz zp(__&C7sw$VF?uQBjOUo7GA`HfCEa0g7E-Rz+h86NSKSK+;VJf@t|Pk;^kWQDvYL= zY1)K+o zZL&An5I6yj}vy%hfj(y$6Yxevys=0qk`rT`| z`UZ^ac&|v(-f%?0l#nRE%?erpJ`u}#1Kw>}Wbi|*j3!;hGzylLLB6Gx--Qbp%*b7EHA^^xm6qe(zANdZY4dP&(=PU?>)kvtH{Ro*h!x1+a`=xLlSM zL#t1vysSMzWIoTk!p>@^D3{`OSNmx-6>v@umv67vZ!Zr|I|C^-kw`_w zBChhEXeyCtt+?Lvzyt4bIU{zP-DX5wAHn3K+R=gB?lRmM7DOBwJ66D9djuIabyNnb z1B=Ps)jK%++>s;C4G;Fdku|?3^T8tY1BVmEx3KZSOkljQjGXC-^);P9UiETeJn-dc zr4o&t?FX3zpST+jWDjeTj9E}I!E`$g^`DKjzE5ipJO}0%`kXFBaXI@6%Mw;wfeimG z$naznBYRl8#^MXm^ZzBHM6A3K3x#=9RU3sZq|MPvV}VI(hgeyrU`pb#)p9 z2}*fxgUqynQv6gjWP_Uy;b3?*3qb>=o)K@7`L_wjZKoWqB>$I1ZYx*y)?pn2Bnn_H zqJ$Z^BI;iSmE8dps=^K`SY7#WO#V^q%76Rvb@0RedDOa2Ex1}H^0gPc^WMz(+8SHK zXZ>j!bMhLzxL^R}RL<6}99zTPP!P-G5hd5wj1cnhb-h$V85*iLwH34jE;71+7iFXc z1Q)ojg>`(PpcC-M^DmJoVdX>enoNY-+juVI6Ntlm4G9XXM974EcC0J;D?q}hNUE_4 zqqT!x3%s1ttG?vpb<(&5ehvwoZC#*B(jU8}7D`9b} zz|*e8L%(gUueH{lG(|~Nbc7PMD7DC%KqO6JY7AfND$F72F?-~~F`GhU|1_$lzs-}< zwYVNtVs4lKSK76++xb`!hOG!=bCn;n-rPX9T|Y*ARN*-!A41&Y+faQ6l?wP94=TfB zBl+P9m|Y$lWBfgO^bG-VWH>*9@BA>|#df|ioEO_+I+PcOMnw5xUUY-YA`OmXZTkt* zmOx!Cv}^yO1PSAYSZE={hLujCr0e{hSY2Et2z5dE5ETV@4r%%~{Cvx%qZ%|g7xfr7Emq2X+>Zzv_-)X@GUUSBLGfs^NV4N{ zA2&>L>BN#OX$_8Y zE_4_z7~ptWEJ!5F$Sytl3#v~CiNf2PRJpFY~rGDLo- z_7$`5XXs5bASyi0qFaC=qdy4~S0%gs2cJPlh}%WPFtY1q)s%SZ>wm^efa;iSyv$Pj zv+SQ~ZrBIeXIf7qzm?)b+PT!d$m@AV`g!ICJhzi1_*=d@_1)op9+WGBcN6aiAJ@6M zOEA?I2k1asn&UWNne&8*hH5Bvg;*Rlx_hFtwE^)+R%+7pyHjEE)QGV_Qd&{ zQ%1~g*o=Uom5V5uW9)zOmyT_|FzSjpNUe0J&SW524ab|sOwHv~+`j&d9mxWIya3AK zM==mPo=R05svdFW$3woLh6kwPEl@J7o4O~Yt0;Wy+4HtfoK~9G54nW;Cc#Rxv_1)6 zbNlR$(M)nI(EISN-->T48gWm)!DL@3FchmCDGg2_=K=0yW+eL`L@f&Vcy%OS7=6*= zZZF2B1u!l4$S@WkAdZJ~+T6Jy>i!iM`p{wy6}B8756+bpujVa;JV87B#kYLqzS(pV zvGgc%?}3y#T`cZO7jw7?iri@BTz-E!vnk>Z>n>L$;zuG%$To5S`EMvPq`882wa3d! z`}$6Q;%z7o(czh(;k{O#!=12ee&~9SX&P@p02&B~X*<)Q6H1{7sw?Ql8!op`r%i@Tp__3wgW_sq-GA&I^*zQpg`TdTNA1F?K%oOUK*M7ag%h5Cf_&BRHa{ zenzdUJDxl~M#QL{TTWDiXlOl9;_pj3Idc7dMo#i)DFu|39SHL1y6p~BfNpbL?jX6L z*n$Fyh;*UbBLlrkndr1leB#yD;KTnEYXH&?ngJR>)LKv@P#n~;Y7-KKZu}!H1Y#b6 z{E8MFO{TZz@>|lWk&vd4vX?v496yt@In{s6CBf@lsRC%MAL&W>^vAfOW3LVmSE;_I z-tiL?Ud+Qwyoh>N%RlX!@Y?9>R)IHzCU0&5*4iO>1ZdYGfyvo2p#~i$8UIaAbqgjI zOM_pRK3^RVtlEu;W!gw@ena{SvShA{()iy`bC9bHCT;O!0plG=2P(9k2o`tj;*=FC zCWJHEm_lwgN>}G;uomXvj5oJfZ-8w5rVVV&t>*^A;aWD@>+w{g*;+U}n8T}Z>>l_W z)atq3o{}R}bbE>+M=9ESzKTZktey%+CX&T^Fqrg()5YiygGqa&m=60A!O&pfkFG#=G1%dJDQ$=0Yl6WeVR4PvCK5eU_y2Dx}7zn444X4?W zY=vaFbT|;KXkiFr|j z&kR?Q#10Ab&zVeOI%9thSyoYX^FiV)c=;@J1w{+ zexr5q_j9-7{dPxpkGWCmp_VPW$95kbUTxl3Xs$FdVVJ8XtiVU%tA3yKnACQ<|y5bBg0cr~RJ7>KJ;z!L?1p@ESD z0JF)ZS}X!dv?LKLZA8KjpKQ8Adt2ZUp_cNaXag11!tcY<6#-lXSddp*4! zbsz0ad)M^Ccc1RtG*2frqLi5XS($~BNqC@JQqfzzWx!z=j)7aM-Xgn;$|r7z6Z9Zn zk*X7(Nz+CK@!0$QT_HY7LhLI-(w|k=9Wwq6BNYex*WL!2lz|lPPNF zb>PV~$<;^#gDJ)%pVW%K>6gERd{ieipuM0^hu0%gMM|L{nhF&XvA51d(I|YS$3+plLu#=%AJl?XzHLWSC=0&37(BTVP zft!{MXo23S$RyN=uTyP3b8YW=d2y~`u2Bc9-k3A_x!p?B)<yoIy7E z0ays|62?H#U5wTqnVo&O7A<;ENpyT}aByxMHAOvWe|UEG5wyF5)IKzX_SRqYEj1^W zdTTkGEm!MZnrJTdRr89Hud-7Au91YC85NBqS(X^tIiMQ`BHo8Hsx##i-TA8BSdHumN<>7Qq)1P^fBO9U5A1*L+-8a}Cp_8^k1oHG z8Or%Oq3GN0=WoG8Fr$KU+SJ$m+YY?{{B*kyLe5SYJHIQ%XMsrk1n~nHPtc0xA)pr- zCgcwR^mdXn+wV~n794IZCOai1=wMiH|NnhB$cxeuCq?6_Lk1Qe3NDB8>Nl{GMo9AE zFZjHE#dIJk$;lWI2{)ubAk??(wa$c^xEMpFFteXvxu)dJ6RGWc_xEkO_tZjMyp<)o z4ex+t6mOS-;-ceZpLh96__^G$wG>LdlTuMo2)W?r;|Jtt6L=%Tll9-nW6R&LsD2QItzRbkII>UEQ=*(e^wypz(UGXvYkt>V<$mGn6jm1ogqo zz5!6ESzXA_A38QzJ9cP3U&wLt0!S6-JFy^dG{M-Ti^jzr9OW9Tddet%N!b#}K%+<0y z6Q=7cTO<4y&m0iXOi9eI@lXoJq_^K+Pl+!i5_TXHFMPPsgS{L6x3C>`(200`kNC^? z+C&ZZ!LH{a)ffSJmV z(lA=@=WJHgS)_MMm`5n=q3!Z)m+!>&SYVNLPirB@^=aq>7#9W9k#F@4J~%4m;f43e zHHnPQqKfHtYZHIH$A1rr1N5qgu>F2orTb~*4jW#9{(6tD?1Ug4<8~kb_qy zVmS0wjcR?9Jq^r+e3N>zOy=xH#UE0*F0ugY3x$w7z2zi)l|xT%-|^%Sf>TpC500eX zKuF$4P+>04otIhft;0jdD@;DW*L*VHO4y z%|Nz|!{#pp@aAY~NM2 z^waam(5+AnF_}&$@w4}Q>y@n!-#VeS&TA95KC;z(N&b0kJiK-5BWMI)%Smg>59N=d zqE!vnBeGSHqzBZZ7s2D55aI=efK~CHK&wIr9RgdYW-xmwI#?c2YfHj-)^vT1qxYA- zB;NB!jdnZjp_z_ijOH@fHl`mh(Zrh-Z7QglOIx!kYoOq3{KPMP5twC>>MwqYcen=V zUBeqdWC#Fkl@>4TFqbrL`jqMYH_9E#5Tam7GUt!XWmsTLn-%A;sWvOlvWBZ`IJ}N! z))Ziza-p~jHb~sO_o3b|_V(iYMb2(sZ2n?%V&aR5T}5-PxGULgehCfy;pxP_K01*< z_>0M%MOIHHFd|*=>-!=O^r8=%j~AOwT=bnlCoL*lhB?d(pvzeZ9TE#3}2G zi6m&F9Wt$WcW?<2ZO4(t_&98RE7B+0QF9(L zBI*s%E?edT@{4qbda!Fj54l~~y^cT+Nd{O;sv zDA;53#Zlyv8GhaAL?}FKrP?!ru<)6#g<#D?UVJ!(~Mi@qFJ>m(EMtun@x%cwuxj1TqZT|s0} zGYHPfup{LOT5FpMhetwuZN1@;vpx)$FQ+O>DzP0VCIveIHlwxQ4mHQ~5q+LRVe(h|&@!mOJs%5e{{@en; za-h$Ai3-qwSIIZ8pM7GC0$yP2`I5A#?38~(Z<3OeNW2tA4~O-v6k{nD zS&s8Q^M~dSIcH)yY}iG$8-_|xT!u!KeDjAWv6RP8>(K8V_8zjDf)H{s4 zx$im8vb{l(^3~Yoz*WHM?`M+e?C;Si{639Y-y}o>J0hf=+k~~oj*O{SQ=nL0OwwHr zrFoV_Mpdu4>xBNxba>Kw&tSncIp@F=W8I>KfNh2iB%n367Fb_)0Ybo7g*k?Bl+aYP z3(7j|oRb4=i^C(r$~m{W9~;q4Ks6!lGhjY+ZP-~N{5PpuNflX<; zF-3@x4uJ^=K#1@(s1yV8v8TF_7BR8M>UGsTx-BHhfOgmlc~=wO^`3s0#d*LvLIb6; zxQ{({-Wv<1Pi))S_9&2>gGkje^EM#+?C!nwqX3XN<-#Lg)rSMtg` z$e+y2&BS@m=7&6+;p!=sFxq;L%2Y~)!?>%Hz?mC5#~ z@mW#ShkbiS9@4XiLU|);*~pR9>1ritaU~d+o@j`hAOr%wFmJN4g=iPp<9ie%n$h}D z3o=Fojx^j}zY!!=)r}TGg{7*!MM5OBDb6(|aVBEJy!p;5v3k9ZL8kkCk9{i4W507R z`%C@mre5LzYlj4fk2yYiocbEvILYrx2Km zfH6tCCODtA<(!3jCK@f~m>vg@Zh`Y_$5dhCc-U`?K!G%;2Ze6E@Ud`DF(@jrEhVJW z?Do}@*{G*GHENcqr=+5)J|b)Q~RrDmsAqH8GmWL`sF5N7ZO_c$1i@``>-@ zO;FB2P;b8l)Pp@wuDNA|18=fHKH=Rr+}1aQ0zbo1 zJ%bs|J)aU+Cn_sof(^pX>QS4JY!+&X76YHT`bQ3{AC(&70_0lG*a8Mtr#kNDI)-J2 zv_jKNcB)ecCzR zFqj&3m8Gr?CGSzLlaik%0mZp1K(HFh&ld<|a2@D?so?~qiG=lt zx@vpH@Gpp&D);;nH33{3Hy~nkC6*1yO^GW%qAJ+xMo`9oL6^IVfNTJ~f-d7vXUt2`H~NU1AH(RvSe~G~bQ=YkZ`)hmQxU3VU(=9B`yh|b z_H|0FH$#^T0$s-#fcdYC?u^?bqrxxfnxM;oAi~>V8m2Hb621rohJKj1H^^fW>9OW0 z*?MV=f-5twn467|z$D=P-T@8+Vm4Ts(T}GZYYZ84soJCQUUhIO0tV{G;L^&29>YEe zWcaJx+kPKh!QD!vHw>vO2>ht7@DvecgO0mfomFSu-8@R62$-glharqy3K@XKGKF8KfB(GYLKq%a)##V=sl zh1cLFa1tyYC4PP*Vr%awk3|mDD8-B&H$phle9Lm8I%Qrapkq+WtE?^$BaI3OLCCx3 z!qp6lc=|^HJp*Y&zveiri|Q&{p4hbURP*fGqKcx@f=>~G3}IT}$L&B}U6lVni2pt7 z>W><~x_8{+O$MGZ0J%7u?R;yNOaT6e6WNIev9m|0PfDxN`yrlL8)z#JTS76{HMa`Q`8 zSKM8Bv|@FMdI-$1_K*s?PYLeUa2f(0Ys6g1)r-_Ph~fbcFapkjgXl2wFs{A-TMBC%<_I!vcKe zhdkTG_F5&;Jz!H-UDLd*QP1HbSc;a0WGGgvrpy$qsaa7zKPbawMvQ}Jilwr}FkTP?;YcT$2#y?|%OK|*R7%Q{tR_Z+*~WS`iyHF%Pc%m`e$;H|M+8Kc2f5Z#JR z6ZI+e{yGF-J;`nJB=c@|cQZ~^_uzTnInS7tgM++-2;IooyEJ))=^KlRYHFFZQ3uLb z6%3-Ycp<#ri)S*Z52CEehRaNzO^MR7L=SN_>{85)(nL4*DL=A-ELyjxW!^1w7Cf+= z)iT!iRUrHn!v8GWk;p3vSFD`Nx}ig{@TntIumY*5p+Nxb*!2nS;lBk?T%XK$5XOl; zdFh#pTxO##9K`p+^h6APmH?Rm0Xa4fKNNjU4zMP00ahFBNiAgp8lZ+U3QNyGnjx_w zGS`4JVpuh^J|z^11{bQeL67({f(|5!UiU-1VyJxv$hSd|>@}gH*8$r^yWDcDgB8e# z?#rxvZ7GOwdU~Ck9a`Ju!UP7*7xDv?l~60y5~bZBD(%UnI_2$yxR_c1Fnv16QhUY1_nWOxYhKI6#QhcQaIeIel19R=mt9BHW`!# z#3mk=fI_R#!THo*Lw-UZrKO-aHyd00Q-~|8ad(F7EhF)krHb?BOJb#rq%1c{a8AzP z&vNNt#!@-PsYJP!!x`{EVp&qk;jY zaz|cB(Up!WYcv0{S_Y^Rro$5dQ#ra|RFs6VW;!vR(_@S0 zYEX+jgq=35GTG^GrSpK&otMRGDNVzsz)!wQ*nmzydf4*M zntMKd8kz=j&tR@c(xJRyVV=5`pv=pINxJ)*Okc#r4qdw8J)ZoVLlfbdrrhK5w-s7Z81^2D9= zhC+i(u*V&o41~j0u!^K=O-+pFVqchh+1%`XYWcar$NQ)AZm}S8ZLNp_BV^|#gI}RwGMI{>lTjRK~R|0r) zwoW%fM77rz&n<{HSEX7aGv*f6wXciJD~Z?4oR5rLt(^*Js<@+OORLH+m>G`cM~Z{n3T7jKUZSit!Oa1YCKJT{`WV5nEP+6* zp*3~wk#M4>CJ{z$?x}}jm7sVcrFT{P9~#`yohZ*QEiJjZdcn?pUuwNj+wNXj(RJU} z)RMdMW3e4uzx|+!FNq?iD}p+Fy$k^$5*6wh%355i2;jI=mPnMjvgxW$xi9Cx;pqh* z_IEudLs;>DtH;DM7-oDX9}_W?(asn*J{%d4%jP`pmFV>$F_=3e(vs3cQdk*nubps2 zW>+pj<_V5Sap~68(;5wqq`xUYoLGoYO*rp+lwFNCBJo(PxvJ{U`+Hk4Ah#~sd?RBa z;1?-LC83`^TYg~IW|;L_ALOU?SX4v4rj3>Lw-H9AxDsIDRWDwl@JfLI1SFWO6kyin z^nxcmWx+_)DMT00F`cWHHR@%B1*Nr1M(mYQMTsWe>lNI~?aMIk@pA?rzJtHDb=Wq0+cMR23ukZp z2pitVCo|rx*OswI_R*eO81TrlgaJRR&4>4RPE7@K&Xs^`dRq0XUpZCIV}YB3^?9+p zXF|oHpNAjK?~fEl3#0oA{&B|c!X1Tg7i}qCHS>qDn`4i~F2}dW|6KBKr6r}0l~tDg zxO~s7J+ppS@mR%hRVGBX#{t@|HZYv}Eap`UMTm%j%b1ZhZKreNB%ym$j5EFJ9qa zap~q~S0-D(-L|KFQTydvK3etU>c?;0bnE+TwygQ)ZNA&vZ$G=XVC@U*mao5g{j=+T zcgLq_0-5qN?hC1Hwtm^!E=SN!-TQ+SuzUADO54O(Qx@GG-+nTps zzVqOn?`}V`{iD0~-1YvB{X711=b@b++`aqmx9{0@&yRO4+V%Vwl3%!RZ}{Gm_x|^N zkKcD`cVPGK-LKtWd;d4@AK7zo&!>C8u`jW2|Gr;6uxfwF{^t*@Jy>|~a@SDzz8-jA z3Z{5T9YWMj{#lG77v^i0TA0BnjlNIJxk5f0i)Rq)%Gqb`JHBGbkTw1Z;QT>z9`r^1 z@0s&F++SwSBak@R^Qf=fUvKUg_+siC=6r^4f%<22Ug%rkAArP41t9(K?N_ztT=|k{ zk-qQu6*@iU9L&CB?+0-HH|BoOSLXk%InTrWTg`a{d0TA#QD41(ow;9tHau_6XZSX# zE9Sh=x559dj@~0(5A^pQ=sPm7bbWtU7c5zr*|`gmH~VpRz}JVX0mx|9o7O-zdN6L`jydzrFA1iT>W6L&uUYCb7}CnBK7U z^~p7d4=1k4Xj6rHNM06 zm-KCyPP1F=;C3``K$?178d^UVjyD1V`>Vs*kz^+tx-ps!hkFln9U15vQ_o?vWb7#0 zHa9>^AfpYSv*ZD^kF%g_f_F`=`UxueTpE0LSN}k7-;rcv{W3(8<+R|$;{-@z%<6s1 kraJ$pT7G+1&x3~_=$FCn@jVD|Vqs0S671RrqfK!5UxyH~761SM diff --git a/fonts/linearicons/fonts/Linearicons-Free.woff2 b/fonts/linearicons/fonts/Linearicons-Free.woff2 deleted file mode 100755 index d4c5ddafc96c4e9fc92365a8d66c2c2fdb3d90ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21780 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 = $phone; - return $this; - } - - /** - * Phone number in E.123 format. 50 characters max. - * - * @return string - */ - public function getPhone() - { - return $this->phone; - } - - /** - * Type of address (e.g., HOME_OR_WORK, GIFT etc). - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * Type of address (e.g., HOME_OR_WORK, GIFT etc). - * - * @return string - */ - public function getType() - { - return $this->type; - } -} diff --git a/paypal/PayPal/Api/Agreement.php b/paypal/PayPal/Api/Agreement.php deleted file mode 100644 index 810dde2..0000000 --- a/paypal/PayPal/Api/Agreement.php +++ /dev/null @@ -1,647 +0,0 @@ -id = $id; - return $this; - } - - /** - * Identifier of the agreement. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * State of the agreement. - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * State of the agreement. - * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * Name of the agreement. - * - * @param string $name - * - * @return $this - */ - public function setName($name) - { - $this->name = $name; - return $this; - } - - /** - * Name of the agreement. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Description of the agreement. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } - - /** - * Description of the agreement. - * - * @return string - */ - public function getDescription() - { - return $this->description; - } - - /** - * Start date of the agreement. Date format yyyy-MM-dd z, as defined in [ISO8601](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $start_date - * - * @return $this - */ - public function setStartDate($start_date) - { - $this->start_date = $start_date; - return $this; - } - - /** - * Start date of the agreement. Date format yyyy-MM-dd z, as defined in [ISO8601](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getStartDate() - { - return $this->start_date; - } - - /** - * Details of the buyer who is enrolling in this agreement. This information is gathered from execution of the approval URL. - * - * @param \PayPal\Api\Payer $payer - * - * @return $this - */ - public function setPayer($payer) - { - $this->payer = $payer; - return $this; - } - - /** - * Details of the buyer who is enrolling in this agreement. This information is gathered from execution of the approval URL. - * - * @return \PayPal\Api\Payer - */ - public function getPayer() - { - return $this->payer; - } - - /** - * Shipping address object of the agreement, which should be provided if it is different from the default address. - * - * @param \PayPal\Api\Address $shipping_address - * - * @return $this - */ - public function setShippingAddress($shipping_address) - { - $this->shipping_address = $shipping_address; - return $this; - } - - /** - * Shipping address object of the agreement, which should be provided if it is different from the default address. - * - * @return \PayPal\Api\Address - */ - public function getShippingAddress() - { - return $this->shipping_address; - } - - /** - * Default merchant preferences from the billing plan are used, unless override preferences are provided here. - * - * @param \PayPal\Api\MerchantPreferences $override_merchant_preferences - * - * @return $this - */ - public function setOverrideMerchantPreferences($override_merchant_preferences) - { - $this->override_merchant_preferences = $override_merchant_preferences; - return $this; - } - - /** - * Default merchant preferences from the billing plan are used, unless override preferences are provided here. - * - * @return \PayPal\Api\MerchantPreferences - */ - public function getOverrideMerchantPreferences() - { - return $this->override_merchant_preferences; - } - - /** - * Array of override_charge_model for this agreement if needed to change the default models from the billing plan. - * - * @param \PayPal\Api\OverrideChargeModel[] $override_charge_models - * - * @return $this - */ - public function setOverrideChargeModels($override_charge_models) - { - $this->override_charge_models = $override_charge_models; - return $this; - } - - /** - * Array of override_charge_model for this agreement if needed to change the default models from the billing plan. - * - * @return \PayPal\Api\OverrideChargeModel[] - */ - public function getOverrideChargeModels() - { - return $this->override_charge_models; - } - - /** - * Append OverrideChargeModels to the list. - * - * @param \PayPal\Api\OverrideChargeModel $overrideChargeModel - * @return $this - */ - public function addOverrideChargeModel($overrideChargeModel) - { - if (!$this->getOverrideChargeModels()) { - return $this->setOverrideChargeModels(array($overrideChargeModel)); - } else { - return $this->setOverrideChargeModels( - array_merge($this->getOverrideChargeModels(), array($overrideChargeModel)) - ); - } - } - - /** - * Remove OverrideChargeModels from the list. - * - * @param \PayPal\Api\OverrideChargeModel $overrideChargeModel - * @return $this - */ - public function removeOverrideChargeModel($overrideChargeModel) - { - return $this->setOverrideChargeModels( - array_diff($this->getOverrideChargeModels(), array($overrideChargeModel)) - ); - } - - /** - * Plan details for this agreement. - * - * @param \PayPal\Api\Plan $plan - * - * @return $this - */ - public function setPlan($plan) - { - $this->plan = $plan; - return $this; - } - - /** - * Plan details for this agreement. - * - * @return \PayPal\Api\Plan - */ - public function getPlan() - { - return $this->plan; - } - - /** - * Date and time that this resource was created. Date format yyyy-MM-dd z, as defined in [ISO8601](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * Date and time that this resource was created. Date format yyyy-MM-dd z, as defined in [ISO8601](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * Date and time that this resource was updated. Date format yyyy-MM-dd z, as defined in [ISO8601](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $update_time - * - * @return $this - */ - public function setUpdateTime($update_time) - { - $this->update_time = $update_time; - return $this; - } - - /** - * Date and time that this resource was updated. Date format yyyy-MM-dd z, as defined in [ISO8601](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getUpdateTime() - { - return $this->update_time; - } - - /** - * Agreement Details - * - * @param \PayPal\Api\AgreementDetails $agreement_details - * - * @return $this - */ - public function setAgreementDetails($agreement_details) - { - $this->agreement_details = $agreement_details; - return $this; - } - - /** - * Agreement Details - * - * @return \PayPal\Api\AgreementDetails - */ - public function getAgreementDetails() - { - return $this->agreement_details; - } - - /** - * Get Approval Link - * - * @return null|string - */ - public function getApprovalLink() - { - return $this->getLink(PayPalConstants::APPROVAL_URL); - } - - /** - * Create a new billing agreement by passing the details for the agreement, including the name, description, start date, payer, and billing plan in the request JSON. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Agreement - */ - public function create($apiContext = null, $restCall = null) - { - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/payments/billing-agreements/", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Execute a billing agreement after buyer approval by passing the payment token to the request URI. - * - * @param $paymentToken - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Agreement - */ - public function execute($paymentToken, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($paymentToken, 'paymentToken'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/billing-agreements/$paymentToken/agreement-execute", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Retrieve details for a particular billing agreement by passing the ID of the agreement to the request URI. - * - * @param string $agreementId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Agreement - */ - public static function get($agreementId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($agreementId, 'agreementId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/billing-agreements/$agreementId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Agreement(); - $ret->fromJson($json); - return $ret; - } - - /** - * Update details of a billing agreement, such as the description, shipping address, and start date, by passing the ID of the agreement to the request URI. - * - * @param PatchRequest $patchRequest - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function update($patchRequest, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($patchRequest, 'patchRequest'); - $payLoad = $patchRequest->toJSON(); - self::executeCall( - "/v1/payments/billing-agreements/{$this->getId()}", - "PATCH", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Suspend a particular billing agreement by passing the ID of the agreement to the request URI. - * - * @param AgreementStateDescriptor $agreementStateDescriptor - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function suspend($agreementStateDescriptor, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($agreementStateDescriptor, 'agreementStateDescriptor'); - $payLoad = $agreementStateDescriptor->toJSON(); - self::executeCall( - "/v1/payments/billing-agreements/{$this->getId()}/suspend", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Reactivate a suspended billing agreement by passing the ID of the agreement to the appropriate URI. In addition, pass an agreement_state_descriptor object in the request JSON that includes a note about the reason for changing the state of the agreement and the amount and currency for the agreement. - * - * @param AgreementStateDescriptor $agreementStateDescriptor - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function reActivate($agreementStateDescriptor, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($agreementStateDescriptor, 'agreementStateDescriptor'); - $payLoad = $agreementStateDescriptor->toJSON(); - self::executeCall( - "/v1/payments/billing-agreements/{$this->getId()}/re-activate", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Cancel a billing agreement by passing the ID of the agreement to the request URI. In addition, pass an agreement_state_descriptor object in the request JSON that includes a note about the reason for changing the state of the agreement and the amount and currency for the agreement. - * - * @param AgreementStateDescriptor $agreementStateDescriptor - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function cancel($agreementStateDescriptor, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($agreementStateDescriptor, 'agreementStateDescriptor'); - $payLoad = $agreementStateDescriptor->toJSON(); - self::executeCall( - "/v1/payments/billing-agreements/{$this->getId()}/cancel", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Bill an outstanding amount for an agreement by passing the ID of the agreement to the request URI. In addition, pass an agreement_state_descriptor object in the request JSON that includes a note about the reason for changing the state of the agreement and the amount and currency for the agreement. - * - * @param AgreementStateDescriptor $agreementStateDescriptor - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function billBalance($agreementStateDescriptor, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($agreementStateDescriptor, 'agreementStateDescriptor'); - $payLoad = $agreementStateDescriptor->toJSON(); - self::executeCall( - "/v1/payments/billing-agreements/{$this->getId()}/bill-balance", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Set the balance for an agreement by passing the ID of the agreement to the request URI. In addition, pass a common_currency object in the request JSON that specifies the currency type and value of the balance. - * - * @param Currency $currency - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function setBalance($currency, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($currency, 'currency'); - $payLoad = $currency->toJSON(); - self::executeCall( - "/v1/payments/billing-agreements/{$this->getId()}/set-balance", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * List transactions for a billing agreement by passing the ID of the agreement, as well as the start and end dates of the range of transactions to list, to the request URI. - * - * @deprecated Please use searchTransactions Instead - * @param string $agreementId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return AgreementTransactions - */ - public static function transactions($agreementId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($agreementId, 'agreementId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/billing-agreements/$agreementId/transactions", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new AgreementTransactions(); - $ret->fromJson($json); - return $ret; - } - - /** - * List transactions for a billing agreement by passing the ID of the agreement, as well as the start and end dates of the range of transactions to list, to the request URI. - * - * @param string $agreementId - * @param array $params Parameters for search string. Options: start_date, and end_date - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return AgreementTransactions - */ - public static function searchTransactions($agreementId, $params = array(), $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($agreementId, 'agreementId'); - ArgumentValidator::validate($params, 'params'); - - $allowedParams = array( - 'start_date' => 1, - 'end_date' => 1, - ); - - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/billing-agreements/$agreementId/transactions?" . http_build_query(array_intersect_key($params, $allowedParams)), - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new AgreementTransactions(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/AgreementDetails.php b/paypal/PayPal/Api/AgreementDetails.php deleted file mode 100644 index 94e90cd..0000000 --- a/paypal/PayPal/Api/AgreementDetails.php +++ /dev/null @@ -1,209 +0,0 @@ -outstanding_balance = $outstanding_balance; - return $this; - } - - /** - * The outstanding balance for this agreement. - * - * @return \PayPal\Api\Currency - */ - public function getOutstandingBalance() - { - return $this->outstanding_balance; - } - - /** - * Number of cycles remaining for this agreement. - * - * @param string $cycles_remaining - * - * @return $this - */ - public function setCyclesRemaining($cycles_remaining) - { - $this->cycles_remaining = $cycles_remaining; - return $this; - } - - /** - * Number of cycles remaining for this agreement. - * - * @return string - */ - public function getCyclesRemaining() - { - return $this->cycles_remaining; - } - - /** - * Number of cycles completed for this agreement. - * - * @param string $cycles_completed - * - * @return $this - */ - public function setCyclesCompleted($cycles_completed) - { - $this->cycles_completed = $cycles_completed; - return $this; - } - - /** - * Number of cycles completed for this agreement. - * - * @return string - */ - public function getCyclesCompleted() - { - return $this->cycles_completed; - } - - /** - * The next billing date for this agreement, represented as 2014-02-19T10:00:00Z format. - * - * @param string $next_billing_date - * - * @return $this - */ - public function setNextBillingDate($next_billing_date) - { - $this->next_billing_date = $next_billing_date; - return $this; - } - - /** - * The next billing date for this agreement, represented as 2014-02-19T10:00:00Z format. - * - * @return string - */ - public function getNextBillingDate() - { - return $this->next_billing_date; - } - - /** - * Last payment date for this agreement, represented as 2014-06-09T09:42:31Z format. - * - * @param string $last_payment_date - * - * @return $this - */ - public function setLastPaymentDate($last_payment_date) - { - $this->last_payment_date = $last_payment_date; - return $this; - } - - /** - * Last payment date for this agreement, represented as 2014-06-09T09:42:31Z format. - * - * @return string - */ - public function getLastPaymentDate() - { - return $this->last_payment_date; - } - - /** - * Last payment amount for this agreement. - * - * @param \PayPal\Api\Currency $last_payment_amount - * - * @return $this - */ - public function setLastPaymentAmount($last_payment_amount) - { - $this->last_payment_amount = $last_payment_amount; - return $this; - } - - /** - * Last payment amount for this agreement. - * - * @return \PayPal\Api\Currency - */ - public function getLastPaymentAmount() - { - return $this->last_payment_amount; - } - - /** - * Last payment date for this agreement, represented as 2015-02-19T10:00:00Z format. - * - * @param string $final_payment_date - * - * @return $this - */ - public function setFinalPaymentDate($final_payment_date) - { - $this->final_payment_date = $final_payment_date; - return $this; - } - - /** - * Last payment date for this agreement, represented as 2015-02-19T10:00:00Z format. - * - * @return string - */ - public function getFinalPaymentDate() - { - return $this->final_payment_date; - } - - /** - * Total number of failed payments for this agreement. - * - * @param string $failed_payment_count - * - * @return $this - */ - public function setFailedPaymentCount($failed_payment_count) - { - $this->failed_payment_count = $failed_payment_count; - return $this; - } - - /** - * Total number of failed payments for this agreement. - * - * @return string - */ - public function getFailedPaymentCount() - { - return $this->failed_payment_count; - } - -} diff --git a/paypal/PayPal/Api/AgreementStateDescriptor.php b/paypal/PayPal/Api/AgreementStateDescriptor.php deleted file mode 100644 index 619da31..0000000 --- a/paypal/PayPal/Api/AgreementStateDescriptor.php +++ /dev/null @@ -1,65 +0,0 @@ -note = $note; - return $this; - } - - /** - * Reason for changing the state of the agreement. - * - * @return string - */ - public function getNote() - { - return $this->note; - } - - /** - * The amount and currency of the agreement. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * The amount and currency of the agreement. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - -} diff --git a/paypal/PayPal/Api/AgreementTransaction.php b/paypal/PayPal/Api/AgreementTransaction.php deleted file mode 100644 index 12cad0e..0000000 --- a/paypal/PayPal/Api/AgreementTransaction.php +++ /dev/null @@ -1,257 +0,0 @@ -transaction_id = $transaction_id; - return $this; - } - - /** - * Id corresponding to this transaction. - * - * @return string - */ - public function getTransactionId() - { - return $this->transaction_id; - } - - /** - * State of the subscription at this time. - * - * @param string $status - * - * @return $this - */ - public function setStatus($status) - { - $this->status = $status; - return $this; - } - - /** - * State of the subscription at this time. - * - * @return string - */ - public function getStatus() - { - return $this->status; - } - - /** - * Type of transaction, usually Recurring Payment. - * - * @param string $transaction_type - * - * @return $this - */ - public function setTransactionType($transaction_type) - { - $this->transaction_type = $transaction_type; - return $this; - } - - /** - * Type of transaction, usually Recurring Payment. - * - * @return string - */ - public function getTransactionType() - { - return $this->transaction_type; - } - - /** - * Amount for this transaction. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Amount for this transaction. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Fee amount for this transaction. - * - * @param \PayPal\Api\Currency $fee_amount - * - * @return $this - */ - public function setFeeAmount($fee_amount) - { - $this->fee_amount = $fee_amount; - return $this; - } - - /** - * Fee amount for this transaction. - * - * @return \PayPal\Api\Currency - */ - public function getFeeAmount() - { - return $this->fee_amount; - } - - /** - * Net amount for this transaction. - * - * @param \PayPal\Api\Currency $net_amount - * - * @return $this - */ - public function setNetAmount($net_amount) - { - $this->net_amount = $net_amount; - return $this; - } - - /** - * Net amount for this transaction. - * - * @return \PayPal\Api\Currency - */ - public function getNetAmount() - { - return $this->net_amount; - } - - /** - * Email id of payer. - * - * @param string $payer_email - * - * @return $this - */ - public function setPayerEmail($payer_email) - { - $this->payer_email = $payer_email; - return $this; - } - - /** - * Email id of payer. - * - * @return string - */ - public function getPayerEmail() - { - return $this->payer_email; - } - - /** - * Business name of payer. - * - * @param string $payer_name - * - * @return $this - */ - public function setPayerName($payer_name) - { - $this->payer_name = $payer_name; - return $this; - } - - /** - * Business name of payer. - * - * @return string - */ - public function getPayerName() - { - return $this->payer_name; - } - - /** - * Time at which this transaction happened. - * - * @param string $time_stamp - * - * @return $this - */ - public function setTimeStamp($time_stamp) - { - $this->time_stamp = $time_stamp; - return $this; - } - - /** - * Time at which this transaction happened. - * - * @return string - */ - public function getTimeStamp() - { - return $this->time_stamp; - } - - /** - * Time zone of time_updated field. - * - * @param string $time_zone - * - * @return $this - */ - public function setTimeZone($time_zone) - { - $this->time_zone = $time_zone; - return $this; - } - - /** - * Time zone of time_updated field. - * - * @return string - */ - public function getTimeZone() - { - return $this->time_zone; - } - -} diff --git a/paypal/PayPal/Api/AgreementTransactions.php b/paypal/PayPal/Api/AgreementTransactions.php deleted file mode 100644 index 30d4527..0000000 --- a/paypal/PayPal/Api/AgreementTransactions.php +++ /dev/null @@ -1,71 +0,0 @@ -agreement_transaction_list = $agreement_transaction_list; - return $this; - } - - /** - * Array of agreement_transaction object. - * - * @return \PayPal\Api\AgreementTransaction[] - */ - public function getAgreementTransactionList() - { - return $this->agreement_transaction_list; - } - - /** - * Append AgreementTransactionList to the list. - * - * @param \PayPal\Api\AgreementTransaction $agreementTransaction - * @return $this - */ - public function addAgreementTransactionList($agreementTransaction) - { - if (!$this->getAgreementTransactionList()) { - return $this->setAgreementTransactionList(array($agreementTransaction)); - } else { - return $this->setAgreementTransactionList( - array_merge($this->getAgreementTransactionList(), array($agreementTransaction)) - ); - } - } - - /** - * Remove AgreementTransactionList from the list. - * - * @param \PayPal\Api\AgreementTransaction $agreementTransaction - * @return $this - */ - public function removeAgreementTransactionList($agreementTransaction) - { - return $this->setAgreementTransactionList( - array_diff($this->getAgreementTransactionList(), array($agreementTransaction)) - ); - } - -} diff --git a/paypal/PayPal/Api/AlternatePayment.php b/paypal/PayPal/Api/AlternatePayment.php deleted file mode 100644 index 7999c5f..0000000 --- a/paypal/PayPal/Api/AlternatePayment.php +++ /dev/null @@ -1,91 +0,0 @@ -alternate_payment_account_id = $alternate_payment_account_id; - return $this; - } - - /** - * The unique identifier of the alternate payment account. - * - * @return string - */ - public function getAlternatePaymentAccountId() - { - return $this->alternate_payment_account_id; - } - - /** - * The unique identifier of the payer - * - * @param string $external_customer_id - * - * @return $this - */ - public function setExternalCustomerId($external_customer_id) - { - $this->external_customer_id = $external_customer_id; - return $this; - } - - /** - * The unique identifier of the payer - * - * @return string - */ - public function getExternalCustomerId() - { - return $this->external_customer_id; - } - - /** - * Alternate Payment provider id. This is an optional attribute needed only for certain alternate providers e.g Ideal - * - * @param string $alternate_payment_provider_id - * - * @return $this - */ - public function setAlternatePaymentProviderId($alternate_payment_provider_id) - { - $this->alternate_payment_provider_id = $alternate_payment_provider_id; - return $this; - } - - /** - * Alternate Payment provider id. This is an optional attribute needed only for certain alternate providers e.g Ideal - * - * @return string - */ - public function getAlternatePaymentProviderId() - { - return $this->alternate_payment_provider_id; - } - -} diff --git a/paypal/PayPal/Api/Amount.php b/paypal/PayPal/Api/Amount.php deleted file mode 100644 index 82fd6c8..0000000 --- a/paypal/PayPal/Api/Amount.php +++ /dev/null @@ -1,93 +0,0 @@ -currency = $currency; - return $this; - } - - /** - * 3-letter [currency code](https://developer.paypal.com/docs/integration/direct/rest_api_payment_country_currency_support/). PayPal does not support all currencies. - * - * @return string - */ - public function getCurrency() - { - return $this->currency; - } - - /** - * Total amount charged from the payer to the payee. In case of a refund, this is the refunded amount to the original payer from the payee. 10 characters max with support for 2 decimal places. - * - * @param string|double $total - * - * @return $this - */ - public function setTotal($total) - { - NumericValidator::validate($total, "Total"); - $total = FormatConverter::formatToPrice($total, $this->getCurrency()); - $this->total = $total; - return $this; - } - - /** - * Total amount charged from the payer to the payee. In case of a refund, this is the refunded amount to the original payer from the payee. 10 characters max with support for 2 decimal places. - * - * @return string - */ - public function getTotal() - { - return $this->total; - } - - /** - * Additional details of the payment amount. - * - * @param \PayPal\Api\Details $details - * - * @return $this - */ - public function setDetails($details) - { - $this->details = $details; - return $this; - } - - /** - * Additional details of the payment amount. - * - * @return \PayPal\Api\Details - */ - public function getDetails() - { - return $this->details; - } - -} diff --git a/paypal/PayPal/Api/Authorization.php b/paypal/PayPal/Api/Authorization.php deleted file mode 100644 index 5da9d45..0000000 --- a/paypal/PayPal/Api/Authorization.php +++ /dev/null @@ -1,507 +0,0 @@ -id = $id; - return $this; - } - - /** - * ID of the authorization transaction. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Amount being authorized. - * - * @param \PayPal\Api\Amount $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Amount being authorized. - * - * @return \PayPal\Api\Amount - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Specifies the payment mode of the transaction. - * Valid Values: ["INSTANT_TRANSFER"] - * - * @param string $payment_mode - * - * @return $this - */ - public function setPaymentMode($payment_mode) - { - $this->payment_mode = $payment_mode; - return $this; - } - - /** - * Specifies the payment mode of the transaction. - * - * @return string - */ - public function getPaymentMode() - { - return $this->payment_mode; - } - - /** - * State of the authorization. - * Valid Values: ["pending", "authorized", "partially_captured", "captured", "expired", "voided"] - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * State of the authorization. - * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * Reason code, `AUTHORIZATION`, for a transaction state of `pending`. - * Valid Values: ["AUTHORIZATION"] - * - * @param string $reason_code - * - * @return $this - */ - public function setReasonCode($reason_code) - { - $this->reason_code = $reason_code; - return $this; - } - - /** - * Reason code, `AUTHORIZATION`, for a transaction state of `pending`. - * - * @return string - */ - public function getReasonCode() - { - return $this->reason_code; - } - - /** - * [DEPRECATED] Reason code for the transaction state being Pending.Obsolete. use reason_code field instead. - * Valid Values: ["AUTHORIZATION"] - * - * @param string $pending_reason - * - * @return $this - */ - public function setPendingReason($pending_reason) - { - $this->pending_reason = $pending_reason; - return $this; - } - - /** - * @deprecated [DEPRECATED] Reason code for the transaction state being Pending.Obsolete. use reason_code field instead. - * - * @return string - */ - public function getPendingReason() - { - return $this->pending_reason; - } - - /** - * The level of seller protection in force for the transaction. Only supported when the `payment_method` is set to `paypal`. Allowed values:
`ELIGIBLE`- Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.
`PARTIALLY_ELIGIBLE`- Merchant is protected by PayPal's Seller Protection Policy for Item Not Received or Unauthorized Payments. Refer to `protection_eligibility_type` for specifics.
`INELIGIBLE`- Merchant is not protected under the Seller Protection Policy. - * Valid Values: ["ELIGIBLE", "PARTIALLY_ELIGIBLE", "INELIGIBLE"] - * - * @param string $protection_eligibility - * - * @return $this - */ - public function setProtectionEligibility($protection_eligibility) - { - $this->protection_eligibility = $protection_eligibility; - return $this; - } - - /** - * The level of seller protection in force for the transaction. Only supported when the `payment_method` is set to `paypal`. Allowed values:
`ELIGIBLE`- Merchant is protected by PayPal's Seller Protection Policy for Unauthorized Payments and Item Not Received.
`PARTIALLY_ELIGIBLE`- Merchant is protected by PayPal's Seller Protection Policy for Item Not Received or Unauthorized Payments. Refer to `protection_eligibility_type` for specifics.
`INELIGIBLE`- Merchant is not protected under the Seller Protection Policy. - * - * @return string - */ - public function getProtectionEligibility() - { - return $this->protection_eligibility; - } - - /** - * The kind of seller protection in force for the transaction. This property is returned only when the `protection_eligibility` property is set to `ELIGIBLE`or `PARTIALLY_ELIGIBLE`. Only supported when the `payment_method` is set to `paypal`. Allowed values:
`ITEM_NOT_RECEIVED_ELIGIBLE`- Sellers are protected against claims for items not received.
`UNAUTHORIZED_PAYMENT_ELIGIBLE`- Sellers are protected against claims for unauthorized payments.
One or both of the allowed values can be returned. - * Valid Values: ["ITEM_NOT_RECEIVED_ELIGIBLE", "UNAUTHORIZED_PAYMENT_ELIGIBLE", "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE"] - * - * @param string $protection_eligibility_type - * - * @return $this - */ - public function setProtectionEligibilityType($protection_eligibility_type) - { - $this->protection_eligibility_type = $protection_eligibility_type; - return $this; - } - - /** - * The kind of seller protection in force for the transaction. This property is returned only when the `protection_eligibility` property is set to `ELIGIBLE`or `PARTIALLY_ELIGIBLE`. Only supported when the `payment_method` is set to `paypal`. Allowed values:
`ITEM_NOT_RECEIVED_ELIGIBLE`- Sellers are protected against claims for items not received.
`UNAUTHORIZED_PAYMENT_ELIGIBLE`- Sellers are protected against claims for unauthorized payments.
One or both of the allowed values can be returned. - * - * @return string - */ - public function getProtectionEligibilityType() - { - return $this->protection_eligibility_type; - } - - /** - * Fraud Management Filter (FMF) details applied for the payment that could result in accept, deny, or pending action. Returned in a payment response only if the merchant has enabled FMF in the profile settings and one of the fraud filters was triggered based on those settings. See [Fraud Management Filters Summary](https://developer.paypal.com/docs/classic/fmf/integration-guide/FMFSummary/) for more information. - * - * @param \PayPal\Api\FmfDetails $fmf_details - * - * @return $this - */ - public function setFmfDetails($fmf_details) - { - $this->fmf_details = $fmf_details; - return $this; - } - - /** - * Fraud Management Filter (FMF) details applied for the payment that could result in accept, deny, or pending action. Returned in a payment response only if the merchant has enabled FMF in the profile settings and one of the fraud filters was triggered based on those settings. See [Fraud Management Filters Summary](https://developer.paypal.com/docs/classic/fmf/integration-guide/FMFSummary/) for more information. - * - * @return \PayPal\Api\FmfDetails - */ - public function getFmfDetails() - { - return $this->fmf_details; - } - - /** - * ID of the Payment resource that this transaction is based on. - * - * @param string $parent_payment - * - * @return $this - */ - public function setParentPayment($parent_payment) - { - $this->parent_payment = $parent_payment; - return $this; - } - - /** - * ID of the Payment resource that this transaction is based on. - * - * @return string - */ - public function getParentPayment() - { - return $this->parent_payment; - } - - /** - * Response codes returned by the processor concerning the submitted payment. Only supported when the `payment_method` is set to `credit_card`. - * - * @param \PayPal\Api\ProcessorResponse $processor_response - * - * @return $this - */ - public function setProcessorResponse($processor_response) - { - $this->processor_response = $processor_response; - return $this; - } - - /** - * Response codes returned by the processor concerning the submitted payment. Only supported when the `payment_method` is set to `credit_card`. - * - * @return \PayPal\Api\ProcessorResponse - */ - public function getProcessorResponse() - { - return $this->processor_response; - } - - /** - * Authorization expiration time and date as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $valid_until - * - * @return $this - */ - public function setValidUntil($valid_until) - { - $this->valid_until = $valid_until; - return $this; - } - - /** - * Authorization expiration time and date as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getValidUntil() - { - return $this->valid_until; - } - - /** - * Time of authorization as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * Time of authorization as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * Time that the resource was last updated. - * - * @param string $update_time - * - * @return $this - */ - public function setUpdateTime($update_time) - { - $this->update_time = $update_time; - return $this; - } - - /** - * Time that the resource was last updated. - * - * @return string - */ - public function getUpdateTime() - { - return $this->update_time; - } - - /** - * Identifier to the purchase or transaction unit corresponding to this authorization transaction. - * - * @param string $reference_id - * - * @return $this - */ - public function setReferenceId($reference_id) - { - $this->reference_id = $reference_id; - return $this; - } - - /** - * Identifier to the purchase or transaction unit corresponding to this authorization transaction. - * - * @return string - */ - public function getReferenceId() - { - return $this->reference_id; - } - - /** - * Receipt id is 16 digit number payment identification number returned for guest users to identify the payment. - * - * @param string $receipt_id - * - * @return $this - */ - public function setReceiptId($receipt_id) - { - $this->receipt_id = $receipt_id; - return $this; - } - - /** - * Receipt id is 16 digit number payment identification number returned for guest users to identify the payment. - * - * @return string - */ - public function getReceiptId() - { - return $this->receipt_id; - } - - /** - * Shows details for an authorization, by ID. - * - * @param string $authorizationId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Authorization - */ - public static function get($authorizationId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($authorizationId, 'authorizationId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/authorization/$authorizationId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Authorization(); - $ret->fromJson($json); - return $ret; - } - - /** - * Captures and processes an authorization, by ID. To use this call, the original payment call must specify an intent of `authorize`. - * - * @param Capture $capture - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Capture - */ - public function capture($capture, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($capture, 'capture'); - $payLoad = $capture->toJSON(); - $json = self::executeCall( - "/v1/payments/authorization/{$this->getId()}/capture", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Capture(); - $ret->fromJson($json); - return $ret; - } - - /** - * Voids, or cancels, an authorization, by ID. You cannot void a fully captured authorization. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Authorization - */ - public function void($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/authorization/{$this->getId()}/void", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Reauthorizes a PayPal account payment, by authorization ID. To ensure that funds are still available, reauthorize a payment after the initial three-day honor period. Supports only the `amount` request parameter. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Authorization - */ - public function reauthorize($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/payments/authorization/{$this->getId()}/reauthorize", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - -} diff --git a/paypal/PayPal/Api/BankAccount.php b/paypal/PayPal/Api/BankAccount.php deleted file mode 100644 index 1ac63cf..0000000 --- a/paypal/PayPal/Api/BankAccount.php +++ /dev/null @@ -1,629 +0,0 @@ -id = $id; - return $this; - } - - /** - * ID of the bank account being saved for later use. - * @deprecated Not publicly available - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Account number in either IBAN (max length 34) or BBAN (max length 17) format. - * - * @param string $account_number - * - * @return $this - */ - public function setAccountNumber($account_number) - { - $this->account_number = $account_number; - return $this; - } - - /** - * Account number in either IBAN (max length 34) or BBAN (max length 17) format. - * - * @return string - */ - public function getAccountNumber() - { - return $this->account_number; - } - - /** - * Type of the bank account number (International or Basic Bank Account Number). For more information refer to http://en.wikipedia.org/wiki/International_Bank_Account_Number. - * Valid Values: ["BBAN", "IBAN"] - * - * @param string $account_number_type - * - * @return $this - */ - public function setAccountNumberType($account_number_type) - { - $this->account_number_type = $account_number_type; - return $this; - } - - /** - * Type of the bank account number (International or Basic Bank Account Number). For more information refer to http://en.wikipedia.org/wiki/International_Bank_Account_Number. - * - * @return string - */ - public function getAccountNumberType() - { - return $this->account_number_type; - } - - /** - * Routing transit number (aka Bank Code) of the bank (typically for domestic use only - for international use, IBAN includes bank code). For more information refer to http://en.wikipedia.org/wiki/Bank_code. - * - * @param string $routing_number - * - * @return $this - */ - public function setRoutingNumber($routing_number) - { - $this->routing_number = $routing_number; - return $this; - } - - /** - * Routing transit number (aka Bank Code) of the bank (typically for domestic use only - for international use, IBAN includes bank code). For more information refer to http://en.wikipedia.org/wiki/Bank_code. - * - * @return string - */ - public function getRoutingNumber() - { - return $this->routing_number; - } - - /** - * Type of the bank account. - * Valid Values: ["CHECKING", "SAVINGS"] - * - * @param string $account_type - * - * @return $this - */ - public function setAccountType($account_type) - { - $this->account_type = $account_type; - return $this; - } - - /** - * Type of the bank account. - * - * @return string - */ - public function getAccountType() - { - return $this->account_type; - } - - /** - * A customer designated name. - * - * @param string $account_name - * - * @return $this - */ - public function setAccountName($account_name) - { - $this->account_name = $account_name; - return $this; - } - - /** - * A customer designated name. - * - * @return string - */ - public function getAccountName() - { - return $this->account_name; - } - - /** - * Type of the check when this information was obtained through a check by the facilitator or merchant. - * Valid Values: ["PERSONAL", "COMPANY"] - * - * @param string $check_type - * - * @return $this - */ - public function setCheckType($check_type) - { - $this->check_type = $check_type; - return $this; - } - - /** - * Type of the check when this information was obtained through a check by the facilitator or merchant. - * - * @return string - */ - public function getCheckType() - { - return $this->check_type; - } - - /** - * How the check was obtained from the customer, if check was the source of the information provided. - * Valid Values: ["CCD", "PPD", "TEL", "POP", "ARC", "RCK", "WEB"] - * - * @param string $auth_type - * - * @return $this - */ - public function setAuthType($auth_type) - { - $this->auth_type = $auth_type; - return $this; - } - - /** - * How the check was obtained from the customer, if check was the source of the information provided. - * - * @return string - */ - public function getAuthType() - { - return $this->auth_type; - } - - /** - * Time at which the authorization (or check) was captured. Use this field if the user authorization needs to be captured due to any privacy requirements. - * - * @param string $auth_capture_timestamp - * - * @return $this - */ - public function setAuthCaptureTimestamp($auth_capture_timestamp) - { - $this->auth_capture_timestamp = $auth_capture_timestamp; - return $this; - } - - /** - * Time at which the authorization (or check) was captured. Use this field if the user authorization needs to be captured due to any privacy requirements. - * - * @return string - */ - public function getAuthCaptureTimestamp() - { - return $this->auth_capture_timestamp; - } - - /** - * Name of the bank. - * - * @param string $bank_name - * - * @return $this - */ - public function setBankName($bank_name) - { - $this->bank_name = $bank_name; - return $this; - } - - /** - * Name of the bank. - * - * @return string - */ - public function getBankName() - { - return $this->bank_name; - } - - /** - * 2 letter country code of the Bank. - * - * @param string $country_code - * - * @return $this - */ - public function setCountryCode($country_code) - { - $this->country_code = $country_code; - return $this; - } - - /** - * 2 letter country code of the Bank. - * - * @return string - */ - public function getCountryCode() - { - return $this->country_code; - } - - /** - * Account holder's first name. - * - * @param string $first_name - * - * @return $this - */ - public function setFirstName($first_name) - { - $this->first_name = $first_name; - return $this; - } - - /** - * Account holder's first name. - * - * @return string - */ - public function getFirstName() - { - return $this->first_name; - } - - /** - * Account holder's last name. - * - * @param string $last_name - * - * @return $this - */ - public function setLastName($last_name) - { - $this->last_name = $last_name; - return $this; - } - - /** - * Account holder's last name. - * - * @return string - */ - public function getLastName() - { - return $this->last_name; - } - - /** - * Birth date of the bank account holder. - * - * @param string $birth_date - * - * @return $this - */ - public function setBirthDate($birth_date) - { - $this->birth_date = $birth_date; - return $this; - } - - /** - * Birth date of the bank account holder. - * - * @return string - */ - public function getBirthDate() - { - return $this->birth_date; - } - - /** - * Billing address. - * - * @param \PayPal\Api\Address $billing_address - * - * @return $this - */ - public function setBillingAddress($billing_address) - { - $this->billing_address = $billing_address; - return $this; - } - - /** - * Billing address. - * - * @return \PayPal\Api\Address - */ - public function getBillingAddress() - { - return $this->billing_address; - } - - /** - * State of this funding instrument. - * Valid Values: ["ACTIVE", "INACTIVE", "DELETED"] - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * State of this funding instrument. - * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * Confirmation status of a bank account. - * Valid Values: ["UNCONFIRMED", "CONFIRMED"] - * - * @param string $confirmation_status - * - * @return $this - */ - public function setConfirmationStatus($confirmation_status) - { - $this->confirmation_status = $confirmation_status; - return $this; - } - - /** - * Confirmation status of a bank account. - * - * @return string - */ - public function getConfirmationStatus() - { - return $this->confirmation_status; - } - - /** - * [DEPRECATED] Use external_customer_id instead. - * - * @param string $payer_id - * - * @return $this - */ - public function setPayerId($payer_id) - { - $this->payer_id = $payer_id; - return $this; - } - - /** - * @deprecated [DEPRECATED] Use external_customer_id instead. - * - * @return string - */ - public function getPayerId() - { - return $this->payer_id; - } - - /** - * A unique identifier of the customer to whom this bank account belongs to. Generated and provided by the facilitator. This is required when creating or using a stored funding instrument in vault. - * - * @param string $external_customer_id - * - * @return $this - */ - public function setExternalCustomerId($external_customer_id) - { - $this->external_customer_id = $external_customer_id; - return $this; - } - - /** - * A unique identifier of the customer to whom this bank account belongs to. Generated and provided by the facilitator. This is required when creating or using a stored funding instrument in vault. - * - * @return string - */ - public function getExternalCustomerId() - { - return $this->external_customer_id; - } - - /** - * A unique identifier of the merchant for which this bank account has been stored for. Generated and provided by the facilitator so it can be used to restrict the usage of the bank account to the specific merchant. - * - * @param string $merchant_id - * - * @return $this - */ - public function setMerchantId($merchant_id) - { - $this->merchant_id = $merchant_id; - return $this; - } - - /** - * A unique identifier of the merchant for which this bank account has been stored for. Generated and provided by the facilitator so it can be used to restrict the usage of the bank account to the specific merchant. - * - * @return string - */ - public function getMerchantId() - { - return $this->merchant_id; - } - - /** - * Time the resource was created. - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * Time the resource was created. - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * Time the resource was last updated. - * - * @param string $update_time - * - * @return $this - */ - public function setUpdateTime($update_time) - { - $this->update_time = $update_time; - return $this; - } - - /** - * Time the resource was last updated. - * - * @return string - */ - public function getUpdateTime() - { - return $this->update_time; - } - - /** - * Date/Time until this resource can be used to fund a payment. - * - * @param string $valid_until - * - * @return $this - */ - public function setValidUntil($valid_until) - { - $this->valid_until = $valid_until; - return $this; - } - - /** - * Date/Time until this resource can be used to fund a payment. - * - * @return string - */ - public function getValidUntil() - { - return $this->valid_until; - } - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - -} diff --git a/paypal/PayPal/Api/BankAccountsList.php b/paypal/PayPal/Api/BankAccountsList.php deleted file mode 100644 index 9120941..0000000 --- a/paypal/PayPal/Api/BankAccountsList.php +++ /dev/null @@ -1,119 +0,0 @@ -{"bank-accounts"} = $bank_accounts; - return $this; - } - - /** - * A list of bank account resources - * - * @return \PayPal\Api\BankAccount[] - */ - public function getBankAccounts() - { - return $this->{"bank-accounts"}; - } - - /** - * Append BankAccounts to the list. - * - * @param \PayPal\Api\BankAccount $bankAccount - * @return $this - */ - public function addBankAccount($bankAccount) - { - if (!$this->getBankAccounts()) { - return $this->setBankAccounts(array($bankAccount)); - } else { - return $this->setBankAccounts( - array_merge($this->getBankAccounts(), array($bankAccount)) - ); - } - } - - /** - * Remove BankAccounts from the list. - * - * @param \PayPal\Api\BankAccount $bankAccount - * @return $this - */ - public function removeBankAccount($bankAccount) - { - return $this->setBankAccounts( - array_diff($this->getBankAccounts(), array($bankAccount)) - ); - } - - /** - * Number of items returned in each range of results. Note that the last results range could have fewer items than the requested number of items. - * - * @param int $count - * - * @return $this - */ - public function setCount($count) - { - $this->count = $count; - return $this; - } - - /** - * Number of items returned in each range of results. Note that the last results range could have fewer items than the requested number of items. - * - * @return int - */ - public function getCount() - { - return $this->count; - } - - /** - * Identifier of the next element to get the next range of results. - * - * @param string $next_id - * - * @return $this - */ - public function setNextId($next_id) - { - $this->next_id = $next_id; - return $this; - } - - /** - * Identifier of the next element to get the next range of results. - * - * @return string - */ - public function getNextId() - { - return $this->next_id; - } - -} diff --git a/paypal/PayPal/Api/BankToken.php b/paypal/PayPal/Api/BankToken.php deleted file mode 100644 index 6cbee49..0000000 --- a/paypal/PayPal/Api/BankToken.php +++ /dev/null @@ -1,89 +0,0 @@ -bank_id = $bank_id; - return $this; - } - - /** - * ID of a previously saved Bank resource using /vault/bank API. - * - * @return string - */ - public function getBankId() - { - return $this->bank_id; - } - - /** - * The unique identifier of the payer used when saving this bank using /vault/bank API. - * - * @param string $external_customer_id - * - * @return $this - */ - public function setExternalCustomerId($external_customer_id) - { - $this->external_customer_id = $external_customer_id; - return $this; - } - - /** - * The unique identifier of the payer used when saving this bank using /vault/bank API. - * - * @return string - */ - public function getExternalCustomerId() - { - return $this->external_customer_id; - } - - /** - * Identifier of the direct debit mandate to validate. Currently supported only for EU bank accounts(SEPA). - * - * @param string $mandate_reference_number - * - * @return $this - */ - public function setMandateReferenceNumber($mandate_reference_number) - { - $this->mandate_reference_number = $mandate_reference_number; - return $this; - } - - /** - * Identifier of the direct debit mandate to validate. Currently supported only for EU bank accounts(SEPA). - * - * @return string - */ - public function getMandateReferenceNumber() - { - return $this->mandate_reference_number; - } - -} diff --git a/paypal/PayPal/Api/BaseAddress.php b/paypal/PayPal/Api/BaseAddress.php deleted file mode 100644 index 41900f6..0000000 --- a/paypal/PayPal/Api/BaseAddress.php +++ /dev/null @@ -1,211 +0,0 @@ -line1 = $line1; - return $this; - } - - /** - * Line 1 of the Address (eg. number, street, etc). - * - * @return string - */ - public function getLine1() - { - return $this->line1; - } - - /** - * Optional line 2 of the Address (eg. suite, apt #, etc.). - * - * @param string $line2 - * - * @return $this - */ - public function setLine2($line2) - { - $this->line2 = $line2; - return $this; - } - - /** - * Optional line 2 of the Address (eg. suite, apt #, etc.). - * - * @return string - */ - public function getLine2() - { - return $this->line2; - } - - /** - * City name. - * - * @param string $city - * - * @return $this - */ - public function setCity($city) - { - $this->city = $city; - return $this; - } - - /** - * City name. - * - * @return string - */ - public function getCity() - { - return $this->city; - } - - /** - * 2 letter country code. - * - * @param string $country_code - * - * @return $this - */ - public function setCountryCode($country_code) - { - $this->country_code = $country_code; - return $this; - } - - /** - * 2 letter country code. - * - * @return string - */ - public function getCountryCode() - { - return $this->country_code; - } - - /** - * Zip code or equivalent is usually required for countries that have them. For list of countries that do not have postal codes please refer to http://en.wikipedia.org/wiki/Postal_code. - * - * @param string $postal_code - * - * @return $this - */ - public function setPostalCode($postal_code) - { - $this->postal_code = $postal_code; - return $this; - } - - /** - * Zip code or equivalent is usually required for countries that have them. For list of countries that do not have postal codes please refer to http://en.wikipedia.org/wiki/Postal_code. - * - * @return string - */ - public function getPostalCode() - { - return $this->postal_code; - } - - /** - * 2 letter code for US states, and the equivalent for other countries. - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * 2 letter code for US states, and the equivalent for other countries. - * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * Address normalization status - * Valid Values: ["UNKNOWN", "UNNORMALIZED_USER_PREFERRED", "NORMALIZED", "UNNORMALIZED"] - * - * @param string $normalization_status - * - * @return $this - */ - public function setNormalizationStatus($normalization_status) - { - $this->normalization_status = $normalization_status; - return $this; - } - - /** - * Address normalization status - * - * @return string - */ - public function getNormalizationStatus() - { - return $this->normalization_status; - } - - /** - * Address status - * Valid Values: ["CONFIRMED", "UNCONFIRMED"] - * - * @param string $status - * - * @return $this - */ - public function setStatus($status) - { - $this->status = $status; - return $this; - } - - /** - * Address status - * - * @return string - */ - public function getStatus() - { - return $this->status; - } - -} diff --git a/paypal/PayPal/Api/Billing.php b/paypal/PayPal/Api/Billing.php deleted file mode 100644 index 727f907..0000000 --- a/paypal/PayPal/Api/Billing.php +++ /dev/null @@ -1,43 +0,0 @@ -billing_agreement_id = $billing_agreement_id; - return $this; - } - - /** - * Identifier of the instrument in PayPal Wallet - * - * @return string - */ - public function getBillingAgreementId() - { - return $this->billing_agreement_id; - } - -} diff --git a/paypal/PayPal/Api/BillingAgreementToken.php b/paypal/PayPal/Api/BillingAgreementToken.php deleted file mode 100644 index ca5ef6b..0000000 --- a/paypal/PayPal/Api/BillingAgreementToken.php +++ /dev/null @@ -1,17 +0,0 @@ -email = $email; - return $this; - } - - /** - * The invoice recipient email address. Maximum length is 260 characters. - * - * @return string - */ - public function getEmail() - { - return $this->email; - } - - /** - * The invoice recipient first name. Maximum length is 30 characters. - * - * @param string $first_name - * - * @return $this - */ - public function setFirstName($first_name) - { - $this->first_name = $first_name; - return $this; - } - - /** - * The invoice recipient first name. Maximum length is 30 characters. - * - * @return string - */ - public function getFirstName() - { - return $this->first_name; - } - - /** - * The invoice recipient last name. Maximum length is 30 characters. - * - * @param string $last_name - * - * @return $this - */ - public function setLastName($last_name) - { - $this->last_name = $last_name; - return $this; - } - - /** - * The invoice recipient last name. Maximum length is 30 characters. - * - * @return string - */ - public function getLastName() - { - return $this->last_name; - } - - /** - * The invoice recipient company business name. Maximum length is 100 characters. - * - * @param string $business_name - * - * @return $this - */ - public function setBusinessName($business_name) - { - $this->business_name = $business_name; - return $this; - } - - /** - * The invoice recipient company business name. Maximum length is 100 characters. - * - * @return string - */ - public function getBusinessName() - { - return $this->business_name; - } - - /** - * The invoice recipient address. - * - * @param \PayPal\Api\InvoiceAddress $address - * - * @return $this - */ - public function setAddress($address) - { - $this->address = $address; - return $this; - } - - /** - * The invoice recipient address. - * - * @return \PayPal\Api\InvoiceAddress - */ - public function getAddress() - { - return $this->address; - } - - /** - * The language in which the email was sent to the payer. Used only when the payer does not have a PayPal account. - * Valid Values: ["da_DK", "de_DE", "en_AU", "en_GB", "en_US", "es_ES", "es_XC", "fr_CA", "fr_FR", "fr_XC", "he_IL", "id_ID", "it_IT", "ja_JP", "nl_NL", "no_NO", "pl_PL", "pt_BR", "pt_PT", "ru_RU", "sv_SE", "th_TH", "tr_TR", "zh_CN", "zh_HK", "zh_TW", "zh_XC"] - * - * @param string $language - * - * @return $this - */ - public function setLanguage($language) - { - $this->language = $language; - return $this; - } - - /** - * The language in which the email was sent to the payer. Used only when the payer does not have a PayPal account. - * - * @return string - */ - public function getLanguage() - { - return $this->language; - } - - /** - * Additional information, such as business hours. Maximum length is 40 characters. - * - * @param string $additional_info - * - * @return $this - */ - public function setAdditionalInfo($additional_info) - { - $this->additional_info = $additional_info; - return $this; - } - - /** - * Additional information, such as business hours. Maximum length is 40 characters. - * - * @return string - */ - public function getAdditionalInfo() - { - return $this->additional_info; - } - - /** - * Preferred notification channel of the payer. Email by default. - * Valid Values: ["SMS", "EMAIL"] - * - * @param string $notification_channel - * - * @return $this - */ - public function setNotificationChannel($notification_channel) - { - $this->notification_channel = $notification_channel; - return $this; - } - - /** - * Preferred notification channel of the payer. Email by default. - * - * @return string - */ - public function getNotificationChannel() - { - return $this->notification_channel; - } - - /** - * Mobile Phone number of the recipient to which SMS will be sent if notification_channel is SMS. - * - * @param \PayPal\Api\Phone $phone - * - * @return $this - */ - public function setPhone($phone) - { - $this->phone = $phone; - return $this; - } - - /** - * Mobile Phone number of the recipient to which SMS will be sent if notification_channel is SMS. - * - * @return \PayPal\Api\Phone - */ - public function getPhone() - { - return $this->phone; - } - -} diff --git a/paypal/PayPal/Api/CancelNotification.php b/paypal/PayPal/Api/CancelNotification.php deleted file mode 100644 index ccbea45..0000000 --- a/paypal/PayPal/Api/CancelNotification.php +++ /dev/null @@ -1,167 +0,0 @@ -subject = $subject; - return $this; - } - - /** - * Subject of the notification. - * - * @return string - */ - public function getSubject() - { - return $this->subject; - } - - /** - * Note to the payer. - * - * @param string $note - * - * @return $this - */ - public function setNote($note) - { - $this->note = $note; - return $this; - } - - /** - * Note to the payer. - * - * @return string - */ - public function getNote() - { - return $this->note; - } - - /** - * Indicates whether to send a copy of the notification to the merchant. - * - * @param bool $send_to_merchant - * - * @return $this - */ - public function setSendToMerchant($send_to_merchant) - { - $this->send_to_merchant = $send_to_merchant; - return $this; - } - - /** - * Indicates whether to send a copy of the notification to the merchant. - * - * @return bool - */ - public function getSendToMerchant() - { - return $this->send_to_merchant; - } - - /** - * Indicates whether to send a copy of the notification to the payer. - * - * @param bool $send_to_payer - * - * @return $this - */ - public function setSendToPayer($send_to_payer) - { - $this->send_to_payer = $send_to_payer; - return $this; - } - - /** - * Indicates whether to send a copy of the notification to the payer. - * - * @return bool - */ - public function getSendToPayer() - { - return $this->send_to_payer; - } - - /** - * Applicable for invoices created with Cc emails. If this field is not in the body, all the cc email addresses added as part of the invoice shall be notified else this field can be used to limit the list of email addresses. Note: additional email addresses are not supported. - * - * @param string[] $cc_emails - * - * @return $this - */ - public function setCcEmails($cc_emails) - { - $this->cc_emails = $cc_emails; - return $this; - } - - /** - * Applicable for invoices created with Cc emails. If this field is not in the body, all the cc email addresses added as part of the invoice shall be notified else this field can be used to limit the list of email addresses. Note: additional email addresses are not supported. - * - * @return string[] - */ - public function getCcEmails() - { - return $this->cc_emails; - } - - /** - * Append CcEmails to the list. - * - * @param string $string - * @return $this - */ - public function addCcEmail($string) - { - if (!$this->getCcEmails()) { - return $this->setCcEmails(array($string)); - } else { - return $this->setCcEmails( - array_merge($this->getCcEmails(), array($string)) - ); - } - } - - /** - * Remove CcEmails from the list. - * - * @param string $string - * @return $this - */ - public function removeCcEmail($string) - { - return $this->setCcEmails( - array_diff($this->getCcEmails(), array($string)) - ); - } - -} diff --git a/paypal/PayPal/Api/Capture.php b/paypal/PayPal/Api/Capture.php deleted file mode 100644 index 8358bfd..0000000 --- a/paypal/PayPal/Api/Capture.php +++ /dev/null @@ -1,341 +0,0 @@ -id = $id; - return $this; - } - - /** - * The ID of the capture transaction. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * The amount to capture. If the amount matches the orginally authorized amount, the state of the authorization changes to `captured`. If not, the state of the authorization changes to `partially_captured`. - * - * @param \PayPal\Api\Amount $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * The amount to capture. If the amount matches the orginally authorized amount, the state of the authorization changes to `captured`. If not, the state of the authorization changes to `partially_captured`. - * - * @return \PayPal\Api\Amount - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Indicates whether to release all remaining funds that the authorization holds in the funding instrument. Default is `false`. - * - * @param bool $is_final_capture - * - * @return $this - */ - public function setIsFinalCapture($is_final_capture) - { - $this->is_final_capture = $is_final_capture; - return $this; - } - - /** - * Indicates whether to release all remaining funds that the authorization holds in the funding instrument. Default is `false`. - * - * @return bool - */ - public function getIsFinalCapture() - { - return $this->is_final_capture; - } - - /** - * The state of the capture. - * Valid Values: ["pending", "completed", "refunded", "partially_refunded"] - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * The state of the capture. - * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * The reason code that describes why the transaction state is pending or reversed. - * Valid Values: ["CHARGEBACK", "GUARANTEE", "BUYER_COMPLAINT", "REFUND", "UNCONFIRMED_SHIPPING_ADDRESS", "ECHECK", "INTERNATIONAL_WITHDRAWAL", "RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION", "PAYMENT_REVIEW", "REGULATORY_REVIEW", "UNILATERAL", "VERIFICATION_REQUIRED", "TRANSACTION_APPROVED_AWAITING_FUNDING"] - * - * @param string $reason_code - * - * @return $this - */ - public function setReasonCode($reason_code) - { - $this->reason_code = $reason_code; - return $this; - } - - /** - * The reason code that describes why the transaction state is pending or reversed. - * - * @return string - */ - public function getReasonCode() - { - return $this->reason_code; - } - - /** - * The ID of the payment on which this transaction is based. - * - * @param string $parent_payment - * - * @return $this - */ - public function setParentPayment($parent_payment) - { - $this->parent_payment = $parent_payment; - return $this; - } - - /** - * The ID of the payment on which this transaction is based. - * - * @return string - */ - public function getParentPayment() - { - return $this->parent_payment; - } - - /** - * The invoice number to track this payment. - * - * @param string $invoice_number - * - * @return $this - */ - public function setInvoiceNumber($invoice_number) - { - $this->invoice_number = $invoice_number; - return $this; - } - - /** - * The invoice number to track this payment. - * - * @return string - */ - public function getInvoiceNumber() - { - return $this->invoice_number; - } - - /** - * The transaction fee for this payment. - * - * @param \PayPal\Api\Currency $transaction_fee - * - * @return $this - */ - public function setTransactionFee($transaction_fee) - { - $this->transaction_fee = $transaction_fee; - return $this; - } - - /** - * The transaction fee for this payment. - * - * @return \PayPal\Api\Currency - */ - public function getTransactionFee() - { - return $this->transaction_fee; - } - - /** - * The date and time of capture, as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * The date and time of capture, as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * The date and time when the resource was last updated. - * - * @param string $update_time - * - * @return $this - */ - public function setUpdateTime($update_time) - { - $this->update_time = $update_time; - return $this; - } - - /** - * The date and time when the resource was last updated. - * - * @return string - */ - public function getUpdateTime() - { - return $this->update_time; - } - - /** - * Shows details for a captured payment, by ID. - * - * @param string $captureId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Capture - */ - public static function get($captureId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($captureId, 'captureId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/capture/$captureId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Capture(); - $ret->fromJson($json); - return $ret; - } - - /** - * Refund a captured payment by passing the capture_id in the request URI. In addition, include an amount object in the body of the request JSON. - * - * @deprecated Please use #refundCapturedPayment instead. - * @param Refund $refund - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Refund - */ - public function refund($refund, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($refund, 'refund'); - $payLoad = $refund->toJSON(); - $json = self::executeCall( - "/v1/payments/capture/{$this->getId()}/refund", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Refund(); - $ret->fromJson($json); - return $ret; - } - - /** - * Refunds a captured payment, by ID. Include an `amount` object in the JSON request body. - * - * @param RefundRequest $refundRequest - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return DetailedRefund - */ - public function refundCapturedPayment($refundRequest, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($refundRequest, 'refundRequest'); - $payLoad = $refundRequest->toJSON(); - $json = self::executeCall( - "/v1/payments/capture/{$this->getId()}/refund", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new DetailedRefund(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/CarrierAccount.php b/paypal/PayPal/Api/CarrierAccount.php deleted file mode 100644 index 7f245b0..0000000 --- a/paypal/PayPal/Api/CarrierAccount.php +++ /dev/null @@ -1,138 +0,0 @@ -id = $id; - return $this; - } - - /** - * The ID of the carrier account of the payer. Use in subsequent REST API calls. For example, to make payments. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * The phone number of the payer, in E.164 format. - * - * @param string $phone_number - * - * @return $this - */ - public function setPhoneNumber($phone_number) - { - $this->phone_number = $phone_number; - return $this; - } - - /** - * The phone number of the payer, in E.164 format. - * - * @return string - */ - public function getPhoneNumber() - { - return $this->phone_number; - } - - /** - * The ID of the customer, as created by the merchant. - * - * @param string $external_customer_id - * - * @return $this - */ - public function setExternalCustomerId($external_customer_id) - { - $this->external_customer_id = $external_customer_id; - return $this; - } - - /** - * The ID of the customer, as created by the merchant. - * - * @return string - */ - public function getExternalCustomerId() - { - return $this->external_customer_id; - } - - /** - * The method used to obtain the phone number. Value is `READ_FROM_DEVICE` or `USER_PROVIDED`. - * Valid Values: ["READ_FROM_DEVICE", "USER_PROVIDED"] - * - * @param string $phone_source - * - * @return $this - */ - public function setPhoneSource($phone_source) - { - $this->phone_source = $phone_source; - return $this; - } - - /** - * The method used to obtain the phone number. Value is `READ_FROM_DEVICE` or `USER_PROVIDED`. - * - * @return string - */ - public function getPhoneSource() - { - return $this->phone_source; - } - - /** - * The ISO 3166-1 alpha-2 country code where the phone number is registered. - * - * @param \PayPal\Api\CountryCode $country_code - * - * @return $this - */ - public function setCountryCode($country_code) - { - $this->country_code = $country_code; - return $this; - } - - /** - * The ISO 3166-1 alpha-2 country code where the phone number is registered. - * - * @return \PayPal\Api\CountryCode - */ - public function getCountryCode() - { - return $this->country_code; - } - -} diff --git a/paypal/PayPal/Api/CarrierAccountToken.php b/paypal/PayPal/Api/CarrierAccountToken.php deleted file mode 100644 index 9fc987b..0000000 --- a/paypal/PayPal/Api/CarrierAccountToken.php +++ /dev/null @@ -1,65 +0,0 @@ -carrier_account_id = $carrier_account_id; - return $this; - } - - /** - * ID of a previously saved carrier account resource. - * - * @return string - */ - public function getCarrierAccountId() - { - return $this->carrier_account_id; - } - - /** - * The unique identifier of the payer used when saving this carrier account instrument. - * - * @param string $external_customer_id - * - * @return $this - */ - public function setExternalCustomerId($external_customer_id) - { - $this->external_customer_id = $external_customer_id; - return $this; - } - - /** - * The unique identifier of the payer used when saving this carrier account instrument. - * - * @return string - */ - public function getExternalCustomerId() - { - return $this->external_customer_id; - } - -} diff --git a/paypal/PayPal/Api/CartBase.php b/paypal/PayPal/Api/CartBase.php deleted file mode 100644 index 1f7ef1e..0000000 --- a/paypal/PayPal/Api/CartBase.php +++ /dev/null @@ -1,408 +0,0 @@ -reference_id = $reference_id; - return $this; - } - - /** - * Merchant identifier to the purchase unit. Optional parameter - * - * @return string - */ - public function getReferenceId() - { - return $this->reference_id; - } - - /** - * Amount being collected. - * - * @param \PayPal\Api\Amount $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Amount being collected. - * - * @return \PayPal\Api\Amount - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Recipient of the funds in this transaction. - * - * @param \PayPal\Api\Payee $payee - * - * @return $this - */ - public function setPayee($payee) - { - $this->payee = $payee; - return $this; - } - - /** - * Recipient of the funds in this transaction. - * - * @return \PayPal\Api\Payee - */ - public function getPayee() - { - return $this->payee; - } - - /** - * Description of what is being paid for. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } - - /** - * Description of what is being paid for. - * - * @return string - */ - public function getDescription() - { - return $this->description; - } - - /** - * Note to the recipient of the funds in this transaction. - * - * @param string $note_to_payee - * - * @return $this - */ - public function setNoteToPayee($note_to_payee) - { - $this->note_to_payee = $note_to_payee; - return $this; - } - - /** - * Note to the recipient of the funds in this transaction. - * - * @return string - */ - public function getNoteToPayee() - { - return $this->note_to_payee; - } - - /** - * free-form field for the use of clients - * - * @param string $custom - * - * @return $this - */ - public function setCustom($custom) - { - $this->custom = $custom; - return $this; - } - - /** - * free-form field for the use of clients - * - * @return string - */ - public function getCustom() - { - return $this->custom; - } - - /** - * invoice number to track this payment - * - * @param string $invoice_number - * - * @return $this - */ - public function setInvoiceNumber($invoice_number) - { - $this->invoice_number = $invoice_number; - return $this; - } - - /** - * invoice number to track this payment - * - * @return string - */ - public function getInvoiceNumber() - { - return $this->invoice_number; - } - - /** - * purchase order is number or id specific to this payment - * - * @param string $purchase_order - * - * @return $this - */ - public function setPurchaseOrder($purchase_order) - { - $this->purchase_order = $purchase_order; - return $this; - } - - /** - * purchase order is number or id specific to this payment - * - * @return string - */ - public function getPurchaseOrder() - { - return $this->purchase_order; - } - - /** - * Soft descriptor used when charging this funding source. If length exceeds max length, the value will be truncated - * - * @param string $soft_descriptor - * - * @return $this - */ - public function setSoftDescriptor($soft_descriptor) - { - $this->soft_descriptor = $soft_descriptor; - return $this; - } - - /** - * Soft descriptor used when charging this funding source. If length exceeds max length, the value will be truncated - * - * @return string - */ - public function getSoftDescriptor() - { - return $this->soft_descriptor; - } - - /** - * Soft descriptor city used when charging this funding source. If length exceeds max length, the value will be truncated. Only supported when the `payment_method` is set to `credit_card` - * @deprecated Not publicly available - * @param string $soft_descriptor_city - * - * @return $this - */ - public function setSoftDescriptorCity($soft_descriptor_city) - { - $this->soft_descriptor_city = $soft_descriptor_city; - return $this; - } - - /** - * Soft descriptor city used when charging this funding source. If length exceeds max length, the value will be truncated. Only supported when the `payment_method` is set to `credit_card` - * @deprecated Not publicly available - * @return string - */ - public function getSoftDescriptorCity() - { - return $this->soft_descriptor_city; - } - - /** - * Payment options requested for this purchase unit - * - * @param \PayPal\Api\PaymentOptions $payment_options - * - * @return $this - */ - public function setPaymentOptions($payment_options) - { - $this->payment_options = $payment_options; - return $this; - } - - /** - * Payment options requested for this purchase unit - * - * @return \PayPal\Api\PaymentOptions - */ - public function getPaymentOptions() - { - return $this->payment_options; - } - - /** - * List of items being paid for. - * - * @param \PayPal\Api\ItemList $item_list - * - * @return $this - */ - public function setItemList($item_list) - { - $this->item_list = $item_list; - return $this; - } - - /** - * List of items being paid for. - * - * @return \PayPal\Api\ItemList - */ - public function getItemList() - { - return $this->item_list; - } - - /** - * URL to send payment notifications - * - * @param string $notify_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setNotifyUrl($notify_url) - { - UrlValidator::validate($notify_url, "NotifyUrl"); - $this->notify_url = $notify_url; - return $this; - } - - /** - * URL to send payment notifications - * - * @return string - */ - public function getNotifyUrl() - { - return $this->notify_url; - } - - /** - * Url on merchant site pertaining to this payment. - * - * @param string $order_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setOrderUrl($order_url) - { - UrlValidator::validate($order_url, "OrderUrl"); - $this->order_url = $order_url; - return $this; - } - - /** - * Url on merchant site pertaining to this payment. - * - * @return string - */ - public function getOrderUrl() - { - return $this->order_url; - } - - /** - * List of external funding being applied to the purchase unit. Each external_funding unit should have a unique reference_id - * @deprecated Not publicly available - * @param \PayPal\Api\ExternalFunding[] $external_funding - * - * @return $this - */ - public function setExternalFunding($external_funding) - { - $this->external_funding = $external_funding; - return $this; - } - - /** - * List of external funding being applied to the purchase unit. Each external_funding unit should have a unique reference_id - * @deprecated Not publicly available - * @return \PayPal\Api\ExternalFunding[] - */ - public function getExternalFunding() - { - return $this->external_funding; - } - - /** - * Append ExternalFunding to the list. - * @deprecated Not publicly available - * @param \PayPal\Api\ExternalFunding $externalFunding - * @return $this - */ - public function addExternalFunding($externalFunding) - { - if (!$this->getExternalFunding()) { - return $this->setExternalFunding(array($externalFunding)); - } else { - return $this->setExternalFunding( - array_merge($this->getExternalFunding(), array($externalFunding)) - ); - } - } - - /** - * Remove ExternalFunding from the list. - * @deprecated Not publicly available - * @param \PayPal\Api\ExternalFunding $externalFunding - * @return $this - */ - public function removeExternalFunding($externalFunding) - { - return $this->setExternalFunding( - array_diff($this->getExternalFunding(), array($externalFunding)) - ); - } - -} diff --git a/paypal/PayPal/Api/ChargeModel.php b/paypal/PayPal/Api/ChargeModel.php deleted file mode 100644 index de486fe..0000000 --- a/paypal/PayPal/Api/ChargeModel.php +++ /dev/null @@ -1,89 +0,0 @@ -id = $id; - return $this; - } - - /** - * Identifier of the charge model. 128 characters max. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Type of charge model. Allowed values: `SHIPPING`, `TAX`. - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * Type of charge model. Allowed values: `SHIPPING`, `TAX`. - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * Specific amount for this charge model. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Specific amount for this charge model. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - -} diff --git a/paypal/PayPal/Api/Cost.php b/paypal/PayPal/Api/Cost.php deleted file mode 100644 index 5a96fba..0000000 --- a/paypal/PayPal/Api/Cost.php +++ /dev/null @@ -1,69 +0,0 @@ -percent = $percent; - return $this; - } - - /** - * Cost in percent. Range of 0 to 100. - * - * @return string - */ - public function getPercent() - { - return $this->percent; - } - - /** - * The cost, as an amount. Valid range is from 0 to 1,000,000. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * The cost, as an amount. Valid range is from 0 to 1,000,000. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - -} diff --git a/paypal/PayPal/Api/CountryCode.php b/paypal/PayPal/Api/CountryCode.php deleted file mode 100644 index 48ef51d..0000000 --- a/paypal/PayPal/Api/CountryCode.php +++ /dev/null @@ -1,41 +0,0 @@ -country_code = $country_code; - return $this; - } - - /** - * ISO country code based on 2-character IS0-3166-1 codes. - * - * @return string - */ - public function getCountryCode() - { - return $this->country_code; - } - -} diff --git a/paypal/PayPal/Api/CreateProfileResponse.php b/paypal/PayPal/Api/CreateProfileResponse.php deleted file mode 100644 index 1b36faf..0000000 --- a/paypal/PayPal/Api/CreateProfileResponse.php +++ /dev/null @@ -1,40 +0,0 @@ -id = $id; - return $this; - } - - /** - * ID of the payment web experience profile. - * - * @return string - */ - public function getId() - { - return $this->id; - } - -} diff --git a/paypal/PayPal/Api/Credit.php b/paypal/PayPal/Api/Credit.php deleted file mode 100644 index 14fca8d..0000000 --- a/paypal/PayPal/Api/Credit.php +++ /dev/null @@ -1,66 +0,0 @@ -id = $id; - return $this; - } - - /** - * Unique identifier of credit resource. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * specifies type of credit - * Valid Values: ["BILL_ME_LATER", "PAYPAL_EXTRAS_MASTERCARD", "EBAY_MASTERCARD", "PAYPAL_SMART_CONNECT"] - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * specifies type of credit - * - * @return string - */ - public function getType() - { - return $this->type; - } - -} diff --git a/paypal/PayPal/Api/CreditCard.php b/paypal/PayPal/Api/CreditCard.php deleted file mode 100644 index ad00bb0..0000000 --- a/paypal/PayPal/Api/CreditCard.php +++ /dev/null @@ -1,560 +0,0 @@ -id = $id; - return $this; - } - - /** - * ID of the credit card. This ID is provided in the response when storing credit cards. **Required if using a stored credit card.** - * - * @deprecated Not publicly available - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Credit card number. Numeric characters only with no spaces or punctuation. The string must conform with modulo and length required by each credit card type. *Redacted in responses.* - * - * @param string $number - * - * @return $this - */ - public function setNumber($number) - { - $this->number = $number; - return $this; - } - - /** - * Credit card number. Numeric characters only with no spaces or punctuation. The string must conform with modulo and length required by each credit card type. *Redacted in responses.* - * - * @return string - */ - public function getNumber() - { - return $this->number; - } - - /** - * Credit card type. Valid types are: `visa`, `mastercard`, `discover`, `amex` - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * Credit card type. Valid types are: `visa`, `mastercard`, `discover`, `amex` - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * Expiration month with no leading zero. Acceptable values are 1 through 12. - * - * @param int $expire_month - * - * @return $this - */ - public function setExpireMonth($expire_month) - { - $this->expire_month = $expire_month; - return $this; - } - - /** - * Expiration month with no leading zero. Acceptable values are 1 through 12. - * - * @return int - */ - public function getExpireMonth() - { - return $this->expire_month; - } - - /** - * 4-digit expiration year. - * - * @param int $expire_year - * - * @return $this - */ - public function setExpireYear($expire_year) - { - $this->expire_year = $expire_year; - return $this; - } - - /** - * 4-digit expiration year. - * - * @return int - */ - public function getExpireYear() - { - return $this->expire_year; - } - - /** - * 3-4 digit card validation code. - * - * @param string $cvv2 - * - * @return $this - */ - public function setCvv2($cvv2) - { - $this->cvv2 = $cvv2; - return $this; - } - - /** - * 3-4 digit card validation code. - * - * @return string - */ - public function getCvv2() - { - return $this->cvv2; - } - - /** - * Cardholder's first name. - * - * @param string $first_name - * - * @return $this - */ - public function setFirstName($first_name) - { - $this->first_name = $first_name; - return $this; - } - - /** - * Cardholder's first name. - * - * @return string - */ - public function getFirstName() - { - return $this->first_name; - } - - /** - * Cardholder's last name. - * - * @param string $last_name - * - * @return $this - */ - public function setLastName($last_name) - { - $this->last_name = $last_name; - return $this; - } - - /** - * Cardholder's last name. - * - * @return string - */ - public function getLastName() - { - return $this->last_name; - } - - /** - * Billing Address associated with this card. - * - * @param \PayPal\Api\Address $billing_address - * - * @return $this - */ - public function setBillingAddress($billing_address) - { - $this->billing_address = $billing_address; - return $this; - } - - /** - * Billing Address associated with this card. - * - * @return \PayPal\Api\Address - */ - public function getBillingAddress() - { - return $this->billing_address; - } - - /** - * A unique identifier of the customer to whom this bank account belongs. Generated and provided by the facilitator. **This is now used in favor of `payer_id` when creating or using a stored funding instrument in the vault.** - * - * @param string $external_customer_id - * - * @return $this - */ - public function setExternalCustomerId($external_customer_id) - { - $this->external_customer_id = $external_customer_id; - return $this; - } - - /** - * A unique identifier of the customer to whom this bank account belongs. Generated and provided by the facilitator. **This is now used in favor of `payer_id` when creating or using a stored funding instrument in the vault.** - * - * @return string - */ - public function getExternalCustomerId() - { - return $this->external_customer_id; - } - - /** - * A user provided, optional convenvience field that functions as a unique identifier for the merchant on behalf of whom this credit card is being stored for. Note that this has no relation to PayPal merchant id - * - * @param string $merchant_id - * - * @return $this - */ - public function setMerchantId($merchant_id) - { - $this->merchant_id = $merchant_id; - return $this; - } - - /** - * A user provided, optional convenvience field that functions as a unique identifier for the merchant on behalf of whom this credit card is being stored for. Note that this has no relation to PayPal merchant id - * - * @return string - */ - public function getMerchantId() - { - return $this->merchant_id; - } - - /** - * A unique identifier that you can assign and track when storing a credit card or using a stored credit card. This ID can help to avoid unintentional use or misuse of credit cards. This ID can be any value you would like to associate with the saved card, such as a UUID, username, or email address. Required when using a stored credit card if a payer_id was originally provided when storing the credit card in vault. - * - * @deprecated This is being deprecated in favor of the `external_customer_id` property. - * @param string $payer_id - * - * @return $this - */ - public function setPayerId($payer_id) - { - $this->payer_id = $payer_id; - return $this; - } - - /** - * A unique identifier that you can assign and track when storing a credit card or using a stored credit card. This ID can help to avoid unintentional use or misuse of credit cards. This ID can be any value you would like to associate with the saved card, such as a UUID, username, or email address. Required when using a stored credit card if a payer_id was originally provided when storing the credit card in vault. - * - * @deprecated This is being deprecated in favor of the `external_customer_id` property. - * @return string - */ - public function getPayerId() - { - return $this->payer_id; - } - - /** - * A unique identifier of the bank account resource. Generated and provided by the facilitator so it can be used to restrict the usage of the bank account to the specific merchant. - * - * @param string $external_card_id - * - * @return $this - */ - public function setExternalCardId($external_card_id) - { - $this->external_card_id = $external_card_id; - return $this; - } - - /** - * A unique identifier of the bank account resource. Generated and provided by the facilitator so it can be used to restrict the usage of the bank account to the specific merchant. - * - * @return string - */ - public function getExternalCardId() - { - return $this->external_card_id; - } - - /** - * State of the credit card funding instrument. - * Valid Values: ["expired", "ok"] - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * State of the credit card funding instrument. - * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * Funding instrument expiration date. - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * Resource creation time as ISO8601 date-time format (ex: 1994-11-05T13:15:30Z) that indicates creation time. - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * Resource creation time as ISO8601 date-time format (ex: 1994-11-05T13:15:30Z) that indicates the updation time. - * - * @param string $update_time - * - * @return $this - */ - public function setUpdateTime($update_time) - { - $this->update_time = $update_time; - return $this; - } - - /** - * Resource creation time as ISO8601 date-time format (ex: 1994-11-05T13:15:30Z) that indicates the updation time. - * - * @return string - */ - public function getUpdateTime() - { - return $this->update_time; - } - - /** - * Date/Time until this resource can be used fund a payment. - * - * @param string $valid_until - * - * @return $this - */ - public function setValidUntil($valid_until) - { - $this->valid_until = $valid_until; - return $this; - } - - /** - * Funding instrument expiration date. - * - * @return string - */ - public function getValidUntil() - { - return $this->valid_until; - } - - /** - * Creates a new Credit Card Resource (aka Tokenize). - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return CreditCard - */ - public function create($apiContext = null, $restCall = null) - { - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/vault/credit-cards", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Obtain the Credit Card resource for the given identifier. - * - * @param string $creditCardId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return CreditCard - */ - public static function get($creditCardId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($creditCardId, 'creditCardId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/vault/credit-cards/$creditCardId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new CreditCard(); - $ret->fromJson($json); - return $ret; - } - - /** - * Delete the Credit Card resource for the given identifier. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function delete($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = ""; - self::executeCall( - "/v1/vault/credit-cards/{$this->getId()}", - "DELETE", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Update information in a previously saved card. Only the modified fields need to be passed in the request. - * - * @param PatchRequest $patchRequest - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return CreditCard - */ - public function update($patchRequest, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($patchRequest, 'patch'); - $payload = $patchRequest->toJSON(); - $json = self::executeCall( - "/v1/vault/credit-cards/{$this->getId()}", - "PATCH", - $payload, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Retrieves a list of Credit Card resources. - * - * @param array $params - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return CreditCardList - */ - public static function all($params, $apiContext = null, $restCall = null) - { - if (is_null($params)) { - $params = array(); - } - ArgumentValidator::validate($params, 'params'); - $payLoad = ""; - $allowedParams = array( - 'page_size' => 1, - 'page' => 1, - 'start_time' => 1, - 'end_time' => 1, - 'sort_order' => 1, - 'sort_by' => 1, - 'merchant_id' => 1, - 'external_card_id' => 1, - 'external_customer_id' => 1, - 'total_required' => 1 - ); - $json = self::executeCall( - "/v1/vault/credit-cards" . "?" . http_build_query(array_intersect_key($params, $allowedParams)), - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new CreditCardList(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/CreditCardHistory.php b/paypal/PayPal/Api/CreditCardHistory.php deleted file mode 100644 index f8d0a94..0000000 --- a/paypal/PayPal/Api/CreditCardHistory.php +++ /dev/null @@ -1,91 +0,0 @@ -{"credit-cards"} = $credit_cards; - return $this; - } - - /** - * A list of credit card resources - * - * @return \PayPal\Api\CreditCard - */ - public function getCreditCards() - { - return $this->{"credit-cards"}; - } - - /** - * Number of items returned in each range of results. Note that the last results range could have fewer items than the requested number of items. - * - * - * @param int $count - * - * @return $this - */ - public function setCount($count) - { - $this->count = $count; - return $this; - } - - /** - * Number of items returned in each range of results. Note that the last results range could have fewer items than the requested number of items. - * - * @return int - */ - public function getCount() - { - return $this->count; - } - - /** - * Identifier of the next element to get the next range of results. - * - * - * @param string $next_id - * - * @return $this - */ - public function setNextId($next_id) - { - $this->next_id = $next_id; - return $this; - } - - /** - * Identifier of the next element to get the next range of results. - * - * @return string - */ - public function getNextId() - { - return $this->next_id; - } - -} diff --git a/paypal/PayPal/Api/CreditCardList.php b/paypal/PayPal/Api/CreditCardList.php deleted file mode 100644 index 97ba6aa..0000000 --- a/paypal/PayPal/Api/CreditCardList.php +++ /dev/null @@ -1,120 +0,0 @@ -items = $items; - return $this; - } - - /** - * A list of credit card resources - * - * @return \PayPal\Api\CreditCard[] - */ - public function getItems() - { - return $this->items; - } - - /** - * Append Items to the list. - * - * @param \PayPal\Api\CreditCard $creditCard - * @return $this - */ - public function addItem($creditCard) - { - if (!$this->getItems()) { - return $this->setItems(array($creditCard)); - } else { - return $this->setItems( - array_merge($this->getItems(), array($creditCard)) - ); - } - } - - /** - * Remove Items from the list. - * - * @param \PayPal\Api\CreditCard $creditCard - * @return $this - */ - public function removeItem($creditCard) - { - return $this->setItems( - array_diff($this->getItems(), array($creditCard)) - ); - } - - /** - * Total number of items present in the given list. Note that the number of items might be larger than the records in the current page. - * - * @param int $total_items - * - * @return $this - */ - public function setTotalItems($total_items) - { - $this->total_items = $total_items; - return $this; - } - - /** - * Total number of items present in the given list. Note that the number of items might be larger than the records in the current page. - * - * @return int - */ - public function getTotalItems() - { - return $this->total_items; - } - - /** - * Total number of pages that exist, for the total number of items, with the given page size. - * - * @param int $total_pages - * - * @return $this - */ - public function setTotalPages($total_pages) - { - $this->total_pages = $total_pages; - return $this; - } - - /** - * Total number of pages that exist, for the total number of items, with the given page size. - * - * @return int - */ - public function getTotalPages() - { - return $this->total_pages; - } - -} diff --git a/paypal/PayPal/Api/CreditCardToken.php b/paypal/PayPal/Api/CreditCardToken.php deleted file mode 100644 index 301e9dd..0000000 --- a/paypal/PayPal/Api/CreditCardToken.php +++ /dev/null @@ -1,161 +0,0 @@ -credit_card_id = $credit_card_id; - return $this; - } - - /** - * ID of credit card previously stored using `/vault/credit-card`. - * - * @return string - */ - public function getCreditCardId() - { - return $this->credit_card_id; - } - - /** - * A unique identifier that you can assign and track when storing a credit card or using a stored credit card. This ID can help to avoid unintentional use or misuse of credit cards. This ID can be any value you would like to associate with the saved card, such as a UUID, username, or email address. **Required when using a stored credit card if a payer_id was originally provided when storing the credit card in vault.** - * - * @param string $payer_id - * - * @return $this - */ - public function setPayerId($payer_id) - { - $this->payer_id = $payer_id; - return $this; - } - - /** - * A unique identifier that you can assign and track when storing a credit card or using a stored credit card. This ID can help to avoid unintentional use or misuse of credit cards. This ID can be any value you would like to associate with the saved card, such as a UUID, username, or email address. **Required when using a stored credit card if a payer_id was originally provided when storing the credit card in vault.** - * - * @return string - */ - public function getPayerId() - { - return $this->payer_id; - } - - /** - * Last four digits of the stored credit card number. - * - * @param string $last4 - * - * @return $this - */ - public function setLast4($last4) - { - $this->last4 = $last4; - return $this; - } - - /** - * Last four digits of the stored credit card number. - * - * @return string - */ - public function getLast4() - { - return $this->last4; - } - - /** - * Credit card type. Valid types are: `visa`, `mastercard`, `discover`, `amex`. Values are presented in lowercase and not should not be used for display. - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * Credit card type. Valid types are: `visa`, `mastercard`, `discover`, `amex`. Values are presented in lowercase and not should not be used for display. - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * Expiration month with no leading zero. Acceptable values are 1 through 12. - * - * @param int $expire_month - * - * @return $this - */ - public function setExpireMonth($expire_month) - { - $this->expire_month = $expire_month; - return $this; - } - - /** - * Expiration month with no leading zero. Acceptable values are 1 through 12. - * - * @return int - */ - public function getExpireMonth() - { - return $this->expire_month; - } - - /** - * 4-digit expiration year. - * - * @param int $expire_year - * - * @return $this - */ - public function setExpireYear($expire_year) - { - $this->expire_year = $expire_year; - return $this; - } - - /** - * 4-digit expiration year. - * - * @return int - */ - public function getExpireYear() - { - return $this->expire_year; - } - -} diff --git a/paypal/PayPal/Api/CreditFinancingOffered.php b/paypal/PayPal/Api/CreditFinancingOffered.php deleted file mode 100644 index bb24617..0000000 --- a/paypal/PayPal/Api/CreditFinancingOffered.php +++ /dev/null @@ -1,161 +0,0 @@ -total_cost = $total_cost; - return $this; - } - - /** - * This is the estimated total payment amount including interest and fees the user will pay during the lifetime of the loan. - * - * @return \PayPal\Api\Currency - */ - public function getTotalCost() - { - return $this->total_cost; - } - - /** - * Length of financing terms in month - * - * @param \PayPal\Api\number $term - * - * @return $this - */ - public function setTerm($term) - { - $this->term = $term; - return $this; - } - - /** - * Length of financing terms in month - * - * @return \PayPal\Api\number - */ - public function getTerm() - { - return $this->term; - } - - /** - * This is the estimated amount per month that the customer will need to pay including fees and interest. - * - * @param \PayPal\Api\Currency $monthly_payment - * - * @return $this - */ - public function setMonthlyPayment($monthly_payment) - { - $this->monthly_payment = $monthly_payment; - return $this; - } - - /** - * This is the estimated amount per month that the customer will need to pay including fees and interest. - * - * @return \PayPal\Api\Currency - */ - public function getMonthlyPayment() - { - return $this->monthly_payment; - } - - /** - * Estimated interest or fees amount the payer will have to pay during the lifetime of the loan. - * - * @param \PayPal\Api\Currency $total_interest - * - * @return $this - */ - public function setTotalInterest($total_interest) - { - $this->total_interest = $total_interest; - return $this; - } - - /** - * Estimated interest or fees amount the payer will have to pay during the lifetime of the loan. - * - * @return \PayPal\Api\Currency - */ - public function getTotalInterest() - { - return $this->total_interest; - } - - /** - * Status on whether the customer ultimately was approved for and chose to make the payment using the approved installment credit. - * - * @param bool $payer_acceptance - * - * @return $this - */ - public function setPayerAcceptance($payer_acceptance) - { - $this->payer_acceptance = $payer_acceptance; - return $this; - } - - /** - * Status on whether the customer ultimately was approved for and chose to make the payment using the approved installment credit. - * - * @return bool - */ - public function getPayerAcceptance() - { - return $this->payer_acceptance; - } - - /** - * Indicates whether the cart amount is editable after payer's acceptance on PayPal side - * - * @param bool $cart_amount_immutable - * - * @return $this - */ - public function setCartAmountImmutable($cart_amount_immutable) - { - $this->cart_amount_immutable = $cart_amount_immutable; - return $this; - } - - /** - * Indicates whether the cart amount is editable after payer's acceptance on PayPal side - * - * @return bool - */ - public function getCartAmountImmutable() - { - return $this->cart_amount_immutable; - } - -} diff --git a/paypal/PayPal/Api/Currency.php b/paypal/PayPal/Api/Currency.php deleted file mode 100644 index eb53eb9..0000000 --- a/paypal/PayPal/Api/Currency.php +++ /dev/null @@ -1,69 +0,0 @@ -currency = $currency; - return $this; - } - - /** - * 3 letter currency code as defined by ISO 4217. - * - * @return string - */ - public function getCurrency() - { - return $this->currency; - } - - /** - * amount up to N digit after the decimals separator as defined in ISO 4217 for the appropriate currency code. - * - * @param string|double $value - * - * @return $this - */ - public function setValue($value) - { - NumericValidator::validate($value, "Value"); - $value = FormatConverter::formatToPrice($value, $this->getCurrency()); - $this->value = $value; - return $this; - } - - /** - * amount up to N digit after the decimals separator as defined in ISO 4217 for the appropriate currency code. - * - * @return string - */ - public function getValue() - { - return $this->value; - } - -} diff --git a/paypal/PayPal/Api/CurrencyConversion.php b/paypal/PayPal/Api/CurrencyConversion.php deleted file mode 100644 index 5347986..0000000 --- a/paypal/PayPal/Api/CurrencyConversion.php +++ /dev/null @@ -1,266 +0,0 @@ -conversion_date = $conversion_date; - return $this; - } - - /** - * Date of validity for the conversion rate. - * - * @return string - */ - public function getConversionDate() - { - return $this->conversion_date; - } - - /** - * 3 letter currency code - * - * @param string $from_currency - * - * @return $this - */ - public function setFromCurrency($from_currency) - { - $this->from_currency = $from_currency; - return $this; - } - - /** - * 3 letter currency code - * - * @return string - */ - public function getFromCurrency() - { - return $this->from_currency; - } - - /** - * Amount participating in currency conversion, set to 1 as default - * - * @param string $from_amount - * - * @return $this - */ - public function setFromAmount($from_amount) - { - $this->from_amount = $from_amount; - return $this; - } - - /** - * Amount participating in currency conversion, set to 1 as default - * - * @return string - */ - public function getFromAmount() - { - return $this->from_amount; - } - - /** - * 3 letter currency code - * - * @param string $to_currency - * - * @return $this - */ - public function setToCurrency($to_currency) - { - $this->to_currency = $to_currency; - return $this; - } - - /** - * 3 letter currency code - * - * @return string - */ - public function getToCurrency() - { - return $this->to_currency; - } - - /** - * Amount resulting from currency conversion. - * - * @param string $to_amount - * - * @return $this - */ - public function setToAmount($to_amount) - { - $this->to_amount = $to_amount; - return $this; - } - - /** - * Amount resulting from currency conversion. - * - * @return string - */ - public function getToAmount() - { - return $this->to_amount; - } - - /** - * Field indicating conversion type applied. - * Valid Values: ["PAYPAL", "VENDOR"] - * - * @param string $conversion_type - * - * @return $this - */ - public function setConversionType($conversion_type) - { - $this->conversion_type = $conversion_type; - return $this; - } - - /** - * Field indicating conversion type applied. - * - * @return string - */ - public function getConversionType() - { - return $this->conversion_type; - } - - /** - * Allow Payer to change conversion type. - * - * @param bool $conversion_type_changeable - * - * @return $this - */ - public function setConversionTypeChangeable($conversion_type_changeable) - { - $this->conversion_type_changeable = $conversion_type_changeable; - return $this; - } - - /** - * Allow Payer to change conversion type. - * - * @return bool - */ - public function getConversionTypeChangeable() - { - return $this->conversion_type_changeable; - } - - /** - * Base URL to web applications endpoint - * Valid Values: ["https://www.paypal.com/{country_code}/webapps/xocspartaweb/webflow/sparta/proxwebflow", "https://www.paypal.com/{country_code}/proxflow"] - * @deprecated Not publicly available - * @param string $web_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setWebUrl($web_url) - { - UrlValidator::validate($web_url, "WebUrl"); - $this->web_url = $web_url; - return $this; - } - - /** - * Base URL to web applications endpoint - * @deprecated Not publicly available - * @return string - */ - public function getWebUrl() - { - return $this->web_url; - } - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - -} diff --git a/paypal/PayPal/Api/CustomAmount.php b/paypal/PayPal/Api/CustomAmount.php deleted file mode 100644 index e61146c..0000000 --- a/paypal/PayPal/Api/CustomAmount.php +++ /dev/null @@ -1,65 +0,0 @@ -label = $label; - return $this; - } - - /** - * The custom amount label. Maximum length is 25 characters. - * - * @return string - */ - public function getLabel() - { - return $this->label; - } - - /** - * The custom amount value. Valid range is from -999999.99 to 999999.99. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * The custom amount value. Valid range is from -999999.99 to 999999.99. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - -} diff --git a/paypal/PayPal/Api/DetailedRefund.php b/paypal/PayPal/Api/DetailedRefund.php deleted file mode 100644 index e010a1d..0000000 --- a/paypal/PayPal/Api/DetailedRefund.php +++ /dev/null @@ -1,160 +0,0 @@ -custom = $custom; - return $this; - } - - /** - * free-form field for the use of clients - * - * @return string - */ - public function getCustom() - { - return $this->custom; - } - - /** - * Amount refunded to payer of the original transaction, in the current Refund call - * - * @param \PayPal\Api\Currency $refund_to_payer - * - * @return $this - */ - public function setRefundToPayer($refund_to_payer) - { - $this->refund_to_payer = $refund_to_payer; - return $this; - } - - /** - * Amount refunded to payer of the original transaction, in the current Refund call - * - * @return \PayPal\Api\Currency - */ - public function getRefundToPayer() - { - return $this->refund_to_payer; - } - - /** - * List of external funding that were refunded by the Refund call. Each external_funding unit should have a unique reference_id - * - * @param \PayPal\Api\ExternalFunding[] $refund_to_external_funding - * - * @return $this - */ - public function setRefundToExternalFunding($refund_to_external_funding) - { - $this->refund_to_external_funding = $refund_to_external_funding; - return $this; - } - - /** - * List of external funding that were refunded by the Refund call. Each external_funding unit should have a unique reference_id - * - * @return \PayPal\Api\ExternalFunding[] - */ - public function getRefundToExternalFunding() - { - return $this->refund_to_external_funding; - } - - /** - * Transaction fee refunded to original recipient of payment. - * - * @param \PayPal\Api\Currency $refund_from_transaction_fee - * - * @return $this - */ - public function setRefundFromTransactionFee($refund_from_transaction_fee) - { - $this->refund_from_transaction_fee = $refund_from_transaction_fee; - return $this; - } - - /** - * Transaction fee refunded to original recipient of payment. - * - * @return \PayPal\Api\Currency - */ - public function getRefundFromTransactionFee() - { - return $this->refund_from_transaction_fee; - } - - /** - * Amount subtracted from PayPal balance of the original recipient of payment, to make this refund. - * - * @param \PayPal\Api\Currency $refund_from_received_amount - * - * @return $this - */ - public function setRefundFromReceivedAmount($refund_from_received_amount) - { - $this->refund_from_received_amount = $refund_from_received_amount; - return $this; - } - - /** - * Amount subtracted from PayPal balance of the original recipient of payment, to make this refund. - * - * @return \PayPal\Api\Currency - */ - public function getRefundFromReceivedAmount() - { - return $this->refund_from_received_amount; - } - - /** - * Total amount refunded so far from the original purchase. Say, for example, a buyer makes $100 purchase, the buyer was refunded $20 a week ago and is refunded $30 in this transaction. The gross refund amount is $30 (in this transaction). The total refunded amount is $50. - * - * @param \PayPal\Api\Currency $total_refunded_amount - * - * @return $this - */ - public function setTotalRefundedAmount($total_refunded_amount) - { - $this->total_refunded_amount = $total_refunded_amount; - return $this; - } - - /** - * Total amount refunded so far from the original purchase. Say, for example, a buyer makes $100 purchase, the buyer was refunded $20 a week ago and is refunded $30 in this transaction. The gross refund amount is $30 (in this transaction). The total refunded amount is $50. - * - * @return \PayPal\Api\Currency - */ - public function getTotalRefundedAmount() - { - return $this->total_refunded_amount; - } - -} diff --git a/paypal/PayPal/Api/Details.php b/paypal/PayPal/Api/Details.php deleted file mode 100644 index 53212b7..0000000 --- a/paypal/PayPal/Api/Details.php +++ /dev/null @@ -1,227 +0,0 @@ -subtotal = $subtotal; - return $this; - } - - /** - * Amount of the subtotal of the items. **Required** if line items are specified. 10 characters max, with support for 2 decimal places. - * - * @return string - */ - public function getSubtotal() - { - return $this->subtotal; - } - - /** - * Amount charged for shipping. 10 characters max with support for 2 decimal places. - * - * @param string|double $shipping - * - * @return $this - */ - public function setShipping($shipping) - { - NumericValidator::validate($shipping, "Shipping"); - $shipping = FormatConverter::formatToPrice($shipping); - $this->shipping = $shipping; - return $this; - } - - /** - * Amount charged for shipping. 10 characters max with support for 2 decimal places. - * - * @return string - */ - public function getShipping() - { - return $this->shipping; - } - - /** - * Amount charged for tax. 10 characters max with support for 2 decimal places. - * - * @param string|double $tax - * - * @return $this - */ - public function setTax($tax) - { - NumericValidator::validate($tax, "Tax"); - $tax = FormatConverter::formatToPrice($tax); - $this->tax = $tax; - return $this; - } - - /** - * Amount charged for tax. 10 characters max with support for 2 decimal places. - * - * @return string - */ - public function getTax() - { - return $this->tax; - } - - /** - * Amount being charged for the handling fee. Only supported when the `payment_method` is set to `paypal`. - * - * @param string|double $handling_fee - * - * @return $this - */ - public function setHandlingFee($handling_fee) - { - NumericValidator::validate($handling_fee, "Handling Fee"); - $handling_fee = FormatConverter::formatToPrice($handling_fee); - $this->handling_fee = $handling_fee; - return $this; - } - - /** - * Amount being charged for the handling fee. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getHandlingFee() - { - return $this->handling_fee; - } - - /** - * Amount being discounted for the shipping fee. Only supported when the `payment_method` is set to `paypal`. - * - * @param string|double $shipping_discount - * - * @return $this - */ - public function setShippingDiscount($shipping_discount) - { - NumericValidator::validate($shipping_discount, "Shipping Discount"); - $shipping_discount = FormatConverter::formatToPrice($shipping_discount); - $this->shipping_discount = $shipping_discount; - return $this; - } - - /** - * Amount being discounted for the shipping fee. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getShippingDiscount() - { - return $this->shipping_discount; - } - - /** - * Amount being charged for the insurance fee. Only supported when the `payment_method` is set to `paypal`. - * - * @param string|double $insurance - * - * @return $this - */ - public function setInsurance($insurance) - { - NumericValidator::validate($insurance, "Insurance"); - $insurance = FormatConverter::formatToPrice($insurance); - $this->insurance = $insurance; - return $this; - } - - /** - * Amount being charged for the insurance fee. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getInsurance() - { - return $this->insurance; - } - - /** - * Amount being charged as gift wrap fee. - * - * @param string|double $gift_wrap - * - * @return $this - */ - public function setGiftWrap($gift_wrap) - { - NumericValidator::validate($gift_wrap, "Gift Wrap"); - $gift_wrap = FormatConverter::formatToPrice($gift_wrap); - $this->gift_wrap = $gift_wrap; - return $this; - } - - /** - * Amount being charged as gift wrap fee. - * - * @return string - */ - public function getGiftWrap() - { - return $this->gift_wrap; - } - - /** - * Fee charged by PayPal. In case of a refund, this is the fee amount refunded to the original receipient of the payment. - * - * @param string|double $fee - * - * @return $this - */ - public function setFee($fee) - { - NumericValidator::validate($fee, "Fee"); - $fee = FormatConverter::formatToPrice($fee); - $this->fee = $fee; - return $this; - } - - /** - * Fee charged by PayPal. In case of a refund, this is the fee amount refunded to the original receipient of the payment. - * - * @return string - */ - public function getFee() - { - return $this->fee; - } - -} diff --git a/paypal/PayPal/Api/Error.php b/paypal/PayPal/Api/Error.php deleted file mode 100644 index 574dddc..0000000 --- a/paypal/PayPal/Api/Error.php +++ /dev/null @@ -1,320 +0,0 @@ -name = $name; - return $this; - } - - /** - * Human readable, unique name of the error. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Reference ID of the purchase_unit associated with this error - * - * @deprecated Not publicly available - * @param string $purchase_unit_reference_id - * - * @return $this - */ - public function setPurchaseUnitReferenceId($purchase_unit_reference_id) - { - $this->purchase_unit_reference_id = $purchase_unit_reference_id; - return $this; - } - - /** - * Reference ID of the purchase_unit associated with this error - * - * @deprecated Not publicly available - * @return string - */ - public function getPurchaseUnitReferenceId() - { - return $this->purchase_unit_reference_id; - } - - /** - * PayPal internal error code. - * - * @deprecated Not publicly available - * @param string $code - * - * @return $this - */ - public function setCode($code) - { - $this->code = $code; - return $this; - } - - /** - * PayPal internal error code. - * - * @deprecated Not publicly available - * @return string - */ - public function getCode() - { - return $this->code; - } - - /** - * PayPal internal identifier used for correlation purposes. - * - * @param string $debug_id - * - * @return $this - */ - public function setDebugId($debug_id) - { - $this->debug_id = $debug_id; - return $this; - } - - /** - * PayPal internal identifier used for correlation purposes. - * - * @return string - */ - public function getDebugId() - { - return $this->debug_id; - } - - /** - * Message describing the error. - * - * @param string $message - * - * @return $this - */ - public function setMessage($message) - { - $this->message = $message; - return $this; - } - - /** - * Message describing the error. - * - * @return string - */ - public function getMessage() - { - return $this->message; - } - - /** - * URI for detailed information related to this error for the developer. - * - * @param string $information_link - * - * @return $this - */ - public function setInformationLink($information_link) - { - $this->information_link = $information_link; - return $this; - } - - /** - * URI for detailed information related to this error for the developer. - * - * @return string - */ - public function getInformationLink() - { - return $this->information_link; - } - - /** - * Additional details of the error - * - * @param \PayPal\Api\ErrorDetails[] $details - * - * @return $this - */ - public function setDetails($details) - { - $this->details = $details; - return $this; - } - - /** - * Additional details of the error - * - * @return \PayPal\Api\ErrorDetails[] - */ - public function getDetails() - { - return $this->details; - } - - /** - * Append Details to the list. - * - * @param \PayPal\Api\ErrorDetails $errorDetails - * @return $this - */ - public function addDetail($errorDetails) - { - if (!$this->getDetails()) { - return $this->setDetails(array($errorDetails)); - } else { - return $this->setDetails( - array_merge($this->getDetails(), array($errorDetails)) - ); - } - } - - /** - * Remove Details from the list. - * - * @param \PayPal\Api\ErrorDetails $errorDetails - * @return $this - */ - public function removeDetail($errorDetails) - { - return $this->setDetails( - array_diff($this->getDetails(), array($errorDetails)) - ); - } - - /** - * response codes returned from a payment processor such as avs, cvv, etc. Only supported when the `payment_method` is set to `credit_card`. - * - * @deprecated Not publicly available - * @param \PayPal\Api\ProcessorResponse $processor_response - * - * @return $this - */ - public function setProcessorResponse($processor_response) - { - $this->processor_response = $processor_response; - return $this; - } - - /** - * response codes returned from a payment processor such as avs, cvv, etc. Only supported when the `payment_method` is set to `credit_card`. - * - * @deprecated Not publicly available - * @return \PayPal\Api\ProcessorResponse - */ - public function getProcessorResponse() - { - return $this->processor_response; - } - - /** - * Fraud filter details. Only supported when the `payment_method` is set to `credit_card` - * - * @deprecated Not publicly available - * @param \PayPal\Api\FmfDetails $fmf_details - * - * @return $this - */ - public function setFmfDetails($fmf_details) - { - $this->fmf_details = $fmf_details; - return $this; - } - - /** - * Fraud filter details. Only supported when the `payment_method` is set to `credit_card` - * - * @deprecated Not publicly available - * @return \PayPal\Api\FmfDetails - */ - public function getFmfDetails() - { - return $this->fmf_details; - } - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } -} diff --git a/paypal/PayPal/Api/ErrorDetails.php b/paypal/PayPal/Api/ErrorDetails.php deleted file mode 100644 index d120b0a..0000000 --- a/paypal/PayPal/Api/ErrorDetails.php +++ /dev/null @@ -1,111 +0,0 @@ -field = $field; - return $this; - } - - /** - * Name of the field that caused the error. - * - * @return string - */ - public function getField() - { - return $this->field; - } - - /** - * Reason for the error. - * - * @param string $issue - * - * @return $this - */ - public function setIssue($issue) - { - $this->issue = $issue; - return $this; - } - - /** - * Reason for the error. - * - * @return string - */ - public function getIssue() - { - return $this->issue; - } - - /** - * Reference ID of the purchase_unit associated with this error - * @deprecated Not publicly available - * @param string $purchase_unit_reference_id - * - * @return $this - */ - public function setPurchaseUnitReferenceId($purchase_unit_reference_id) - { - $this->purchase_unit_reference_id = $purchase_unit_reference_id; - return $this; - } - - /** - * Reference ID of the purchase_unit associated with this error - * @deprecated Not publicly available - * @return string - */ - public function getPurchaseUnitReferenceId() - { - return $this->purchase_unit_reference_id; - } - - /** - * PayPal internal error code. - * @deprecated Not publicly available - * @param string $code - * - * @return $this - */ - public function setCode($code) - { - $this->code = $code; - return $this; - } - - /** - * PayPal internal error code. - * @deprecated Not publicly available - * @return string - */ - public function getCode() - { - return $this->code; - } - -} diff --git a/paypal/PayPal/Api/ExtendedBankAccount.php b/paypal/PayPal/Api/ExtendedBankAccount.php deleted file mode 100644 index 3206c9d..0000000 --- a/paypal/PayPal/Api/ExtendedBankAccount.php +++ /dev/null @@ -1,38 +0,0 @@ -mandate_reference_number = $mandate_reference_number; - return $this; - } - - /** - * Identifier of the direct debit mandate to validate. Currently supported only for EU bank accounts(SEPA). - * @deprecated Not publicly available - * @return string - */ - public function getMandateReferenceNumber() - { - return $this->mandate_reference_number; - } - -} diff --git a/paypal/PayPal/Api/ExternalFunding.php b/paypal/PayPal/Api/ExternalFunding.php deleted file mode 100644 index e03335b..0000000 --- a/paypal/PayPal/Api/ExternalFunding.php +++ /dev/null @@ -1,161 +0,0 @@ -reference_id = $reference_id; - return $this; - } - - /** - * Unique identifier for the external funding - * - * @return string - */ - public function getReferenceId() - { - return $this->reference_id; - } - - /** - * Generic identifier for the external funding - * - * @param string $code - * - * @return $this - */ - public function setCode($code) - { - $this->code = $code; - return $this; - } - - /** - * Generic identifier for the external funding - * - * @return string - */ - public function getCode() - { - return $this->code; - } - - /** - * Encrypted PayPal Account identifier for the funding account - * - * @param string $funding_account_id - * - * @return $this - */ - public function setFundingAccountId($funding_account_id) - { - $this->funding_account_id = $funding_account_id; - return $this; - } - - /** - * Encrypted PayPal Account identifier for the funding account - * - * @return string - */ - public function getFundingAccountId() - { - return $this->funding_account_id; - } - - /** - * Description of the external funding being applied - * - * @param string $display_text - * - * @return $this - */ - public function setDisplayText($display_text) - { - $this->display_text = $display_text; - return $this; - } - - /** - * Description of the external funding being applied - * - * @return string - */ - public function getDisplayText() - { - return $this->display_text; - } - - /** - * Amount being funded by the external funding account - * - * @param \PayPal\Api\Amount $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Amount being funded by the external funding account - * - * @return \PayPal\Api\Amount - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Indicates that the Payment should be fully funded by External Funded Incentive - * Valid Values: ["FULLY_FUNDED"] - * - * @param string $funding_instruction - * - * @return $this - */ - public function setFundingInstruction($funding_instruction) - { - $this->funding_instruction = $funding_instruction; - return $this; - } - - /** - * Indicates that the Payment should be fully funded by External Funded Incentive - * - * @return string - */ - public function getFundingInstruction() - { - return $this->funding_instruction; - } -} diff --git a/paypal/PayPal/Api/FileAttachment.php b/paypal/PayPal/Api/FileAttachment.php deleted file mode 100644 index 23b9055..0000000 --- a/paypal/PayPal/Api/FileAttachment.php +++ /dev/null @@ -1,67 +0,0 @@ -name = $name; - return $this; - } - - /** - * Name of the file attached. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * URL of the attached file that can be downloaded. - * - * @param string $url - * @throws \InvalidArgumentException - * @return $this - */ - public function setUrl($url) - { - UrlValidator::validate($url, "Url"); - $this->url = $url; - return $this; - } - - /** - * URL of the attached file that can be downloaded. - * - * @return string - */ - public function getUrl() - { - return $this->url; - } - -} diff --git a/paypal/PayPal/Api/FlowConfig.php b/paypal/PayPal/Api/FlowConfig.php deleted file mode 100644 index 975217c..0000000 --- a/paypal/PayPal/Api/FlowConfig.php +++ /dev/null @@ -1,115 +0,0 @@ -landing_page_type = $landing_page_type; - return $this; - } - - /** - * The type of landing page to display on the PayPal site for user checkout. Set to `Billing` to use the non-PayPal account landing page. Set to `Login` to use the PayPal account login landing page. - * - * @return string - */ - public function getLandingPageType() - { - return $this->landing_page_type; - } - - /** - * The merchant site URL to display after a bank transfer payment. Valid for only the Giropay or bank transfer payment method in Germany. - * - * @param string $bank_txn_pending_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setBankTxnPendingUrl($bank_txn_pending_url) - { - UrlValidator::validate($bank_txn_pending_url, "BankTxnPendingUrl"); - $this->bank_txn_pending_url = $bank_txn_pending_url; - return $this; - } - - /** - * The merchant site URL to display after a bank transfer payment. Valid for only the Giropay or bank transfer payment method in Germany. - * - * @return string - */ - public function getBankTxnPendingUrl() - { - return $this->bank_txn_pending_url; - } - - /** - * Defines whether buyers can complete purchases on the PayPal or merchant website. - * - * @param string $user_action - * - * @return $this - */ - public function setUserAction($user_action) - { - $this->user_action = $user_action; - return $this; - } - - /** - * Defines whether buyers can complete purchases on the PayPal or merchant website. - * - * @return string - */ - public function getUserAction() - { - return $this->user_action; - } - - /** - * Defines the HTTP method to use to redirect the user to a return URL. A valid value is `GET` or `POST`. - * - * @param string $return_uri_http_method - * - * @return $this - */ - public function setReturnUriHttpMethod($return_uri_http_method) - { - $this->return_uri_http_method = $return_uri_http_method; - return $this; - } - - /** - * Defines the HTTP method to use to redirect the user to a return URL. A valid value is `GET` or `POST`. - * - * @return string - */ - public function getReturnUriHttpMethod() - { - return $this->return_uri_http_method; - } - -} diff --git a/paypal/PayPal/Api/FmfDetails.php b/paypal/PayPal/Api/FmfDetails.php deleted file mode 100644 index c5681c8..0000000 --- a/paypal/PayPal/Api/FmfDetails.php +++ /dev/null @@ -1,115 +0,0 @@ -filter_type = $filter_type; - return $this; - } - - /** - * Type of filter. - * - * @return string - */ - public function getFilterType() - { - return $this->filter_type; - } - - /** - * Filter Identifier. - * Valid Values: ["AVS_NO_MATCH", "AVS_PARTIAL_MATCH", "AVS_UNAVAILABLE_OR_UNSUPPORTED", "CARD_SECURITY_CODE_MISMATCH", "MAXIMUM_TRANSACTION_AMOUNT", "UNCONFIRMED_ADDRESS", "COUNTRY_MONITOR", "LARGE_ORDER_NUMBER", "BILLING_OR_SHIPPING_ADDRESS_MISMATCH", "RISKY_ZIP_CODE", "SUSPECTED_FREIGHT_FORWARDER_CHECK", "TOTAL_PURCHASE_PRICE_MINIMUM", "IP_ADDRESS_VELOCITY", "RISKY_EMAIL_ADDRESS_DOMAIN_CHECK", "RISKY_BANK_IDENTIFICATION_NUMBER_CHECK", "RISKY_IP_ADDRESS_RANGE", "PAYPAL_FRAUD_MODEL"] - * - * @param string $filter_id - * - * @return $this - */ - public function setFilterId($filter_id) - { - $this->filter_id = $filter_id; - return $this; - } - - /** - * Filter Identifier. - * - * @return string - */ - public function getFilterId() - { - return $this->filter_id; - } - - /** - * Name of the filter - * - * @param string $name - * - * @return $this - */ - public function setName($name) - { - $this->name = $name; - return $this; - } - - /** - * Name of the filter - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Description of the filter. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } - - /** - * Description of the filter. - * - * @return string - */ - public function getDescription() - { - return $this->description; - } - -} diff --git a/paypal/PayPal/Api/FundingDetail.php b/paypal/PayPal/Api/FundingDetail.php deleted file mode 100644 index 66cc1f3..0000000 --- a/paypal/PayPal/Api/FundingDetail.php +++ /dev/null @@ -1,114 +0,0 @@ -clearing_time = $clearing_time; - return $this; - } - - /** - * Expected clearing time - * - * @return string - */ - public function getClearingTime() - { - return $this->clearing_time; - } - - /** - * [DEPRECATED] Hold-off duration of the payment. payment_debit_date should be used instead. - * - * @param string $payment_hold_date - * - * @return $this - */ - public function setPaymentHoldDate($payment_hold_date) - { - $this->payment_hold_date = $payment_hold_date; - return $this; - } - - /** - * @deprecated [DEPRECATED] Hold-off duration of the payment. payment_debit_date should be used instead. - * - * @return string - */ - public function getPaymentHoldDate() - { - return $this->payment_hold_date; - } - - /** - * Date when funds will be debited from the payer's account - * - * @param string $payment_debit_date - * - * @return $this - */ - public function setPaymentDebitDate($payment_debit_date) - { - $this->payment_debit_date = $payment_debit_date; - return $this; - } - - /** - * Date when funds will be debited from the payer's account - * - * @return string - */ - public function getPaymentDebitDate() - { - return $this->payment_debit_date; - } - - /** - * Processing type of the payment card - * Valid Values: ["CUP_SECURE", "PINLESS_DEBIT"] - * - * @param string $processing_type - * - * @return $this - */ - public function setProcessingType($processing_type) - { - $this->processing_type = $processing_type; - return $this; - } - - /** - * Processing type of the payment card - * - * @return string - */ - public function getProcessingType() - { - return $this->processing_type; - } - -} diff --git a/paypal/PayPal/Api/FundingInstrument.php b/paypal/PayPal/Api/FundingInstrument.php deleted file mode 100644 index da311f4..0000000 --- a/paypal/PayPal/Api/FundingInstrument.php +++ /dev/null @@ -1,321 +0,0 @@ -credit_card = $credit_card; - return $this; - } - - /** - * Credit Card instrument. - * - * @return \PayPal\Api\CreditCard - */ - public function getCreditCard() - { - return $this->credit_card; - } - - /** - * PayPal vaulted credit Card instrument. - * - * @param \PayPal\Api\CreditCardToken $credit_card_token - * - * @return $this - */ - public function setCreditCardToken($credit_card_token) - { - $this->credit_card_token = $credit_card_token; - return $this; - } - - /** - * PayPal vaulted credit Card instrument. - * - * @return \PayPal\Api\CreditCardToken - */ - public function getCreditCardToken() - { - return $this->credit_card_token; - } - - /** - * Payment Card information. - * - * @param \PayPal\Api\PaymentCard $payment_card - * - * @return $this - */ - public function setPaymentCard($payment_card) - { - $this->payment_card = $payment_card; - return $this; - } - - /** - * Payment Card information. - * - * @return \PayPal\Api\PaymentCard - */ - public function getPaymentCard() - { - return $this->payment_card; - } - - /** - * Bank Account information. - * @deprecated Not publicly available - * @param \PayPal\Api\ExtendedBankAccount $bank_account - * - * @return $this - */ - public function setBankAccount($bank_account) - { - $this->bank_account = $bank_account; - return $this; - } - - /** - * Bank Account information. - * @deprecated Not publicly available - * @return \PayPal\Api\ExtendedBankAccount - */ - public function getBankAccount() - { - return $this->bank_account; - } - - /** - * Vaulted bank account instrument. - * @deprecated Not publicly available - * @param \PayPal\Api\BankToken $bank_account_token - * - * @return $this - */ - public function setBankAccountToken($bank_account_token) - { - $this->bank_account_token = $bank_account_token; - return $this; - } - - /** - * Vaulted bank account instrument. - * @deprecated Not publicly available - * @return \PayPal\Api\BankToken - */ - public function getBankAccountToken() - { - return $this->bank_account_token; - } - - /** - * PayPal credit funding instrument. - * @deprecated Not publicly available - * @param \PayPal\Api\Credit $credit - * - * @return $this - */ - public function setCredit($credit) - { - $this->credit = $credit; - return $this; - } - - /** - * PayPal credit funding instrument. - * @deprecated Not publicly available - * @return \PayPal\Api\Credit - */ - public function getCredit() - { - return $this->credit; - } - - /** - * Incentive funding instrument. - * @deprecated Not publicly available - * @param \PayPal\Api\Incentive $incentive - * - * @return $this - */ - public function setIncentive($incentive) - { - $this->incentive = $incentive; - return $this; - } - - /** - * Incentive funding instrument. - * @deprecated Not publicly available - * @return \PayPal\Api\Incentive - */ - public function getIncentive() - { - return $this->incentive; - } - - /** - * External funding instrument. - * @deprecated Not publicly available - * @param \PayPal\Api\ExternalFunding $external_funding - * - * @return $this - */ - public function setExternalFunding($external_funding) - { - $this->external_funding = $external_funding; - return $this; - } - - /** - * External funding instrument. - * @deprecated Not publicly available - * @return \PayPal\Api\ExternalFunding - */ - public function getExternalFunding() - { - return $this->external_funding; - } - - /** - * Carrier account token instrument. - * @deprecated Not publicly available - * @param \PayPal\Api\CarrierAccountToken $carrier_account_token - * - * @return $this - */ - public function setCarrierAccountToken($carrier_account_token) - { - $this->carrier_account_token = $carrier_account_token; - return $this; - } - - /** - * Carrier account token instrument. - * @deprecated Not publicly available - * @return \PayPal\Api\CarrierAccountToken - */ - public function getCarrierAccountToken() - { - return $this->carrier_account_token; - } - - /** - * Carrier account instrument - * @deprecated Not publicly available - * @param \PayPal\Api\CarrierAccount $carrier_account - * - * @return $this - */ - public function setCarrierAccount($carrier_account) - { - $this->carrier_account = $carrier_account; - return $this; - } - - /** - * Carrier account instrument - * @deprecated Not publicly available - * @return \PayPal\Api\CarrierAccount - */ - public function getCarrierAccount() - { - return $this->carrier_account; - } - - /** - * Private Label Card funding instrument. These are store cards provided by merchants to drive business with value to customer with convenience and rewards. - * @deprecated Not publicly available - * @param \PayPal\Api\PrivateLabelCard $private_label_card - * - * @return $this - */ - public function setPrivateLabelCard($private_label_card) - { - $this->private_label_card = $private_label_card; - return $this; - } - - /** - * Private Label Card funding instrument. These are store cards provided by merchants to drive business with value to customer with convenience and rewards. - * @deprecated Not publicly available - * @return \PayPal\Api\PrivateLabelCard - */ - public function getPrivateLabelCard() - { - return $this->private_label_card; - } - - /** - * Billing instrument that references pre-approval information for the payment - * - * @param \PayPal\Api\Billing $billing - * - * @return $this - */ - public function setBilling($billing) - { - $this->billing = $billing; - return $this; - } - - /** - * Billing instrument that references pre-approval information for the payment - * - * @return \PayPal\Api\Billing - */ - public function getBilling() - { - return $this->billing; - } - - /** - * Alternate Payment information - Mostly regional payment providers. For e.g iDEAL in Netherlands - * - * @deprecated Not publicly available - * @param \PayPal\Api\AlternatePayment $alternate_payment - * - * @return $this - */ - public function setAlternatePayment($alternate_payment) - { - $this->alternate_payment = $alternate_payment; - return $this; - } - - /** - * Alternate Payment information - Mostly regional payment providers. For e.g iDEAL in Netherlands - * - * @deprecated Not publicly available - * @return \PayPal\Api\AlternatePayment - */ - public function getAlternatePayment() - { - return $this->alternate_payment; - } - -} diff --git a/paypal/PayPal/Api/FundingOption.php b/paypal/PayPal/Api/FundingOption.php deleted file mode 100644 index 9848a0c..0000000 --- a/paypal/PayPal/Api/FundingOption.php +++ /dev/null @@ -1,221 +0,0 @@ -id = $id; - return $this; - } - - /** - * id of the funding option. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * List of funding sources that contributes to a payment. - * - * @param \PayPal\Api\FundingSource[] $funding_sources - * - * @return $this - */ - public function setFundingSources($funding_sources) - { - $this->funding_sources = $funding_sources; - return $this; - } - - /** - * List of funding sources that contributes to a payment. - * - * @return \PayPal\Api\FundingSource[] - */ - public function getFundingSources() - { - return $this->funding_sources; - } - - /** - * Append FundingSources to the list. - * - * @param \PayPal\Api\FundingSource $fundingSource - * @return $this - */ - public function addFundingSource($fundingSource) - { - if (!$this->getFundingSources()) { - return $this->setFundingSources(array($fundingSource)); - } else { - return $this->setFundingSources( - array_merge($this->getFundingSources(), array($fundingSource)) - ); - } - } - - /** - * Remove FundingSources from the list. - * - * @param \PayPal\Api\FundingSource $fundingSource - * @return $this - */ - public function removeFundingSource($fundingSource) - { - return $this->setFundingSources( - array_diff($this->getFundingSources(), array($fundingSource)) - ); - } - - /** - * Backup funding instrument which will be used for payment if primary fails. - * - * @param \PayPal\Api\FundingInstrument $backup_funding_instrument - * - * @return $this - */ - public function setBackupFundingInstrument($backup_funding_instrument) - { - $this->backup_funding_instrument = $backup_funding_instrument; - return $this; - } - - /** - * Backup funding instrument which will be used for payment if primary fails. - * - * @return \PayPal\Api\FundingInstrument - */ - public function getBackupFundingInstrument() - { - return $this->backup_funding_instrument; - } - - /** - * Currency conversion applicable to this funding option. - * - * @param \PayPal\Api\CurrencyConversion $currency_conversion - * - * @return $this - */ - public function setCurrencyConversion($currency_conversion) - { - $this->currency_conversion = $currency_conversion; - return $this; - } - - /** - * Currency conversion applicable to this funding option. - * - * @return \PayPal\Api\CurrencyConversion - */ - public function getCurrencyConversion() - { - return $this->currency_conversion; - } - - /** - * Installment options available for a funding option. - * - * @param \PayPal\Api\InstallmentInfo $installment_info - * - * @return $this - */ - public function setInstallmentInfo($installment_info) - { - $this->installment_info = $installment_info; - return $this; - } - - /** - * Installment options available for a funding option. - * - * @return \PayPal\Api\InstallmentInfo - */ - public function getInstallmentInfo() - { - return $this->installment_info; - } - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - -} diff --git a/paypal/PayPal/Api/FundingSource.php b/paypal/PayPal/Api/FundingSource.php deleted file mode 100644 index 95f1799..0000000 --- a/paypal/PayPal/Api/FundingSource.php +++ /dev/null @@ -1,292 +0,0 @@ -funding_mode = $funding_mode; - return $this; - } - - /** - * specifies funding mode of the instrument - * - * @return string - */ - public function getFundingMode() - { - return $this->funding_mode; - } - - /** - * Instrument type for this funding source - * Valid Values: ["BALANCE", "PAYMENT_CARD", "BANK_ACCOUNT", "CREDIT", "INCENTIVE", "EXTERNAL_FUNDING", "TAB"] - * - * @param string $funding_instrument_type - * - * @return $this - */ - public function setFundingInstrumentType($funding_instrument_type) - { - $this->funding_instrument_type = $funding_instrument_type; - return $this; - } - - /** - * Instrument type for this funding source - * - * @return string - */ - public function getFundingInstrumentType() - { - return $this->funding_instrument_type; - } - - /** - * Soft descriptor used when charging this funding source. - * - * @param string $soft_descriptor - * - * @return $this - */ - public function setSoftDescriptor($soft_descriptor) - { - $this->soft_descriptor = $soft_descriptor; - return $this; - } - - /** - * Soft descriptor used when charging this funding source. - * - * @return string - */ - public function getSoftDescriptor() - { - return $this->soft_descriptor; - } - - /** - * Total anticipated amount of money to be pulled from instrument. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Total anticipated amount of money to be pulled from instrument. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Additional amount to be pulled from the instrument to recover a negative balance on the buyer's account that is owed to PayPal. - * - * @param \PayPal\Api\Currency $negative_balance_amount - * - * @return $this - */ - public function setNegativeBalanceAmount($negative_balance_amount) - { - $this->negative_balance_amount = $negative_balance_amount; - return $this; - } - - /** - * Additional amount to be pulled from the instrument to recover a negative balance on the buyer's account that is owed to PayPal. - * - * @return \PayPal\Api\Currency - */ - public function getNegativeBalanceAmount() - { - return $this->negative_balance_amount; - } - - /** - * Localized legal text relevant to funding source. - * - * @param string $legal_text - * - * @return $this - */ - public function setLegalText($legal_text) - { - $this->legal_text = $legal_text; - return $this; - } - - /** - * Localized legal text relevant to funding source. - * - * @return string - */ - public function getLegalText() - { - return $this->legal_text; - } - - /** - * Additional detail of the funding. - * - * @param \PayPal\Api\FundingDetail $funding_detail - * - * @return $this - */ - public function setFundingDetail($funding_detail) - { - $this->funding_detail = $funding_detail; - return $this; - } - - /** - * Additional detail of the funding. - * - * @return \PayPal\Api\FundingDetail - */ - public function getFundingDetail() - { - return $this->funding_detail; - } - - /** - * Additional text relevant to funding source. - * - * @param string $additional_text - * - * @return $this - */ - public function setAdditionalText($additional_text) - { - $this->additional_text = $additional_text; - return $this; - } - - /** - * Additional text relevant to funding source. - * - * @return string - */ - public function getAdditionalText() - { - return $this->additional_text; - } - - /** - * Sets Extends - * - * @param \PayPal\Api\FundingInstrument $extends - * - * @deprecated Unused - * - * @return $this - */ - public function setExtends($extends) - { - $this->extends = $extends; - return $this; - } - - /** - * Gets Extends - * - * @deprecated Unused - * - * @return \PayPal\Api\FundingInstrument - */ - public function getExtends() - { - return $this->extends; - } - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - -} diff --git a/paypal/PayPal/Api/FuturePayment.php b/paypal/PayPal/Api/FuturePayment.php deleted file mode 100644 index 9744808..0000000 --- a/paypal/PayPal/Api/FuturePayment.php +++ /dev/null @@ -1,59 +0,0 @@ - $clientMetadataId - ); - } - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/payments/payment", - "POST", - $payLoad, - $headers, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Get a Refresh Token from Authorization Code - * - * @param $authorizationCode - * @param ApiContext $apiContext - * @return string|null refresh token - */ - public static function getRefreshToken($authorizationCode, $apiContext = null) - { - $apiContext = $apiContext ? $apiContext : new ApiContext(self::$credential); - $credential = $apiContext->getCredential(); - return $credential->getRefreshToken($apiContext->getConfig(), $authorizationCode); - } - -} diff --git a/paypal/PayPal/Api/HyperSchema.php b/paypal/PayPal/Api/HyperSchema.php deleted file mode 100644 index 7ef5dbb..0000000 --- a/paypal/PayPal/Api/HyperSchema.php +++ /dev/null @@ -1,191 +0,0 @@ -links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - - /** - * Sets FragmentResolution - * - * @param string $fragmentResolution - * - * @return $this - */ - public function setFragmentResolution($fragmentResolution) - { - $this->fragmentResolution = $fragmentResolution; - return $this; - } - - /** - * Gets FragmentResolution - * - * @return string - */ - public function getFragmentResolution() - { - return $this->fragmentResolution; - } - - /** - * Sets Readonly - * - * @param bool $readonly - * - * @return $this - */ - public function setReadonly($readonly) - { - $this->readonly = $readonly; - return $this; - } - - /** - * Gets Readonly - * - * @return bool - */ - public function getReadonly() - { - return $this->readonly; - } - - /** - * Sets ContentEncoding - * - * @param string $contentEncoding - * - * @return $this - */ - public function setContentEncoding($contentEncoding) - { - $this->contentEncoding = $contentEncoding; - return $this; - } - - /** - * Gets ContentEncoding - * - * @return string - */ - public function getContentEncoding() - { - return $this->contentEncoding; - } - - /** - * Sets PathStart - * - * @param string $pathStart - * - * @return $this - */ - public function setPathStart($pathStart) - { - $this->pathStart = $pathStart; - return $this; - } - - /** - * Gets PathStart - * - * @return string - */ - public function getPathStart() - { - return $this->pathStart; - } - - /** - * Sets MediaType - * - * @param string $mediaType - * - * @return $this - */ - public function setMediaType($mediaType) - { - $this->mediaType = $mediaType; - return $this; - } - - /** - * Gets MediaType - * - * @return string - */ - public function getMediaType() - { - return $this->mediaType; - } - -} diff --git a/paypal/PayPal/Api/Image.php b/paypal/PayPal/Api/Image.php deleted file mode 100644 index 71c7d15..0000000 --- a/paypal/PayPal/Api/Image.php +++ /dev/null @@ -1,56 +0,0 @@ -image = $imageBase64String; - return $this; - } - - /** - * Get Image as Base-64 encoded String - * - * @return string - */ - public function getImage() - { - return $this->image; - } - - /** - * Stores the Image to file - * - * @param string $name File Name - * @return string File name - */ - public function saveToFile($name = null) - { - // Self Generate File Location - if (!$name) { - $name = uniqid() . '.png'; - } - // Save to File - file_put_contents($name, base64_decode($this->getImage())); - return $name; - } - -} diff --git a/paypal/PayPal/Api/Incentive.php b/paypal/PayPal/Api/Incentive.php deleted file mode 100644 index 7493a65..0000000 --- a/paypal/PayPal/Api/Incentive.php +++ /dev/null @@ -1,236 +0,0 @@ -id = $id; - return $this; - } - - /** - * Identifier of the instrument in PayPal Wallet - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Code that identifies the incentive. - * - * @param string $code - * - * @return $this - */ - public function setCode($code) - { - $this->code = $code; - return $this; - } - - /** - * Code that identifies the incentive. - * - * @return string - */ - public function getCode() - { - return $this->code; - } - - /** - * Name of the incentive. - * - * @param string $name - * - * @return $this - */ - public function setName($name) - { - $this->name = $name; - return $this; - } - - /** - * Name of the incentive. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Description of the incentive. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } - - /** - * Description of the incentive. - * - * @return string - */ - public function getDescription() - { - return $this->description; - } - - /** - * Indicates incentive is applicable for this minimum purchase amount. - * - * @param \PayPal\Api\Currency $minimum_purchase_amount - * - * @return $this - */ - public function setMinimumPurchaseAmount($minimum_purchase_amount) - { - $this->minimum_purchase_amount = $minimum_purchase_amount; - return $this; - } - - /** - * Indicates incentive is applicable for this minimum purchase amount. - * - * @return \PayPal\Api\Currency - */ - public function getMinimumPurchaseAmount() - { - return $this->minimum_purchase_amount; - } - - /** - * Logo image url for the incentive. - * - * @param string $logo_image_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setLogoImageUrl($logo_image_url) - { - UrlValidator::validate($logo_image_url, "LogoImageUrl"); - $this->logo_image_url = $logo_image_url; - return $this; - } - - /** - * Logo image url for the incentive. - * - * @return string - */ - public function getLogoImageUrl() - { - return $this->logo_image_url; - } - - /** - * expiry date of the incentive. - * - * @param string $expiry_date - * - * @return $this - */ - public function setExpiryDate($expiry_date) - { - $this->expiry_date = $expiry_date; - return $this; - } - - /** - * expiry date of the incentive. - * - * @return string - */ - public function getExpiryDate() - { - return $this->expiry_date; - } - - /** - * Specifies type of incentive - * Valid Values: ["COUPON", "GIFT_CARD", "MERCHANT_SPECIFIC_BALANCE", "VOUCHER"] - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * Specifies type of incentive - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * URI to the associated terms - * - * @param string $terms - * - * @return $this - */ - public function setTerms($terms) - { - $this->terms = $terms; - return $this; - } - - /** - * URI to the associated terms - * - * @return string - */ - public function getTerms() - { - return $this->terms; - } - -} diff --git a/paypal/PayPal/Api/InputFields.php b/paypal/PayPal/Api/InputFields.php deleted file mode 100644 index 1b8c088..0000000 --- a/paypal/PayPal/Api/InputFields.php +++ /dev/null @@ -1,89 +0,0 @@ -allow_note = $allow_note; - return $this; - } - - /** - * Indicates whether the buyer can enter a note to the merchant on the PayPal page during checkout. - * - * @return bool - */ - public function getAllowNote() - { - return $this->allow_note; - } - - /** - * Indicates whether PayPal displays shipping address fields on the experience pages. Valid value is `0`, `1`, or `2`. Set to `0` to display the shipping address on the PayPal pages. Set to `1` to redact shipping address fields from the PayPal pages. Set to `2` to not pass the shipping address but instead get it from the buyer's account profile. For digital goods, this field is required and value must be `1`. - * - * @param int $no_shipping - * - * @return $this - */ - public function setNoShipping($no_shipping) - { - $this->no_shipping = $no_shipping; - return $this; - } - - /** - * Indicates whether PayPal displays shipping address fields on the experience pages. Valid value is `0`, `1`, or `2`. Set to `0` to display the shipping address on the PayPal pages. Set to `1` to redact shipping address fields from the PayPal pages. Set to `2` to not pass the shipping address but instead get it from the buyer's account profile. For digital goods, this field is required and value must be `1`. - * - * @return int - */ - public function getNoShipping() - { - return $this->no_shipping; - } - - /** - * Indicates whether to display the shipping address that is passed to this call rather than the one on file with PayPal for this buyer on the PayPal experience pages. Valid value is `0` or `1`. Set to `0` to display the shipping address on file. Set to `1` to display the shipping address supplied to this call; the buyer cannot edit this shipping address. - * - * @param int $address_override - * - * @return $this - */ - public function setAddressOverride($address_override) - { - $this->address_override = $address_override; - return $this; - } - - /** - * Indicates whether to display the shipping address that is passed to this call rather than the one on file with PayPal for this buyer on the PayPal experience pages. Valid value is `0` or `1`. Set to `0` to display the shipping address on file. Set to `1` to display the shipping address supplied to this call; the buyer cannot edit this shipping address. - * - * @return int - */ - public function getAddressOverride() - { - return $this->address_override; - } - -} diff --git a/paypal/PayPal/Api/InstallmentInfo.php b/paypal/PayPal/Api/InstallmentInfo.php deleted file mode 100644 index d0cbc51..0000000 --- a/paypal/PayPal/Api/InstallmentInfo.php +++ /dev/null @@ -1,144 +0,0 @@ -installment_id = $installment_id; - return $this; - } - - /** - * Installment id. - * - * @return string - */ - public function getInstallmentId() - { - return $this->installment_id; - } - - /** - * Credit card network. - * Valid Values: ["VISA", "MASTERCARD"] - * - * @param string $network - * - * @return $this - */ - public function setNetwork($network) - { - $this->network = $network; - return $this; - } - - /** - * Credit card network. - * - * @return string - */ - public function getNetwork() - { - return $this->network; - } - - /** - * Credit card issuer. - * - * @param string $issuer - * - * @return $this - */ - public function setIssuer($issuer) - { - $this->issuer = $issuer; - return $this; - } - - /** - * Credit card issuer. - * - * @return string - */ - public function getIssuer() - { - return $this->issuer; - } - - /** - * List of available installment options and the cost associated with each one. - * - * @param \PayPal\Api\InstallmentOption[] $installment_options - * - * @return $this - */ - public function setInstallmentOptions($installment_options) - { - $this->installment_options = $installment_options; - return $this; - } - - /** - * List of available installment options and the cost associated with each one. - * - * @return \PayPal\Api\InstallmentOption[] - */ - public function getInstallmentOptions() - { - return $this->installment_options; - } - - /** - * Append InstallmentOptions to the list. - * - * @param \PayPal\Api\InstallmentOption $installmentOption - * @return $this - */ - public function addInstallmentOption($installmentOption) - { - if (!$this->getInstallmentOptions()) { - return $this->setInstallmentOptions(array($installmentOption)); - } else { - return $this->setInstallmentOptions( - array_merge($this->getInstallmentOptions(), array($installmentOption)) - ); - } - } - - /** - * Remove InstallmentOptions from the list. - * - * @param \PayPal\Api\InstallmentOption $installmentOption - * @return $this - */ - public function removeInstallmentOption($installmentOption) - { - return $this->setInstallmentOptions( - array_diff($this->getInstallmentOptions(), array($installmentOption)) - ); - } - -} diff --git a/paypal/PayPal/Api/InstallmentOption.php b/paypal/PayPal/Api/InstallmentOption.php deleted file mode 100644 index 58e1b92..0000000 --- a/paypal/PayPal/Api/InstallmentOption.php +++ /dev/null @@ -1,113 +0,0 @@ -term = $term; - return $this; - } - - /** - * Number of installments - * - * @return int - */ - public function getTerm() - { - return $this->term; - } - - /** - * Monthly payment - * - * @param \PayPal\Api\Currency $monthly_payment - * - * @return $this - */ - public function setMonthlyPayment($monthly_payment) - { - $this->monthly_payment = $monthly_payment; - return $this; - } - - /** - * Monthly payment - * - * @return \PayPal\Api\Currency - */ - public function getMonthlyPayment() - { - return $this->monthly_payment; - } - - /** - * Discount amount applied to the payment, if any - * - * @param \PayPal\Api\Currency $discount_amount - * - * @return $this - */ - public function setDiscountAmount($discount_amount) - { - $this->discount_amount = $discount_amount; - return $this; - } - - /** - * Discount amount applied to the payment, if any - * - * @return \PayPal\Api\Currency - */ - public function getDiscountAmount() - { - return $this->discount_amount; - } - - /** - * Discount percentage applied to the payment, if any - * - * @param string $discount_percentage - * - * @return $this - */ - public function setDiscountPercentage($discount_percentage) - { - $this->discount_percentage = $discount_percentage; - return $this; - } - - /** - * Discount percentage applied to the payment, if any - * - * @return string - */ - public function getDiscountPercentage() - { - return $this->discount_percentage; - } - -} diff --git a/paypal/PayPal/Api/Invoice.php b/paypal/PayPal/Api/Invoice.php deleted file mode 100644 index 37efa26..0000000 --- a/paypal/PayPal/Api/Invoice.php +++ /dev/null @@ -1,1340 +0,0 @@ -id = $id; - return $this; - } - - /** - * The unique invoice resource identifier. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Unique number that appears on the invoice. If left blank will be auto-incremented from the last number. 25 characters max. - * - * @param string $number - * - * @return $this - */ - public function setNumber($number) - { - $this->number = $number; - return $this; - } - - /** - * Unique number that appears on the invoice. If left blank will be auto-incremented from the last number. 25 characters max. - * - * @return string - */ - public function getNumber() - { - return $this->number; - } - - /** - * The template ID used for the invoice. Useful for copy functionality. - * - * @param string $template_id - * - * @return $this - */ - public function setTemplateId($template_id) - { - $this->template_id = $template_id; - return $this; - } - - /** - * The template ID used for the invoice. Useful for copy functionality. - * - * @return string - */ - public function getTemplateId() - { - return $this->template_id; - } - - /** - * URI of the invoice resource. - * - * @param string $uri - * - * @return $this - */ - public function setUri($uri) - { - $this->uri = $uri; - return $this; - } - - /** - * URI of the invoice resource. - * - * @return string - */ - public function getUri() - { - return $this->uri; - } - - /** - * Status of the invoice. - * Valid Values: ["DRAFT", "SENT", "PAID", "MARKED_AS_PAID", "CANCELLED", "REFUNDED", "PARTIALLY_REFUNDED", "MARKED_AS_REFUNDED", "UNPAID", "PAYMENT_PENDING"] - * - * @param string $status - * - * @return $this - */ - public function setStatus($status) - { - $this->status = $status; - return $this; - } - - /** - * Status of the invoice. - * - * @return string - */ - public function getStatus() - { - return $this->status; - } - - /** - * Information about the merchant who is sending the invoice. - * - * @param \PayPal\Api\MerchantInfo $merchant_info - * - * @return $this - */ - public function setMerchantInfo($merchant_info) - { - $this->merchant_info = $merchant_info; - return $this; - } - - /** - * Information about the merchant who is sending the invoice. - * - * @return \PayPal\Api\MerchantInfo - */ - public function getMerchantInfo() - { - return $this->merchant_info; - } - - /** - * The required invoice recipient email address and any optional billing information. One recipient is supported. - * - * @param \PayPal\Api\BillingInfo[] $billing_info - * - * @return $this - */ - public function setBillingInfo($billing_info) - { - $this->billing_info = $billing_info; - return $this; - } - - /** - * The required invoice recipient email address and any optional billing information. One recipient is supported. - * - * @return \PayPal\Api\BillingInfo[] - */ - public function getBillingInfo() - { - return $this->billing_info; - } - - /** - * Append BillingInfo to the list. - * - * @param \PayPal\Api\BillingInfo $billingInfo - * @return $this - */ - public function addBillingInfo($billingInfo) - { - if (!$this->getBillingInfo()) { - return $this->setBillingInfo(array($billingInfo)); - } else { - return $this->setBillingInfo( - array_merge($this->getBillingInfo(), array($billingInfo)) - ); - } - } - - /** - * Remove BillingInfo from the list. - * - * @param \PayPal\Api\BillingInfo $billingInfo - * @return $this - */ - public function removeBillingInfo($billingInfo) - { - return $this->setBillingInfo( - array_diff($this->getBillingInfo(), array($billingInfo)) - ); - } - - /** - * For invoices sent by email, one or more email addresses to which to send a Cc: copy of the notification. Supports only email addresses under participant. - * - * @param \PayPal\Api\Participant[] $cc_info - * - * @return $this - */ - public function setCcInfo($cc_info) - { - $this->cc_info = $cc_info; - return $this; - } - - /** - * For invoices sent by email, one or more email addresses to which to send a Cc: copy of the notification. Supports only email addresses under participant. - * - * @return \PayPal\Api\Participant[] - */ - public function getCcInfo() - { - return $this->cc_info; - } - - /** - * Append CcInfo to the list. - * - * @param \PayPal\Api\Participant $participant - * @return $this - */ - public function addCcInfo($participant) - { - if (!$this->getCcInfo()) { - return $this->setCcInfo(array($participant)); - } else { - return $this->setCcInfo( - array_merge($this->getCcInfo(), array($participant)) - ); - } - } - - /** - * Remove CcInfo from the list. - * - * @param \PayPal\Api\Participant $participant - * @return $this - */ - public function removeCcInfo($participant) - { - return $this->setCcInfo( - array_diff($this->getCcInfo(), array($participant)) - ); - } - - /** - * The shipping information for entities to whom items are being shipped. - * - * @param \PayPal\Api\ShippingInfo $shipping_info - * - * @return $this - */ - public function setShippingInfo($shipping_info) - { - $this->shipping_info = $shipping_info; - return $this; - } - - /** - * The shipping information for entities to whom items are being shipped. - * - * @return \PayPal\Api\ShippingInfo - */ - public function getShippingInfo() - { - return $this->shipping_info; - } - - /** - * The list of items to include in the invoice. Maximum value is 100 items per invoice. - * - * @param \PayPal\Api\InvoiceItem[] $items - * - * @return $this - */ - public function setItems($items) - { - $this->items = $items; - return $this; - } - - /** - * The list of items to include in the invoice. Maximum value is 100 items per invoice. - * - * @return \PayPal\Api\InvoiceItem[] - */ - public function getItems() - { - return $this->items; - } - - /** - * Append Items to the list. - * - * @param \PayPal\Api\InvoiceItem $invoiceItem - * @return $this - */ - public function addItem($invoiceItem) - { - if (!$this->getItems()) { - return $this->setItems(array($invoiceItem)); - } else { - return $this->setItems( - array_merge($this->getItems(), array($invoiceItem)) - ); - } - } - - /** - * Remove Items from the list. - * - * @param \PayPal\Api\InvoiceItem $invoiceItem - * @return $this - */ - public function removeItem($invoiceItem) - { - return $this->setItems( - array_diff($this->getItems(), array($invoiceItem)) - ); - } - - /** - * The date when the invoice was enabled. The date format is *yyyy*-*MM*-*dd* *z* as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $invoice_date - * - * @return $this - */ - public function setInvoiceDate($invoice_date) - { - $this->invoice_date = $invoice_date; - return $this; - } - - /** - * The date when the invoice was enabled. The date format is *yyyy*-*MM*-*dd* *z* as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getInvoiceDate() - { - return $this->invoice_date; - } - - /** - * Optional. The payment deadline for the invoice. Value is either `term_type` or `due_date` but not both. - * - * @param \PayPal\Api\PaymentTerm $payment_term - * - * @return $this - */ - public function setPaymentTerm($payment_term) - { - $this->payment_term = $payment_term; - return $this; - } - - /** - * Optional. The payment deadline for the invoice. Value is either `term_type` or `due_date` but not both. - * - * @return \PayPal\Api\PaymentTerm - */ - public function getPaymentTerm() - { - return $this->payment_term; - } - - /** - * Reference data, such as PO number, to add to the invoice. Maximum length is 60 characters. - * - * @param string $reference - * - * @return $this - */ - public function setReference($reference) - { - $this->reference = $reference; - return $this; - } - - /** - * Reference data, such as PO number, to add to the invoice. Maximum length is 60 characters. - * - * @return string - */ - public function getReference() - { - return $this->reference; - } - - /** - * The invoice level discount, as a percent or an amount value. - * - * @param \PayPal\Api\Cost $discount - * - * @return $this - */ - public function setDiscount($discount) - { - $this->discount = $discount; - return $this; - } - - /** - * The invoice level discount, as a percent or an amount value. - * - * @return \PayPal\Api\Cost - */ - public function getDiscount() - { - return $this->discount; - } - - /** - * The shipping cost, as a percent or an amount value. - * - * @param \PayPal\Api\ShippingCost $shipping_cost - * - * @return $this - */ - public function setShippingCost($shipping_cost) - { - $this->shipping_cost = $shipping_cost; - return $this; - } - - /** - * The shipping cost, as a percent or an amount value. - * - * @return \PayPal\Api\ShippingCost - */ - public function getShippingCost() - { - return $this->shipping_cost; - } - - /** - * The custom amount to apply on an invoice. If you include a label, the amount cannot be empty. - * - * @param \PayPal\Api\CustomAmount $custom - * - * @return $this - */ - public function setCustom($custom) - { - $this->custom = $custom; - return $this; - } - - /** - * The custom amount to apply on an invoice. If you include a label, the amount cannot be empty. - * - * @return \PayPal\Api\CustomAmount - */ - public function getCustom() - { - return $this->custom; - } - - /** - * Indicates whether the invoice allows a partial payment. If set to `false`, invoice must be paid in full. If set to `true`, the invoice allows partial payments. Default is `false`. - * - * @param bool $allow_partial_payment - * - * @return $this - */ - public function setAllowPartialPayment($allow_partial_payment) - { - $this->allow_partial_payment = $allow_partial_payment; - return $this; - } - - /** - * Indicates whether the invoice allows a partial payment. If set to `false`, invoice must be paid in full. If set to `true`, the invoice allows partial payments. Default is `false`. - * - * @return bool - */ - public function getAllowPartialPayment() - { - return $this->allow_partial_payment; - } - - /** - * If `allow_partial_payment` is set to `true`, the minimum amount allowed for a partial payment. - * - * @param \PayPal\Api\Currency $minimum_amount_due - * - * @return $this - */ - public function setMinimumAmountDue($minimum_amount_due) - { - $this->minimum_amount_due = $minimum_amount_due; - return $this; - } - - /** - * If `allow_partial_payment` is set to `true`, the minimum amount allowed for a partial payment. - * - * @return \PayPal\Api\Currency - */ - public function getMinimumAmountDue() - { - return $this->minimum_amount_due; - } - - /** - * Indicates whether tax is calculated before or after a discount. If set to `false`, the tax is calculated before a discount. If set to `true`, the tax is calculated after a discount. Default is `false`. - * - * @param bool $tax_calculated_after_discount - * - * @return $this - */ - public function setTaxCalculatedAfterDiscount($tax_calculated_after_discount) - { - $this->tax_calculated_after_discount = $tax_calculated_after_discount; - return $this; - } - - /** - * Indicates whether tax is calculated before or after a discount. If set to `false`, the tax is calculated before a discount. If set to `true`, the tax is calculated after a discount. Default is `false`. - * - * @return bool - */ - public function getTaxCalculatedAfterDiscount() - { - return $this->tax_calculated_after_discount; - } - - /** - * Indicates whether the unit price includes tax. Default is `false`. - * - * @param bool $tax_inclusive - * - * @return $this - */ - public function setTaxInclusive($tax_inclusive) - { - $this->tax_inclusive = $tax_inclusive; - return $this; - } - - /** - * Indicates whether the unit price includes tax. Default is `false`. - * - * @return bool - */ - public function getTaxInclusive() - { - return $this->tax_inclusive; - } - - /** - * General terms of the invoice. 4000 characters max. - * - * @param string $terms - * - * @return $this - */ - public function setTerms($terms) - { - $this->terms = $terms; - return $this; - } - - /** - * General terms of the invoice. 4000 characters max. - * - * @return string - */ - public function getTerms() - { - return $this->terms; - } - - /** - * Note to the payer. 4000 characters max. - * - * @param string $note - * - * @return $this - */ - public function setNote($note) - { - $this->note = $note; - return $this; - } - - /** - * Note to the payer. 4000 characters max. - * - * @return string - */ - public function getNote() - { - return $this->note; - } - - /** - * A private bookkeeping memo for the merchant. Maximum length is 150 characters. - * - * @param string $merchant_memo - * - * @return $this - */ - public function setMerchantMemo($merchant_memo) - { - $this->merchant_memo = $merchant_memo; - return $this; - } - - /** - * A private bookkeeping memo for the merchant. Maximum length is 150 characters. - * - * @return string - */ - public function getMerchantMemo() - { - return $this->merchant_memo; - } - - /** - * Full URL of an external image to use as the logo. Maximum length is 4000 characters. - * - * @param string $logo_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setLogoUrl($logo_url) - { - UrlValidator::validate($logo_url, "LogoUrl"); - $this->logo_url = $logo_url; - return $this; - } - - /** - * Full URL of an external image to use as the logo. Maximum length is 4000 characters. - * - * @return string - */ - public function getLogoUrl() - { - return $this->logo_url; - } - - /** - * The total amount of the invoice. - * - * @param \PayPal\Api\Currency $total_amount - * - * @return $this - */ - public function setTotalAmount($total_amount) - { - $this->total_amount = $total_amount; - return $this; - } - - /** - * The total amount of the invoice. - * - * @return \PayPal\Api\Currency - */ - public function getTotalAmount() - { - return $this->total_amount; - } - - /** - * List of payment details for the invoice. - * - * @param \PayPal\Api\PaymentDetail[] $payments - * - * @return $this - */ - public function setPayments($payments) - { - $this->payments = $payments; - return $this; - } - - /** - * List of payment details for the invoice. - * - * @return \PayPal\Api\PaymentDetail[] - */ - public function getPayments() - { - return $this->payments; - } - - /** - * Append Payments to the list. - * - * @param \PayPal\Api\PaymentDetail $paymentDetail - * @return $this - */ - public function addPayment($paymentDetail) - { - if (!$this->getPayments()) { - return $this->setPayments(array($paymentDetail)); - } else { - return $this->setPayments( - array_merge($this->getPayments(), array($paymentDetail)) - ); - } - } - - /** - * Remove Payments from the list. - * - * @param \PayPal\Api\PaymentDetail $paymentDetail - * @return $this - */ - public function removePayment($paymentDetail) - { - return $this->setPayments( - array_diff($this->getPayments(), array($paymentDetail)) - ); - } - - /** - * List of refund details for the invoice. - * - * @param \PayPal\Api\RefundDetail[] $refunds - * - * @return $this - */ - public function setRefunds($refunds) - { - $this->refunds = $refunds; - return $this; - } - - /** - * List of refund details for the invoice. - * - * @return \PayPal\Api\RefundDetail[] - */ - public function getRefunds() - { - return $this->refunds; - } - - /** - * Append Refunds to the list. - * - * @param \PayPal\Api\RefundDetail $refundDetail - * @return $this - */ - public function addRefund($refundDetail) - { - if (!$this->getRefunds()) { - return $this->setRefunds(array($refundDetail)); - } else { - return $this->setRefunds( - array_merge($this->getRefunds(), array($refundDetail)) - ); - } - } - - /** - * Remove Refunds from the list. - * - * @param \PayPal\Api\RefundDetail $refundDetail - * @return $this - */ - public function removeRefund($refundDetail) - { - return $this->setRefunds( - array_diff($this->getRefunds(), array($refundDetail)) - ); - } - - /** - * Audit information for the invoice. - * - * @param \PayPal\Api\Metadata $metadata - * - * @return $this - */ - public function setMetadata($metadata) - { - $this->metadata = $metadata; - return $this; - } - - /** - * Audit information for the invoice. - * - * @return \PayPal\Api\Metadata - */ - public function getMetadata() - { - return $this->metadata; - } - - /** - * Any miscellaneous invoice data. Maximum length is 4000 characters. - * @deprecated Not publicly available - * @param string $additional_data - * - * @return $this - */ - public function setAdditionalData($additional_data) - { - $this->additional_data = $additional_data; - return $this; - } - - /** - * Any miscellaneous invoice data. Maximum length is 4000 characters. - * @deprecated Not publicly available - * @return string - */ - public function getAdditionalData() - { - return $this->additional_data; - } - - /** - * Payment summary of the invoice including amount paid through PayPal and other sources. - * - * @param \PayPal\Api\PaymentSummary $paid_amount - * - * @return $this - */ - public function setPaidAmount($paid_amount) - { - $this->paid_amount = $paid_amount; - return $this; - } - - /** - * Payment summary of the invoice including amount paid through PayPal and other sources. - * - * @return \PayPal\Api\PaymentSummary - */ - public function getPaidAmount() - { - return $this->paid_amount; - } - - /** - * Payment summary of the invoice including amount refunded through PayPal and other sources. - * - * @param \PayPal\Api\PaymentSummary $refunded_amount - * - * @return $this - */ - public function setRefundedAmount($refunded_amount) - { - $this->refunded_amount = $refunded_amount; - return $this; - } - - /** - * Payment summary of the invoice including amount refunded through PayPal and other sources. - * - * @return \PayPal\Api\PaymentSummary - */ - public function getRefundedAmount() - { - return $this->refunded_amount; - } - - /** - * List of files attached to the invoice. - * - * @param \PayPal\Api\FileAttachment[] $attachments - * - * @return $this - */ - public function setAttachments($attachments) - { - $this->attachments = $attachments; - return $this; - } - - /** - * List of files attached to the invoice. - * - * @return \PayPal\Api\FileAttachment[] - */ - public function getAttachments() - { - return $this->attachments; - } - - /** - * Append Attachments to the list. - * - * @param \PayPal\Api\FileAttachment $fileAttachment - * @return $this - */ - public function addAttachment($fileAttachment) - { - if (!$this->getAttachments()) { - return $this->setAttachments(array($fileAttachment)); - } else { - return $this->setAttachments( - array_merge($this->getAttachments(), array($fileAttachment)) - ); - } - } - - /** - * Remove Attachments from the list. - * - * @param \PayPal\Api\FileAttachment $fileAttachment - * @return $this - */ - public function removeAttachment($fileAttachment) - { - return $this->setAttachments( - array_diff($this->getAttachments(), array($fileAttachment)) - ); - } - - /** - * Creates an invoice. Include invoice details including merchant information in the request. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Invoice - */ - public function create($apiContext = null, $restCall = null) - { - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/invoicing/invoices", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Searches for an invoice or invoices. Include a search object that specifies your search criteria in the request. - * - * @param Search $search - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return InvoiceSearchResponse - */ - public static function search($search, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($search, 'search'); - $payLoad = $search->toJSON(); - $json = self::executeCall( - "/v1/invoicing/search", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new InvoiceSearchResponse(); - $ret->fromJson($json); - return $ret; - } - - /** - * Sends an invoice, by ID, to a recipient. Optionally, set the `notify_merchant` query parameter to send the merchant an invoice update notification. By default, `notify_merchant` is `true`. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function send($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = ""; - self::executeCall( - "/v1/invoicing/invoices/{$this->getId()}/send", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Sends a reminder about a specific invoice, by ID, to a recipient. Include a notification object that defines the reminder subject and other details in the JSON request body. - * - * @param Notification $notification - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function remind($notification, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($notification, 'notification'); - $payLoad = $notification->toJSON(); - self::executeCall( - "/v1/invoicing/invoices/{$this->getId()}/remind", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Cancels an invoice, by ID. - * - * @param CancelNotification $cancelNotification - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function cancel($cancelNotification, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($cancelNotification, 'cancelNotification'); - $payLoad = $cancelNotification->toJSON(); - self::executeCall( - "/v1/invoicing/invoices/{$this->getId()}/cancel", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Marks the status of a specified invoice, by ID, as paid. Include a payment detail object that defines the payment method and other details in the JSON request body. - * - * @param PaymentDetail $paymentDetail - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function recordPayment($paymentDetail, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($paymentDetail, 'paymentDetail'); - $payLoad = $paymentDetail->toJSON(); - self::executeCall( - "/v1/invoicing/invoices/{$this->getId()}/record-payment", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Marks the status of a specified invoice, by ID, as refunded. Include a refund detail object that defines the refund type and other details in the JSON request body. - * - * @param RefundDetail $refundDetail - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function recordRefund($refundDetail, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($refundDetail, 'refundDetail'); - $payLoad = $refundDetail->toJSON(); - self::executeCall( - "/v1/invoicing/invoices/{$this->getId()}/record-refund", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Gets the details for a specified invoice, by ID. - * - * @param string $invoiceId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Invoice - */ - public static function get($invoiceId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($invoiceId, 'invoiceId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/invoicing/invoices/$invoiceId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Invoice(); - $ret->fromJson($json); - return $ret; - } - - /** - * Lists some or all merchant invoices. Filters the response by any specified optional query string parameters. - * - * @param array $params - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return InvoiceSearchResponse - */ - public static function getAll($params = array(), $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($params, 'params'); - - $allowedParams = array( - 'page' => 1, - 'page_size' => 1, - 'total_count_required' => 1 - ); - - $payLoad = ""; - $json = self::executeCall( - "/v1/invoicing/invoices/?" . http_build_query(array_intersect_key($params, $allowedParams)), - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new InvoiceSearchResponse(); - $ret->fromJson($json); - return $ret; - } - - /** - * Fully updates an invoice by passing the invoice ID to the request URI. In addition, pass a complete invoice object in the request JSON. Partial updates are not supported. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Invoice - */ - public function update($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/invoicing/invoices/{$this->getId()}", - "PUT", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Delete a particular invoice by passing the invoice ID to the request URI. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function delete($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = ""; - self::executeCall( - "/v1/invoicing/invoices/{$this->getId()}", - "DELETE", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Delete external payment. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function deleteExternalPayment($transactionId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($transactionId, "TransactionId"); - $payLoad = ""; - self::executeCall( - "/v1/invoicing/invoices/{$this->getId()}/payment-records/{$transactionId}", - "DELETE", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Delete external refund. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function deleteExternalRefund($transactionId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($transactionId, "TransactionId"); - $payLoad = ""; - self::executeCall( - "/v1/invoicing/invoices/{$this->getId()}/refund-records/{$transactionId}", - "DELETE", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Generate a QR code for an invoice by passing the invoice ID to the request URI. The request generates a QR code that is 500 pixels in width and height. You can change the dimensions of the returned code by specifying optional query parameters. - * - * @param array $params - * @param string $invoiceId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Image - */ - public static function qrCode($invoiceId, $params = array(), $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($invoiceId, 'invoiceId'); - ArgumentValidator::validate($params, 'params'); - - $allowedParams = array( - 'width' => 1, - 'height' => 1, - 'action' => 1 - ); - - $payLoad = ""; - $json = self::executeCall( - "/v1/invoicing/invoices/$invoiceId/qr-code?" . http_build_query(array_intersect_key($params, $allowedParams)), - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Image(); - $ret->fromJson($json); - return $ret; - } - - /** - * Generates the successive invoice number. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return InvoiceNumber - */ - public static function generateNumber($apiContext = null, $restCall = null) - { - $payLoad = ""; - $json = self::executeCall( - "/v1/invoicing/invoices/next-invoice-number", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new InvoiceNumber(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/InvoiceAddress.php b/paypal/PayPal/Api/InvoiceAddress.php deleted file mode 100644 index 8529df9..0000000 --- a/paypal/PayPal/Api/InvoiceAddress.php +++ /dev/null @@ -1,39 +0,0 @@ -phone = $phone; - return $this; - } - - /** - * Phone number in E.123 format. - * - * @return \PayPal\Api\Phone - */ - public function getPhone() - { - return $this->phone; - } - -} diff --git a/paypal/PayPal/Api/InvoiceItem.php b/paypal/PayPal/Api/InvoiceItem.php deleted file mode 100644 index ee93e3c..0000000 --- a/paypal/PayPal/Api/InvoiceItem.php +++ /dev/null @@ -1,239 +0,0 @@ -name = $name; - return $this; - } - - /** - * Name of the item. 200 characters max. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Description of the item. 1000 characters max. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } - - /** - * Description of the item. 1000 characters max. - * - * @return string - */ - public function getDescription() - { - return $this->description; - } - - /** - * Quantity of the item. Range of -10000 to 10000. - * - * @param string|double $quantity - * - * @return $this - */ - public function setQuantity($quantity) - { - NumericValidator::validate($quantity, "Quantity"); - $quantity = FormatConverter::formatToPrice($quantity); - $this->quantity = $quantity; - return $this; - } - - /** - * Quantity of the item. Range of -10000 to 10000. - * - * @return string - */ - public function getQuantity() - { - return $this->quantity; - } - - /** - * Unit price of the item. Range of -1,000,000 to 1,000,000. - * - * @param \PayPal\Api\Currency $unit_price - * - * @return $this - */ - public function setUnitPrice($unit_price) - { - $this->unit_price = $unit_price; - return $this; - } - - /** - * Unit price of the item. Range of -1,000,000 to 1,000,000. - * - * @return \PayPal\Api\Currency - */ - public function getUnitPrice() - { - return $this->unit_price; - } - - /** - * Tax associated with the item. - * - * @param \PayPal\Api\Tax $tax - * - * @return $this - */ - public function setTax($tax) - { - $this->tax = $tax; - return $this; - } - - /** - * Tax associated with the item. - * - * @return \PayPal\Api\Tax - */ - public function getTax() - { - return $this->tax; - } - - /** - * The date when the item or service was provided. The date format is *yyyy*-*MM*-*dd* *z* as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $date - * - * @return $this - */ - public function setDate($date) - { - $this->date = $date; - return $this; - } - - /** - * The date when the item or service was provided. The date format is *yyyy*-*MM*-*dd* *z* as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getDate() - { - return $this->date; - } - - /** - * The item discount, as a percent or an amount value. - * - * @param \PayPal\Api\Cost $discount - * - * @return $this - */ - public function setDiscount($discount) - { - $this->discount = $discount; - return $this; - } - - /** - * The item discount, as a percent or an amount value. - * - * @return \PayPal\Api\Cost - */ - public function getDiscount() - { - return $this->discount; - } - - /** - * The image URL. Maximum length is 4000 characters. - * @deprecated Not publicly available - * @param string $image_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setImageUrl($image_url) - { - UrlValidator::validate($image_url, "ImageUrl"); - $this->image_url = $image_url; - return $this; - } - - /** - * The image URL. Maximum length is 4000 characters. - * @deprecated Not publicly available - * @return string - */ - public function getImageUrl() - { - return $this->image_url; - } - - /** - * The unit of measure of the item being invoiced. - * Valid Values: ["QUANTITY", "HOURS", "AMOUNT"] - * - * @param string $unit_of_measure - * - * @return $this - */ - public function setUnitOfMeasure($unit_of_measure) - { - $this->unit_of_measure = $unit_of_measure; - return $this; - } - - /** - * The unit of measure of the item being invoiced. - * - * @return string - */ - public function getUnitOfMeasure() - { - return $this->unit_of_measure; - } - -} diff --git a/paypal/PayPal/Api/InvoiceNumber.php b/paypal/PayPal/Api/InvoiceNumber.php deleted file mode 100644 index a3cd2e2..0000000 --- a/paypal/PayPal/Api/InvoiceNumber.php +++ /dev/null @@ -1,38 +0,0 @@ -number = $number; - return $this; - } - - /** - * The next invoice number. - * - * @return string - */ - public function getNumber() { - return $this->number; - } -} diff --git a/paypal/PayPal/Api/InvoiceSearchResponse.php b/paypal/PayPal/Api/InvoiceSearchResponse.php deleted file mode 100644 index 0634eb6..0000000 --- a/paypal/PayPal/Api/InvoiceSearchResponse.php +++ /dev/null @@ -1,95 +0,0 @@ -total_count = $total_count; - return $this; - } - - /** - * Total number of invoices. - * - * @return int - */ - public function getTotalCount() - { - return $this->total_count; - } - - /** - * List of invoices belonging to a merchant. - * - * @param \PayPal\Api\Invoice[] $invoices - * - * @return $this - */ - public function setInvoices($invoices) - { - $this->invoices = $invoices; - return $this; - } - - /** - * List of invoices belonging to a merchant. - * - * @return \PayPal\Api\Invoice[] - */ - public function getInvoices() - { - return $this->invoices; - } - - /** - * Append Invoices to the list. - * - * @param \PayPal\Api\Invoice $invoice - * @return $this - */ - public function addInvoice($invoice) - { - if (!$this->getInvoices()) { - return $this->setInvoices(array($invoice)); - } else { - return $this->setInvoices( - array_merge($this->getInvoices(), array($invoice)) - ); - } - } - - /** - * Remove Invoices from the list. - * - * @param \PayPal\Api\Invoice $invoice - * @return $this - */ - public function removeInvoice($invoice) - { - return $this->setInvoices( - array_diff($this->getInvoices(), array($invoice)) - ); - } - -} diff --git a/paypal/PayPal/Api/Item.php b/paypal/PayPal/Api/Item.php deleted file mode 100644 index 75056ba..0000000 --- a/paypal/PayPal/Api/Item.php +++ /dev/null @@ -1,439 +0,0 @@ -sku = $sku; - return $this; - } - - /** - * Stock keeping unit corresponding (SKU) to item. - * - * @return string - */ - public function getSku() - { - return $this->sku; - } - - /** - * Item name. 127 characters max. - * - * @param string $name - * - * @return $this - */ - public function setName($name) - { - $this->name = $name; - return $this; - } - - /** - * Item name. 127 characters max. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Description of the item. Only supported when the `payment_method` is set to `paypal`. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } - - /** - * Description of the item. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getDescription() - { - return $this->description; - } - - /** - * Number of a particular item. 10 characters max. - * - * @param string $quantity - * - * @return $this - */ - public function setQuantity($quantity) - { - $this->quantity = $quantity; - return $this; - } - - /** - * Number of a particular item. 10 characters max. - * - * @return string - */ - public function getQuantity() - { - return $this->quantity; - } - - /** - * Item cost. 10 characters max. - * - * @param string|double $price - * - * @return $this - */ - public function setPrice($price) - { - NumericValidator::validate($price, "Price"); - $price = FormatConverter::formatToPrice($price, $this->getCurrency()); - $this->price = $price; - return $this; - } - - /** - * Item cost. 10 characters max. - * - * @return string - */ - public function getPrice() - { - return $this->price; - } - - /** - * 3-letter [currency code](https://developer.paypal.com/docs/integration/direct/rest_api_payment_country_currency_support/). - * - * @param string $currency - * - * @return $this - */ - public function setCurrency($currency) - { - $this->currency = $currency; - return $this; - } - - /** - * 3-letter [currency code](https://developer.paypal.com/docs/integration/direct/rest_api_payment_country_currency_support/). - * - * @return string - */ - public function getCurrency() - { - return $this->currency; - } - - /** - * Tax of the item. Only supported when the `payment_method` is set to `paypal`. - * - * @param string|double $tax - * - * @return $this - */ - public function setTax($tax) - { - NumericValidator::validate($tax, "Tax"); - $tax = FormatConverter::formatToPrice($tax, $this->getCurrency()); - $this->tax = $tax; - return $this; - } - - /** - * Tax of the item. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getTax() - { - return $this->tax; - } - - /** - * URL linking to item information. Available to payer in transaction history. - * - * @param string $url - * @throws \InvalidArgumentException - * @return $this - */ - public function setUrl($url) - { - UrlValidator::validate($url, "Url"); - $this->url = $url; - return $this; - } - - /** - * URL linking to item information. Available to payer in transaction history. - * - * @return string - */ - public function getUrl() - { - return $this->url; - } - - /** - * Category type of the item. - * Valid Values: ["DIGITAL", "PHYSICAL"] - * @deprecated Not publicly available - * @param string $category - * - * @return $this - */ - public function setCategory($category) - { - $this->category = $category; - return $this; - } - - /** - * Category type of the item. - * @deprecated Not publicly available - * @return string - */ - public function getCategory() - { - return $this->category; - } - - /** - * Weight of the item. - * @deprecated Not publicly available - * @param \PayPal\Api\Measurement $weight - * - * @return $this - */ - public function setWeight($weight) - { - $this->weight = $weight; - return $this; - } - - /** - * Weight of the item. - * @deprecated Not publicly available - * @return \PayPal\Api\Measurement - */ - public function getWeight() - { - return $this->weight; - } - - /** - * Length of the item. - * @deprecated Not publicly available - * @param \PayPal\Api\Measurement $length - * - * @return $this - */ - public function setLength($length) - { - $this->length = $length; - return $this; - } - - /** - * Length of the item. - * @deprecated Not publicly available - * @return \PayPal\Api\Measurement - */ - public function getLength() - { - return $this->length; - } - - /** - * Height of the item. - * @deprecated Not publicly available - * @param \PayPal\Api\Measurement $height - * - * @return $this - */ - public function setHeight($height) - { - $this->height = $height; - return $this; - } - - /** - * Height of the item. - * @deprecated Not publicly available - * @return \PayPal\Api\Measurement - */ - public function getHeight() - { - return $this->height; - } - - /** - * Width of the item. - * @deprecated Not publicly available - * @param \PayPal\Api\Measurement $width - * - * @return $this - */ - public function setWidth($width) - { - $this->width = $width; - return $this; - } - - /** - * Width of the item. - * @deprecated Not publicly available - * @return \PayPal\Api\Measurement - */ - public function getWidth() - { - return $this->width; - } - - /** - * Set of optional data used for PayPal risk determination. - * @deprecated Not publicly available - * @param \PayPal\Api\NameValuePair[] $supplementary_data - * - * @return $this - */ - public function setSupplementaryData($supplementary_data) - { - $this->supplementary_data = $supplementary_data; - return $this; - } - - /** - * Set of optional data used for PayPal risk determination. - * @deprecated Not publicly available - * @return \PayPal\Api\NameValuePair[] - */ - public function getSupplementaryData() - { - return $this->supplementary_data; - } - - /** - * Append SupplementaryData to the list. - * @deprecated Not publicly available - * @param \PayPal\Api\NameValuePair $nameValuePair - * @return $this - */ - public function addSupplementaryData($nameValuePair) - { - if (!$this->getSupplementaryData()) { - return $this->setSupplementaryData(array($nameValuePair)); - } else { - return $this->setSupplementaryData( - array_merge($this->getSupplementaryData(), array($nameValuePair)) - ); - } - } - - /** - * Remove SupplementaryData from the list. - * @deprecated Not publicly available - * @param \PayPal\Api\NameValuePair $nameValuePair - * @return $this - */ - public function removeSupplementaryData($nameValuePair) - { - return $this->setSupplementaryData( - array_diff($this->getSupplementaryData(), array($nameValuePair)) - ); - } - - /** - * Set of optional data used for PayPal post-transaction notifications. - * @deprecated Not publicly available - * @param \PayPal\Api\NameValuePair[] $postback_data - * - * @return $this - */ - public function setPostbackData($postback_data) - { - $this->postback_data = $postback_data; - return $this; - } - - /** - * Set of optional data used for PayPal post-transaction notifications. - * @deprecated Not publicly available - * @return \PayPal\Api\NameValuePair[] - */ - public function getPostbackData() - { - return $this->postback_data; - } - - /** - * Append PostbackData to the list. - * @deprecated Not publicly available - * @param \PayPal\Api\NameValuePair $nameValuePair - * @return $this - */ - public function addPostbackData($nameValuePair) - { - if (!$this->getPostbackData()) { - return $this->setPostbackData(array($nameValuePair)); - } else { - return $this->setPostbackData( - array_merge($this->getPostbackData(), array($nameValuePair)) - ); - } - } - - /** - * Remove PostbackData from the list. - * @deprecated Not publicly available - * @param \PayPal\Api\NameValuePair $nameValuePair - * @return $this - */ - public function removePostbackData($nameValuePair) - { - return $this->setPostbackData( - array_diff($this->getPostbackData(), array($nameValuePair)) - ); - } - -} diff --git a/paypal/PayPal/Api/ItemList.php b/paypal/PayPal/Api/ItemList.php deleted file mode 100644 index 63ff054..0000000 --- a/paypal/PayPal/Api/ItemList.php +++ /dev/null @@ -1,143 +0,0 @@ -items = array_values($items); - return $this; - } - - /** - * List of items. - * - * @return \PayPal\Api\Item[] - */ - public function getItems() - { - return $this->items; - } - - /** - * Append Items to the list. - * - * @param \PayPal\Api\Item $item - * @return $this - */ - public function addItem($item) - { - if (!$this->getItems()) { - return $this->setItems(array($item)); - } else { - return $this->setItems( - array_merge($this->getItems(), array($item)) - ); - } - } - - /** - * Remove Items from the list. - * - * @param \PayPal\Api\Item $item - * @return $this - */ - public function removeItem($item) - { - return $this->setItems( - array_diff($this->getItems(), array($item)) - ); - } - - /** - * Shipping address. - * - * @param \PayPal\Api\ShippingAddress $shipping_address - * - * @return $this - */ - public function setShippingAddress($shipping_address) - { - $this->shipping_address = $shipping_address; - return $this; - } - - /** - * Shipping address. - * - * @return \PayPal\Api\ShippingAddress - */ - public function getShippingAddress() - { - return $this->shipping_address; - } - - /** - * Shipping method used for this payment like USPSParcel etc. - * - * @param string $shipping_method - * - * @return $this - */ - public function setShippingMethod($shipping_method) - { - $this->shipping_method = $shipping_method; - return $this; - } - - /** - * Shipping method used for this payment like USPSParcel etc. - * - * @return string - */ - public function getShippingMethod() - { - return $this->shipping_method; - } - - /** - * Allows merchant's to share payer’s contact number with PayPal for the current payment. Final contact number of payer associated with the transaction might be same as shipping_phone_number or different based on Payer’s action on PayPal. The phone number must be represented in its canonical international format, as defined by the E.164 numbering plan - * - * @param string $shipping_phone_number - * - * @return $this - */ - public function setShippingPhoneNumber($shipping_phone_number) - { - $this->shipping_phone_number = $shipping_phone_number; - return $this; - } - - /** - * Allows merchant's to share payer’s contact number with PayPal for the current payment. Final contact number of payer associated with the transaction might be same as shipping_phone_number or different based on Payer’s action on PayPal. The phone number must be represented in its canonical international format, as defined by the E.164 numbering plan - * - * @return string - */ - public function getShippingPhoneNumber() - { - return $this->shipping_phone_number; - } - -} diff --git a/paypal/PayPal/Api/Links.php b/paypal/PayPal/Api/Links.php deleted file mode 100644 index 7e00880..0000000 --- a/paypal/PayPal/Api/Links.php +++ /dev/null @@ -1,161 +0,0 @@ -href = $href; - return $this; - } - - /** - * Gets Href - * - * @return string - */ - public function getHref() - { - return $this->href; - } - - /** - * Sets Rel - * - * @param string $rel - * - * @return $this - */ - public function setRel($rel) - { - $this->rel = $rel; - return $this; - } - - /** - * Gets Rel - * - * @return string - */ - public function getRel() - { - return $this->rel; - } - - /** - * Sets TargetSchema - * - * @param \PayPal\Api\HyperSchema $targetSchema - * - * @return $this - */ - public function setTargetSchema($targetSchema) - { - $this->targetSchema = $targetSchema; - return $this; - } - - /** - * Gets TargetSchema - * - * @return \PayPal\Api\HyperSchema - */ - public function getTargetSchema() - { - return $this->targetSchema; - } - - /** - * Sets Method - * - * @param string $method - * - * @return $this - */ - public function setMethod($method) - { - $this->method = $method; - return $this; - } - - /** - * Gets Method - * - * @return string - */ - public function getMethod() - { - return $this->method; - } - - /** - * Sets Enctype - * - * @param string $enctype - * - * @return $this - */ - public function setEnctype($enctype) - { - $this->enctype = $enctype; - return $this; - } - - /** - * Gets Enctype - * - * @return string - */ - public function getEnctype() - { - return $this->enctype; - } - - /** - * Sets Schema - * - * @param \PayPal\Api\HyperSchema $schema - * - * @return $this - */ - public function setSchema($schema) - { - $this->schema = $schema; - return $this; - } - - /** - * Gets Schema - * - * @return \PayPal\Api\HyperSchema - */ - public function getSchema() - { - return $this->schema; - } - -} diff --git a/paypal/PayPal/Api/Measurement.php b/paypal/PayPal/Api/Measurement.php deleted file mode 100644 index 5ae9ace..0000000 --- a/paypal/PayPal/Api/Measurement.php +++ /dev/null @@ -1,65 +0,0 @@ -value = $value; - return $this; - } - - /** - * Value this measurement represents. - * - * @return string - */ - public function getValue() - { - return $this->value; - } - - /** - * Unit in which the value is represented. - * - * @param string $unit - * - * @return $this - */ - public function setUnit($unit) - { - $this->unit = $unit; - return $this; - } - - /** - * Unit in which the value is represented. - * - * @return string - */ - public function getUnit() - { - return $this->unit; - } - -} diff --git a/paypal/PayPal/Api/MerchantInfo.php b/paypal/PayPal/Api/MerchantInfo.php deleted file mode 100644 index 72c561e..0000000 --- a/paypal/PayPal/Api/MerchantInfo.php +++ /dev/null @@ -1,281 +0,0 @@ -email = $email; - return $this; - } - - /** - * The merchant email address. Maximum length is 260 characters. - * - * @return string - */ - public function getEmail() - { - return $this->email; - } - - /** - * The merchant first name. Maximum length is 30 characters. - * - * @param string $first_name - * - * @return $this - */ - public function setFirstName($first_name) - { - $this->first_name = $first_name; - return $this; - } - - /** - * The merchant first name. Maximum length is 30 characters. - * - * @return string - */ - public function getFirstName() - { - return $this->first_name; - } - - /** - * The merchant last name. Maximum length is 30 characters. - * - * @param string $last_name - * - * @return $this - */ - public function setLastName($last_name) - { - $this->last_name = $last_name; - return $this; - } - - /** - * The merchant last name. Maximum length is 30 characters. - * - * @return string - */ - public function getLastName() - { - return $this->last_name; - } - - /** - * The merchant address. - * - * @param \PayPal\Api\InvoiceAddress $address - * - * @return $this - */ - public function setAddress($address) - { - $this->address = $address; - return $this; - } - - /** - * The merchant address. - * - * @return \PayPal\Api\InvoiceAddress - */ - public function getAddress() - { - return $this->address; - } - - /** - * The merchant company business name. Maximum length is 100 characters. - * - * @param string $business_name - * - * @return $this - */ - public function setBusinessName($business_name) - { - $this->business_name = $business_name; - return $this; - } - - /** - * The merchant company business name. Maximum length is 100 characters. - * - * @return string - */ - public function getBusinessName() - { - return $this->business_name; - } - - /** - * The merchant phone number. - * - * @param \PayPal\Api\Phone $phone - * - * @return $this - */ - public function setPhone($phone) - { - $this->phone = $phone; - return $this; - } - - /** - * The merchant phone number. - * - * @return \PayPal\Api\Phone - */ - public function getPhone() - { - return $this->phone; - } - - /** - * The merchant fax number. - * - * @param \PayPal\Api\Phone $fax - * - * @return $this - */ - public function setFax($fax) - { - $this->fax = $fax; - return $this; - } - - /** - * The merchant fax number. - * - * @return \PayPal\Api\Phone - */ - public function getFax() - { - return $this->fax; - } - - /** - * The merchant website. Maximum length is 2048 characters. - * - * @param string $website - * - * @return $this - */ - public function setWebsite($website) - { - $this->website = $website; - return $this; - } - - /** - * The merchant website. Maximum length is 2048 characters. - * - * @return string - */ - public function getWebsite() - { - return $this->website; - } - - /** - * The merchant tax ID. Maximum length is 100 characters. - * - * @param string $tax_id - * - * @return $this - */ - public function setTaxId($tax_id) - { - $this->tax_id = $tax_id; - return $this; - } - - /** - * The merchant tax ID. Maximum length is 100 characters. - * - * @return string - */ - public function getTaxId() - { - return $this->tax_id; - } - - /** - * Option to provide a label to the additional_info field. 40 characters max. - * - * @param string $additional_info_label - * - * @return $this - */ - public function setAdditionalInfoLabel($additional_info_label) - { - $this->additional_info_label = $additional_info_label; - return $this; - } - - /** - * Option to provide a label to the additional_info field. 40 characters max. - * - * @return string - */ - public function getAdditionalInfoLabel() - { - return $this->additional_info_label; - } - - /** - * Additional information, such as business hours. Maximum length is 40 characters. - * - * @param string $additional_info - * - * @return $this - */ - public function setAdditionalInfo($additional_info) - { - $this->additional_info = $additional_info; - return $this; - } - - /** - * Additional information, such as business hours. Maximum length is 40 characters. - * - * @return string - */ - public function getAdditionalInfo() - { - return $this->additional_info; - } - -} diff --git a/paypal/PayPal/Api/MerchantPreferences.php b/paypal/PayPal/Api/MerchantPreferences.php deleted file mode 100644 index b51d604..0000000 --- a/paypal/PayPal/Api/MerchantPreferences.php +++ /dev/null @@ -1,261 +0,0 @@ -id = $id; - return $this; - } - - /** - * Identifier of the merchant_preferences. 128 characters max. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Setup fee amount. Default is 0. - * - * @param \PayPal\Api\Currency $setup_fee - * - * @return $this - */ - public function setSetupFee($setup_fee) - { - $this->setup_fee = $setup_fee; - return $this; - } - - /** - * Setup fee amount. Default is 0. - * - * @return \PayPal\Api\Currency - */ - public function getSetupFee() - { - return $this->setup_fee; - } - - /** - * Redirect URL on cancellation of agreement request. 1000 characters max. - * - * @param string $cancel_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setCancelUrl($cancel_url) - { - UrlValidator::validate($cancel_url, "CancelUrl"); - $this->cancel_url = $cancel_url; - return $this; - } - - /** - * Redirect URL on cancellation of agreement request. 1000 characters max. - * - * @return string - */ - public function getCancelUrl() - { - return $this->cancel_url; - } - - /** - * Redirect URL on creation of agreement request. 1000 characters max. - * - * @param string $return_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setReturnUrl($return_url) - { - UrlValidator::validate($return_url, "ReturnUrl"); - $this->return_url = $return_url; - return $this; - } - - /** - * Redirect URL on creation of agreement request. 1000 characters max. - * - * @return string - */ - public function getReturnUrl() - { - return $this->return_url; - } - - /** - * Notify URL on agreement creation. 1000 characters max. - * - * @param string $notify_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setNotifyUrl($notify_url) - { - UrlValidator::validate($notify_url, "NotifyUrl"); - $this->notify_url = $notify_url; - return $this; - } - - /** - * Notify URL on agreement creation. 1000 characters max. - * - * @return string - */ - public function getNotifyUrl() - { - return $this->notify_url; - } - - /** - * Total number of failed attempts allowed. Default is 0, representing an infinite number of failed attempts. - * - * @param string $max_fail_attempts - * - * @return $this - */ - public function setMaxFailAttempts($max_fail_attempts) - { - $this->max_fail_attempts = $max_fail_attempts; - return $this; - } - - /** - * Total number of failed attempts allowed. Default is 0, representing an infinite number of failed attempts. - * - * @return string - */ - public function getMaxFailAttempts() - { - return $this->max_fail_attempts; - } - - /** - * Allow auto billing for the outstanding amount of the agreement in the next cycle. Allowed values: `YES`, `NO`. Default is `NO`. - * - * @param string $auto_bill_amount - * - * @return $this - */ - public function setAutoBillAmount($auto_bill_amount) - { - $this->auto_bill_amount = $auto_bill_amount; - return $this; - } - - /** - * Allow auto billing for the outstanding amount of the agreement in the next cycle. Allowed values: `YES`, `NO`. Default is `NO`. - * - * @return string - */ - public function getAutoBillAmount() - { - return $this->auto_bill_amount; - } - - /** - * Action to take if a failure occurs during initial payment. Allowed values: `CONTINUE`, `CANCEL`. Default is continue. - * - * @param string $initial_fail_amount_action - * - * @return $this - */ - public function setInitialFailAmountAction($initial_fail_amount_action) - { - $this->initial_fail_amount_action = $initial_fail_amount_action; - return $this; - } - - /** - * Action to take if a failure occurs during initial payment. Allowed values: `CONTINUE`, `CANCEL`. Default is continue. - * - * @return string - */ - public function getInitialFailAmountAction() - { - return $this->initial_fail_amount_action; - } - - /** - * Payment types that are accepted for this plan. - * - * @param string $accepted_payment_type - * - * @return $this - */ - public function setAcceptedPaymentType($accepted_payment_type) - { - $this->accepted_payment_type = $accepted_payment_type; - return $this; - } - - /** - * Payment types that are accepted for this plan. - * - * @return string - */ - public function getAcceptedPaymentType() - { - return $this->accepted_payment_type; - } - - /** - * char_set for this plan. - * - * @param string $char_set - * - * @return $this - */ - public function setCharSet($char_set) - { - $this->char_set = $char_set; - return $this; - } - - /** - * char_set for this plan. - * - * @return string - */ - public function getCharSet() - { - return $this->char_set; - } - -} diff --git a/paypal/PayPal/Api/Metadata.php b/paypal/PayPal/Api/Metadata.php deleted file mode 100644 index 8cddb02..0000000 --- a/paypal/PayPal/Api/Metadata.php +++ /dev/null @@ -1,259 +0,0 @@ -created_date = $created_date; - return $this; - } - - /** - * The date and time when the resource was created. - * - * @return string - */ - public function getCreatedDate() - { - return $this->created_date; - } - - /** - * The email address of the account that created the resource. - * - * @param string $created_by - * - * @return $this - */ - public function setCreatedBy($created_by) - { - $this->created_by = $created_by; - return $this; - } - - /** - * The email address of the account that created the resource. - * - * @return string - */ - public function getCreatedBy() - { - return $this->created_by; - } - - /** - * The date and time when the resource was cancelled. - * - * @param string $cancelled_date - * - * @return $this - */ - public function setCancelledDate($cancelled_date) - { - $this->cancelled_date = $cancelled_date; - return $this; - } - - /** - * The date and time when the resource was cancelled. - * - * @return string - */ - public function getCancelledDate() - { - return $this->cancelled_date; - } - - /** - * The actor who cancelled the resource. - * - * @param string $cancelled_by - * - * @return $this - */ - public function setCancelledBy($cancelled_by) - { - $this->cancelled_by = $cancelled_by; - return $this; - } - - /** - * The actor who cancelled the resource. - * - * @return string - */ - public function getCancelledBy() - { - return $this->cancelled_by; - } - - /** - * The date and time when the resource was last edited. - * - * @param string $last_updated_date - * - * @return $this - */ - public function setLastUpdatedDate($last_updated_date) - { - $this->last_updated_date = $last_updated_date; - return $this; - } - - /** - * The date and time when the resource was last edited. - * - * @return string - */ - public function getLastUpdatedDate() - { - return $this->last_updated_date; - } - - /** - * The email address of the account that last edited the resource. - * - * @param string $last_updated_by - * - * @return $this - */ - public function setLastUpdatedBy($last_updated_by) - { - $this->last_updated_by = $last_updated_by; - return $this; - } - - /** - * The email address of the account that last edited the resource. - * - * @return string - */ - public function getLastUpdatedBy() - { - return $this->last_updated_by; - } - - /** - * The date and time when the resource was first sent. - * - * @param string $first_sent_date - * - * @return $this - */ - public function setFirstSentDate($first_sent_date) - { - $this->first_sent_date = $first_sent_date; - return $this; - } - - /** - * The date and time when the resource was first sent. - * - * @return string - */ - public function getFirstSentDate() - { - return $this->first_sent_date; - } - - /** - * The date and time when the resource was last sent. - * - * @param string $last_sent_date - * - * @return $this - */ - public function setLastSentDate($last_sent_date) - { - $this->last_sent_date = $last_sent_date; - return $this; - } - - /** - * The date and time when the resource was last sent. - * - * @return string - */ - public function getLastSentDate() - { - return $this->last_sent_date; - } - - /** - * The email address of the account that last sent the resource. - * - * @param string $last_sent_by - * - * @return $this - */ - public function setLastSentBy($last_sent_by) - { - $this->last_sent_by = $last_sent_by; - return $this; - } - - /** - * The email address of the account that last sent the resource. - * - * @return string - */ - public function getLastSentBy() - { - return $this->last_sent_by; - } - - /** - * URL representing the payer's view of the invoice. - * - * @param string $payer_view_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setPayerViewUrl($payer_view_url) - { - UrlValidator::validate($payer_view_url, "PayerViewUrl"); - $this->payer_view_url = $payer_view_url; - return $this; - } - - /** - * URL representing the payer's view of the invoice. - * - * @return string - */ - public function getPayerViewUrl() - { - return $this->payer_view_url; - } - -} diff --git a/paypal/PayPal/Api/NameValuePair.php b/paypal/PayPal/Api/NameValuePair.php deleted file mode 100644 index 4e32720..0000000 --- a/paypal/PayPal/Api/NameValuePair.php +++ /dev/null @@ -1,65 +0,0 @@ -name = $name; - return $this; - } - - /** - * Key for the name value pair. The value name types should be correlated - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Value for the name value pair. - * - * @param string $value - * - * @return $this - */ - public function setValue($value) - { - $this->value = $value; - return $this; - } - - /** - * Value for the name value pair. - * - * @return string - */ - public function getValue() - { - return $this->value; - } - -} diff --git a/paypal/PayPal/Api/Notification.php b/paypal/PayPal/Api/Notification.php deleted file mode 100644 index 9b5a772..0000000 --- a/paypal/PayPal/Api/Notification.php +++ /dev/null @@ -1,143 +0,0 @@ -subject = $subject; - return $this; - } - - /** - * Subject of the notification. - * - * @return string - */ - public function getSubject() - { - return $this->subject; - } - - /** - * Note to the payer. - * - * @param string $note - * - * @return $this - */ - public function setNote($note) - { - $this->note = $note; - return $this; - } - - /** - * Note to the payer. - * - * @return string - */ - public function getNote() - { - return $this->note; - } - - /** - * Indicates whether to send a copy of the email to the merchant. - * - * @param bool $send_to_merchant - * - * @return $this - */ - public function setSendToMerchant($send_to_merchant) - { - $this->send_to_merchant = $send_to_merchant; - return $this; - } - - /** - * Indicates whether to send a copy of the email to the merchant. - * - * @return bool - */ - public function getSendToMerchant() - { - return $this->send_to_merchant; - } - - /** - * Applicable for invoices created with Cc emails. If this field is not in the body, all the cc email addresses added as part of the invoice shall be notified else this field can be used to limit the list of email addresses. Note: additional email addresses are not supported. - * - * @param string[] $cc_emails - * - * @return $this - */ - public function setCcEmails($cc_emails) - { - $this->cc_emails = $cc_emails; - return $this; - } - - /** - * Applicable for invoices created with Cc emails. If this field is not in the body, all the cc email addresses added as part of the invoice shall be notified else this field can be used to limit the list of email addresses. Note: additional email addresses are not supported. - * - * @return string[] - */ - public function getCcEmails() - { - return $this->cc_emails; - } - - /** - * Append CcEmails to the list. - * - * @param string $string - * @return $this - */ - public function addCcEmail($string) - { - if (!$this->getCcEmails()) { - return $this->setCcEmails(array($string)); - } else { - return $this->setCcEmails( - array_merge($this->getCcEmails(), array($string)) - ); - } - } - - /** - * Remove CcEmails from the list. - * - * @param string $string - * @return $this - */ - public function removeCcEmail($string) - { - return $this->setCcEmails( - array_diff($this->getCcEmails(), array($string)) - ); - } - -} diff --git a/paypal/PayPal/Api/OpenIdAddress.php b/paypal/PayPal/Api/OpenIdAddress.php deleted file mode 100644 index 306abf6..0000000 --- a/paypal/PayPal/Api/OpenIdAddress.php +++ /dev/null @@ -1,133 +0,0 @@ -street_address = $street_address; - return $this; - } - - /** - * Full street address component, which may include house number, street name. - * - * @return string - */ - public function getStreetAddress() - { - return $this->street_address; - } - - /** - * City or locality component. - * - * @param string $locality - * @return self - */ - public function setLocality($locality) - { - $this->locality = $locality; - return $this; - } - - /** - * City or locality component. - * - * @return string - */ - public function getLocality() - { - return $this->locality; - } - - /** - * State, province, prefecture or region component. - * - * @param string $region - * @return self - */ - public function setRegion($region) - { - $this->region = $region; - return $this; - } - - /** - * State, province, prefecture or region component. - * - * @return string - */ - public function getRegion() - { - return $this->region; - } - - /** - * Zip code or postal code component. - * - * @param string $postal_code - * @return self - */ - public function setPostalCode($postal_code) - { - $this->postal_code = $postal_code; - return $this; - } - - /** - * Zip code or postal code component. - * - * @return string - */ - public function getPostalCode() - { - return $this->postal_code; - } - - /** - * Country name component. - * - * @param string $country - * @return self - */ - public function setCountry($country) - { - $this->country = $country; - return $this; - } - - /** - * Country name component. - * - * @return string - */ - public function getCountry() - { - return $this->country; - } - - -} diff --git a/paypal/PayPal/Api/OpenIdError.php b/paypal/PayPal/Api/OpenIdError.php deleted file mode 100644 index 4b9b956..0000000 --- a/paypal/PayPal/Api/OpenIdError.php +++ /dev/null @@ -1,85 +0,0 @@ -error = $error; - return $this; - } - - /** - * A single ASCII error code from the following enum. - * - * @return string - */ - public function getError() - { - return $this->error; - } - - /** - * A resource ID that indicates the starting resource in the returned results. - * - * @param string $error_description - * @return self - */ - public function setErrorDescription($error_description) - { - $this->error_description = $error_description; - return $this; - } - - /** - * A resource ID that indicates the starting resource in the returned results. - * - * @return string - */ - public function getErrorDescription() - { - return $this->error_description; - } - - /** - * A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error. - * - * @param string $error_uri - * @return self - */ - public function setErrorUri($error_uri) - { - $this->error_uri = $error_uri; - return $this; - } - - /** - * A URI identifying a human-readable web page with information about the error, used to provide the client developer with additional information about the error. - * - * @return string - */ - public function getErrorUri() - { - return $this->error_uri; - } - - -} diff --git a/paypal/PayPal/Api/OpenIdSession.php b/paypal/PayPal/Api/OpenIdSession.php deleted file mode 100644 index ad26af6..0000000 --- a/paypal/PayPal/Api/OpenIdSession.php +++ /dev/null @@ -1,107 +0,0 @@ -getConfig(); - - if ($apiContext->get($clientId)) { - $clientId = $apiContext->get($clientId); - } - - $clientId = $clientId ? $clientId : $apiContext->getCredential()->getClientId(); - - $scope = count($scope) != 0 ? $scope : array('openid', 'profile', 'address', 'email', 'phone', - 'https://uri.paypal.com/services/paypalattributes', 'https://uri.paypal.com/services/expresscheckout'); - if (!in_array('openid', $scope)) { - $scope[] = 'openid'; - } - - $params = array( - 'client_id' => $clientId, - 'response_type' => 'code', - 'scope' => implode(" ", $scope), - 'redirect_uri' => $redirectUri - ); - - if ($nonce) { - $params['nonce'] = $nonce; - } - if ($state) { - $params['state'] = $state; - } - return sprintf("%s/signin/authorize?%s", self::getBaseUrl($config), http_build_query($params)); - } - - - /** - * Returns the URL to which the user must be redirected to - * logout from the OpenID provider (i.e. PayPal) - * - * @param string $redirectUri Uri on merchant website to where - * the user must be redirected to post logout - * @param string $idToken id_token from the TokenInfo object - * @param ApiContext $apiContext Optional API Context - * @return string logout URL - */ - public static function getLogoutUrl($redirectUri, $idToken, $apiContext = null) - { - - if (is_null($apiContext)) { - $apiContext = new ApiContext(); - } - $config = $apiContext->getConfig(); - - $params = array( - 'id_token' => $idToken, - 'redirect_uri' => $redirectUri, - 'logout' => 'true' - ); - return sprintf("%s/webapps/auth/protocol/openidconnect/v1/endsession?%s", self::getBaseUrl($config), http_build_query($params)); - } - - /** - * Gets the base URL for the Redirect URI - * - * @param $config - * @return null|string - */ - private static function getBaseUrl($config) - { - - if (array_key_exists('openid.RedirectUri', $config)) { - return $config['openid.RedirectUri']; - } else if (array_key_exists('mode', $config)) { - switch (strtoupper($config['mode'])) { - case 'SANDBOX': - return PayPalConstants::OPENID_REDIRECT_SANDBOX_URL; - case 'LIVE': - return PayPalConstants::OPENID_REDIRECT_LIVE_URL; - } - } - return null; - } -} diff --git a/paypal/PayPal/Api/OpenIdTokeninfo.php b/paypal/PayPal/Api/OpenIdTokeninfo.php deleted file mode 100644 index ccd23da..0000000 --- a/paypal/PayPal/Api/OpenIdTokeninfo.php +++ /dev/null @@ -1,255 +0,0 @@ -scope = $scope; - return $this; - } - - /** - * OPTIONAL, if identical to the scope requested by the client; otherwise, REQUIRED. - * - * @return string - */ - public function getScope() - { - return $this->scope; - } - - /** - * The access token issued by the authorization server. - * - * @param string $access_token - * @return self - */ - public function setAccessToken($access_token) - { - $this->access_token = $access_token; - return $this; - } - - /** - * The access token issued by the authorization server. - * - * @return string - */ - public function getAccessToken() - { - return $this->access_token; - } - - /** - * The refresh token, which can be used to obtain new access tokens using the same authorization grant as described in OAuth2.0 RFC6749 in Section 6. - * - * @param string $refresh_token - * @return self - */ - public function setRefreshToken($refresh_token) - { - $this->refresh_token = $refresh_token; - return $this; - } - - /** - * The refresh token, which can be used to obtain new access tokens using the same authorization grant as described in OAuth2.0 RFC6749 in Section 6. - * - * @return string - */ - public function getRefreshToken() - { - return $this->refresh_token; - } - - /** - * The type of the token issued as described in OAuth2.0 RFC6749 (Section 7.1). Value is case insensitive. - * - * @param string $token_type - * @return self - */ - public function setTokenType($token_type) - { - $this->token_type = $token_type; - return $this; - } - - /** - * The type of the token issued as described in OAuth2.0 RFC6749 (Section 7.1). Value is case insensitive. - * - * @return string - */ - public function getTokenType() - { - return $this->token_type; - } - - /** - * The id_token is a session token assertion that denotes the user's authentication status - * - * @param string $id_token - * @return self - */ - public function setIdToken($id_token) - { - $this->id_token = $id_token; - return $this; - } - - /** - * The id_token is a session token assertion that denotes the user's authentication status - * - * @return string - */ - public function getIdToken() - { - return $this->id_token; - } - - /** - * The lifetime in seconds of the access token. - * - * @param integer $expires_in - * @return self - */ - public function setExpiresIn($expires_in) - { - $this->expires_in = $expires_in; - return $this; - } - - /** - * The lifetime in seconds of the access token. - * - * @return integer - */ - public function getExpiresIn() - { - return $this->expires_in; - } - - - /** - * Creates an Access Token from an Authorization Code. - * - * @path /v1/identity/openidconnect/tokenservice - * @method POST - * @param array $params (allowed values are client_id, client_secret, grant_type, code and redirect_uri) - * (required) client_id from developer portal - * (required) client_secret from developer portal - * (required) code is Authorization code previously received from the authorization server - * (required) redirect_uri Redirection endpoint that must match the one provided during the - * authorization request that ended in receiving the authorization code. - * (optional) grant_type is the Token grant type. Defaults to authorization_code - * @param string $clientId - * @param string $clientSecret - * @param ApiContext $apiContext Optional API Context - * @param PayPalRestCall $restCall - * @return OpenIdTokeninfo - */ - public static function createFromAuthorizationCode($params, $clientId = null, $clientSecret = null, $apiContext = null, $restCall = null) - { - static $allowedParams = array('grant_type' => 1, 'code' => 1, 'redirect_uri' => 1); - - if (!array_key_exists('grant_type', $params)) { - $params['grant_type'] = 'authorization_code'; - } - $apiContext = $apiContext ? $apiContext : new ApiContext(self::$credential); - - if (sizeof($apiContext->get($clientId)) > 0) { - $clientId = $apiContext->get($clientId); - } - - if (sizeof($apiContext->get($clientSecret)) > 0) { - $clientSecret = $apiContext->get($clientSecret); - } - - $clientId = $clientId ? $clientId : $apiContext->getCredential()->getClientId(); - $clientSecret = $clientSecret ? $clientSecret : $apiContext->getCredential()->getClientSecret(); - - $json = self::executeCall( - "/v1/identity/openidconnect/tokenservice", - "POST", - http_build_query(array_intersect_key($params, $allowedParams)), - array( - 'Content-Type' => 'application/x-www-form-urlencoded', - 'Authorization' => 'Basic ' . base64_encode($clientId . ":" . $clientSecret) - ), - $apiContext, - $restCall - ); - $token = new OpenIdTokeninfo(); - $token->fromJson($json); - return $token; - } - - /** - * Creates an Access Token from an Refresh Token. - * - * @path /v1/identity/openidconnect/tokenservice - * @method POST - * @param array $params (allowed values are grant_type and scope) - * (required) client_id from developer portal - * (required) client_secret from developer portal - * (optional) refresh_token refresh token. If one is not passed, refresh token from the current object is used. - * (optional) grant_type is the Token grant type. Defaults to refresh_token - * (optional) scope is an array that either the same or a subset of the scope passed to the authorization request - * @param APIContext $apiContext Optional API Context - * @param PayPalRestCall $restCall - * @return OpenIdTokeninfo - */ - public function createFromRefreshToken($params, $apiContext = null, $restCall = null) - { - static $allowedParams = array('grant_type' => 1, 'refresh_token' => 1, 'scope' => 1); - $apiContext = $apiContext ? $apiContext : new ApiContext(self::$credential); - - if (!array_key_exists('grant_type', $params)) { - $params['grant_type'] = 'refresh_token'; - } - if (!array_key_exists('refresh_token', $params)) { - $params['refresh_token'] = $this->getRefreshToken(); - } - - $clientId = isset($params['client_id']) ? $params['client_id'] : $apiContext->getCredential()->getClientId(); - $clientSecret = isset($params['client_secret']) ? $params['client_secret'] : $apiContext->getCredential()->getClientSecret(); - - $json = self::executeCall( - "/v1/identity/openidconnect/tokenservice", - "POST", - http_build_query(array_intersect_key($params, $allowedParams)), - array( - 'Content-Type' => 'application/x-www-form-urlencoded', - 'Authorization' => 'Basic ' . base64_encode($clientId . ":" . $clientSecret) - ), - $apiContext, - $restCall - ); - - $this->fromJson($json); - return $this; - } -} diff --git a/paypal/PayPal/Api/OpenIdUserinfo.php b/paypal/PayPal/Api/OpenIdUserinfo.php deleted file mode 100644 index b6d1f6e..0000000 --- a/paypal/PayPal/Api/OpenIdUserinfo.php +++ /dev/null @@ -1,540 +0,0 @@ -user_id = $user_id; - return $this; - } - - /** - * Subject - Identifier for the End-User at the Issuer. - * - * @return string - */ - public function getUserId() - { - return $this->user_id; - } - - /** - * Subject - Identifier for the End-User at the Issuer. - * - * @param string $sub - * @return self - */ - public function setSub($sub) - { - $this->sub = $sub; - return $this; - } - - /** - * Subject - Identifier for the End-User at the Issuer. - * - * @return string - */ - public function getSub() - { - return $this->sub; - } - - /** - * End-User's full name in displayable form including all name parts, possibly including titles and suffixes, ordered according to the End-User's locale and preferences. - * - * @param string $name - * @return self - */ - public function setName($name) - { - $this->name = $name; - return $this; - } - - /** - * End-User's full name in displayable form including all name parts, possibly including titles and suffixes, ordered according to the End-User's locale and preferences. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Given name(s) or first name(s) of the End-User - * - * @param string $given_name - * @return self - */ - public function setGivenName($given_name) - { - $this->given_name = $given_name; - return $this; - } - - /** - * Given name(s) or first name(s) of the End-User - * - * @return string - */ - public function getGivenName() - { - return $this->given_name; - } - - /** - * Surname(s) or last name(s) of the End-User. - * - * @param string $family_name - * @return self - */ - public function setFamilyName($family_name) - { - $this->family_name = $family_name; - return $this; - } - - /** - * Surname(s) or last name(s) of the End-User. - * - * @return string - */ - public function getFamilyName() - { - return $this->family_name; - } - - /** - * Middle name(s) of the End-User. - * - * @param string $middle_name - * @return self - */ - public function setMiddleName($middle_name) - { - $this->middle_name = $middle_name; - return $this; - } - - /** - * Middle name(s) of the End-User. - * - * @return string - */ - public function getMiddleName() - { - return $this->middle_name; - } - - /** - * URL of the End-User's profile picture. - * - * @param string $picture - * @return self - */ - public function setPicture($picture) - { - $this->picture = $picture; - return $this; - } - - /** - * URL of the End-User's profile picture. - * - * @return string - */ - public function getPicture() - { - return $this->picture; - } - - /** - * End-User's preferred e-mail address. - * - * @param string $email - * @return self - */ - public function setEmail($email) - { - $this->email = $email; - return $this; - } - - /** - * End-User's preferred e-mail address. - * - * @return string - */ - public function getEmail() - { - return $this->email; - } - - /** - * True if the End-User's e-mail address has been verified; otherwise false. - * - * @param boolean $email_verified - * @return self - */ - public function setEmailVerified($email_verified) - { - $this->email_verified = $email_verified; - return $this; - } - - /** - * True if the End-User's e-mail address has been verified; otherwise false. - * - * @return boolean - */ - public function getEmailVerified() - { - return $this->email_verified; - } - - /** - * End-User's gender. - * - * @param string $gender - * @return self - */ - public function setGender($gender) - { - $this->gender = $gender; - return $this; - } - - /** - * End-User's gender. - * - * @return string - */ - public function getGender() - { - return $this->gender; - } - - /** - * End-User's birthday, represented as an YYYY-MM-DD format. They year MAY be 0000, indicating it is omited. To represent only the year, YYYY format would be used. - * - * @param string $birthday - * @return self - */ - public function setBirthday($birthday) - { - $this->birthday = $birthday; - return $this; - } - - /** - * End-User's birthday, represented as an YYYY-MM-DD format. They year MAY be 0000, indicating it is omited. To represent only the year, YYYY format would be used. - * - * @return string - */ - public function getBirthday() - { - return $this->birthday; - } - - /** - * Time zone database representing the End-User's time zone - * - * @param string $zoneinfo - * @return self - */ - public function setZoneinfo($zoneinfo) - { - $this->zoneinfo = $zoneinfo; - return $this; - } - - /** - * Time zone database representing the End-User's time zone - * - * @return string - */ - public function getZoneinfo() - { - return $this->zoneinfo; - } - - /** - * End-User's locale. - * - * @param string $locale - * @return self - */ - public function setLocale($locale) - { - $this->locale = $locale; - return $this; - } - - /** - * End-User's locale. - * - * @return string - */ - public function getLocale() - { - return $this->locale; - } - - /** - * End-User's language. - * - * @param string $language - * @return self - */ - public function setLanguage($language) - { - $this->language = $language; - return $this; - } - - /** - * End-User's language. - * - * @return string - */ - public function getLanguage() - { - return $this->language; - } - - /** - * End-User's verified status. - * - * @param boolean $verified - * @return self - */ - public function setVerified($verified) - { - $this->verified = $verified; - return $this; - } - - /** - * End-User's verified status. - * - * @return boolean - */ - public function getVerified() - { - return $this->verified; - } - - /** - * End-User's preferred telephone number. - * - * @param string $phone_number - * @return self - */ - public function setPhoneNumber($phone_number) - { - $this->phone_number = $phone_number; - return $this; - } - - /** - * End-User's preferred telephone number. - * - * @return string - */ - public function getPhoneNumber() - { - return $this->phone_number; - } - - /** - * End-User's preferred address. - * - * @param \PayPal\Api\OpenIdAddress $address - * @return self - */ - public function setAddress($address) - { - $this->address = $address; - return $this; - } - - /** - * End-User's preferred address. - * - * @return \PayPal\Api\OpenIdAddress - */ - public function getAddress() - { - return $this->address; - } - - /** - * Verified account status. - * - * @param boolean $verified_account - * @return self - */ - public function setVerifiedAccount($verified_account) - { - $this->verified_account = $verified_account; - return $this; - } - - /** - * Verified account status. - * - * @return boolean - */ - public function getVerifiedAccount() - { - return $this->verified_account; - } - - /** - * Account type. - * - * @param string $account_type - * @return self - */ - public function setAccountType($account_type) - { - $this->account_type = $account_type; - return $this; - } - - /** - * Account type. - * - * @return string - */ - public function getAccountType() - { - return $this->account_type; - } - - /** - * Account holder age range. - * - * @param string $age_range - * @return self - */ - public function setAgeRange($age_range) - { - $this->age_range = $age_range; - return $this; - } - - /** - * Account holder age range. - * - * @return string - */ - public function getAgeRange() - { - return $this->age_range; - } - - /** - * Account payer identifier. - * - * @param string $payer_id - * @return self - */ - public function setPayerId($payer_id) - { - $this->payer_id = $payer_id; - return $this; - } - - /** - * Account payer identifier. - * - * @return string - */ - public function getPayerId() - { - return $this->payer_id; - } - - - /** - * returns user details - * - * @path /v1/identity/openidconnect/userinfo - * @method GET - * @param array $params (allowed values are access_token) - * access_token - access token from the createFromAuthorizationCode / createFromRefreshToken calls - * @param ApiContext $apiContext Optional API Context - * @param PayPalRestCall $restCall - * @return OpenIdUserinfo - */ - public static function getUserinfo($params, $apiContext = null, $restCall = null) - { - static $allowedParams = array('schema' => 1); - - $params = is_array($params) ? $params : array(); - - if (!array_key_exists('schema', $params)) { - $params['schema'] = 'openid'; - } - $requestUrl = "/v1/identity/openidconnect/userinfo?" - . http_build_query(array_intersect_key($params, $allowedParams)); - - $json = self::executeCall( - $requestUrl, - "GET", - "", - array( - 'Authorization' => "Bearer " . $params['access_token'], - 'Content-Type' => 'x-www-form-urlencoded' - ), - $apiContext, - $restCall - ); - - $ret = new OpenIdUserinfo(); - $ret->fromJson($json); - - return $ret; - } -} diff --git a/paypal/PayPal/Api/Order.php b/paypal/PayPal/Api/Order.php deleted file mode 100644 index 13312cc..0000000 --- a/paypal/PayPal/Api/Order.php +++ /dev/null @@ -1,464 +0,0 @@ -id = $id; - return $this; - } - - /** - * Identifier of the order transaction. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Identifier to the purchase unit associated with this object. Obsolete. Use one in cart_base. - * - * @deprecated Use #setReferenceId instead - * - * @param string $purchase_unit_reference_id - * - * @return $this - */ - public function setPurchaseUnitReferenceId($purchase_unit_reference_id) - { - $this->purchase_unit_reference_id = $purchase_unit_reference_id; - return $this; - } - - /** - * Identifier to the purchase unit associated with this object. Obsolete. Use one in cart_base. - * @deprecated Use #getReferenceId instead - * - * @return string - */ - public function getPurchaseUnitReferenceId() - { - return $this->purchase_unit_reference_id; - } - - /** - * Identifier to the purchase unit associated with this object. Obsolete. Use one in cart_base. - * - * @param string $reference_id - * - * @return $this - */ - public function setReferenceId($reference_id) - { - $this->reference_id = $reference_id; - return $this; - } - - /** - * Identifier to the purchase unit associated with this object. Obsolete. Use one in cart_base. - * - * @return string - */ - public function getReferenceId() - { - return $this->reference_id; - } - - /** - * Amount being collected. - * - * @param \PayPal\Api\Amount $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Amount being collected. - * - * @return \PayPal\Api\Amount - */ - public function getAmount() - { - return $this->amount; - } - - /** - * specifies payment mode of the transaction - * Valid Values: ["INSTANT_TRANSFER", "MANUAL_BANK_TRANSFER", "DELAYED_TRANSFER", "ECHECK"] - * - * @param string $payment_mode - * - * @return $this - */ - public function setPaymentMode($payment_mode) - { - $this->payment_mode = $payment_mode; - return $this; - } - - /** - * specifies payment mode of the transaction - * - * @return string - */ - public function getPaymentMode() - { - return $this->payment_mode; - } - - /** - * State of the order transaction. - * Valid Values: ["pending", "completed", "voided", "authorized", "captured"] - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * State of the order transaction. - * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * Reason code for the transaction state being Pending or Reversed. This field will replace pending_reason field eventually. Only supported when the `payment_method` is set to `paypal`. - * Valid Values: ["PAYER_SHIPPING_UNCONFIRMED", "MULTI_CURRENCY", "RISK_REVIEW", "REGULATORY_REVIEW", "VERIFICATION_REQUIRED", "ORDER", "OTHER"] - * - * @param string $reason_code - * - * @return $this - */ - public function setReasonCode($reason_code) - { - $this->reason_code = $reason_code; - return $this; - } - - /** - * Reason code for the transaction state being Pending or Reversed. This field will replace pending_reason field eventually. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getReasonCode() - { - return $this->reason_code; - } - - /** - * [DEPRECATED] Reason code for the transaction state being Pending. Obsolete. Retained for backward compatability. Use reason_code field above instead. - * Valid Values: ["payer_shipping_unconfirmed", "multi_currency", "risk_review", "regulatory_review", "verification_required", "order", "other"] - * - * @param string $pending_reason - * - * @return $this - */ - public function setPendingReason($pending_reason) - { - $this->pending_reason = $pending_reason; - return $this; - } - - /** - * @deprecated [DEPRECATED] Reason code for the transaction state being Pending. Obsolete. Retained for backward compatability. Use reason_code field above instead. - * - * @return string - */ - public function getPendingReason() - { - return $this->pending_reason; - } - - /** - * The level of seller protection in force for the transaction. - * Valid Values: ["ELIGIBLE", "PARTIALLY_ELIGIBLE", "INELIGIBLE"] - * - * @param string $protection_eligibility - * - * @return $this - */ - public function setProtectionEligibility($protection_eligibility) - { - $this->protection_eligibility = $protection_eligibility; - return $this; - } - - /** - * The level of seller protection in force for the transaction. - * - * @return string - */ - public function getProtectionEligibility() - { - return $this->protection_eligibility; - } - - /** - * The kind of seller protection in force for the transaction. This property is returned only when the `protection_eligibility` property is set to `ELIGIBLE`or `PARTIALLY_ELIGIBLE`. Only supported when the `payment_method` is set to `paypal`. Allowed values:
`ITEM_NOT_RECEIVED_ELIGIBLE`- Sellers are protected against claims for items not received.
`UNAUTHORIZED_PAYMENT_ELIGIBLE`- Sellers are protected against claims for unauthorized payments.
One or both of the allowed values can be returned. - * Valid Values: ["ITEM_NOT_RECEIVED_ELIGIBLE", "UNAUTHORIZED_PAYMENT_ELIGIBLE", "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE"] - * - * @param string $protection_eligibility_type - * - * @return $this - */ - public function setProtectionEligibilityType($protection_eligibility_type) - { - $this->protection_eligibility_type = $protection_eligibility_type; - return $this; - } - - /** - * The kind of seller protection in force for the transaction. This property is returned only when the `protection_eligibility` property is set to `ELIGIBLE`or `PARTIALLY_ELIGIBLE`. Only supported when the `payment_method` is set to `paypal`. Allowed values:
`ITEM_NOT_RECEIVED_ELIGIBLE`- Sellers are protected against claims for items not received.
`UNAUTHORIZED_PAYMENT_ELIGIBLE`- Sellers are protected against claims for unauthorized payments.
One or both of the allowed values can be returned. - * - * @return string - */ - public function getProtectionEligibilityType() - { - return $this->protection_eligibility_type; - } - - /** - * ID of the Payment resource that this transaction is based on. - * - * @param string $parent_payment - * - * @return $this - */ - public function setParentPayment($parent_payment) - { - $this->parent_payment = $parent_payment; - return $this; - } - - /** - * ID of the Payment resource that this transaction is based on. - * - * @return string - */ - public function getParentPayment() - { - return $this->parent_payment; - } - - /** - * Fraud Management Filter (FMF) details applied for the payment that could result in accept/deny/pending action. - * - * @param \PayPal\Api\FmfDetails $fmf_details - * - * @return $this - */ - public function setFmfDetails($fmf_details) - { - $this->fmf_details = $fmf_details; - return $this; - } - - /** - * Fraud Management Filter (FMF) details applied for the payment that could result in accept/deny/pending action. - * - * @return \PayPal\Api\FmfDetails - */ - public function getFmfDetails() - { - return $this->fmf_details; - } - - /** - * Time the resource was created in UTC ISO8601 format. - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * Time the resource was created in UTC ISO8601 format. - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * Time the resource was last updated in UTC ISO8601 format. - * - * @param string $update_time - * - * @return $this - */ - public function setUpdateTime($update_time) - { - $this->update_time = $update_time; - return $this; - } - - /** - * Time the resource was last updated in UTC ISO8601 format. - * - * @return string - */ - public function getUpdateTime() - { - return $this->update_time; - } - - /** - * Shows details for an order, by ID. - * - * @param string $orderId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Order - */ - public static function get($orderId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($orderId, 'orderId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/orders/$orderId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Order(); - $ret->fromJson($json); - return $ret; - } - - /** - * Captures a payment for an order, by ID. To use this call, the original payment call must specify an intent of `order`. In the JSON request body, include the payment amount and indicate whether this capture is the final capture for the authorization. - * - * @param Capture $capture - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Capture - */ - public function capture($capture, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($capture, 'capture'); - $payLoad = $capture->toJSON(); - $json = self::executeCall( - "/v1/payments/orders/{$this->getId()}/capture", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Capture(); - $ret->fromJson($json); - return $ret; - } - - /** - * Voids, or cancels, an order, by ID. You cannot void an order if a payment has already been partially or fully captured. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Order - */ - public function void($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/orders/{$this->getId()}/do-void", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Authorizes an order, by ID. Include an `amount` object in the JSON request body. - * - * @param Authorization $authorization Authorization Object with Amount value to be authorized - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Authorization - */ - public function authorize($authorization, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($authorization, 'Authorization'); - $payLoad = $authorization->toJSON(); - $json = self::executeCall( - "/v1/payments/orders/{$this->getId()}/authorize", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Authorization(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/OverrideChargeModel.php b/paypal/PayPal/Api/OverrideChargeModel.php deleted file mode 100644 index b911c17..0000000 --- a/paypal/PayPal/Api/OverrideChargeModel.php +++ /dev/null @@ -1,65 +0,0 @@ -charge_id = $charge_id; - return $this; - } - - /** - * ID of charge model. - * - * @return string - */ - public function getChargeId() - { - return $this->charge_id; - } - - /** - * Updated Amount to be associated with this charge model. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Updated Amount to be associated with this charge model. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - -} diff --git a/paypal/PayPal/Api/Participant.php b/paypal/PayPal/Api/Participant.php deleted file mode 100644 index 0f8e6d0..0000000 --- a/paypal/PayPal/Api/Participant.php +++ /dev/null @@ -1,233 +0,0 @@ -email = $email; - return $this; - } - - /** - * The participant email address. - * - * @return string - */ - public function getEmail() - { - return $this->email; - } - - /** - * The participant first name. - * - * @param string $first_name - * - * @return $this - */ - public function setFirstName($first_name) - { - $this->first_name = $first_name; - return $this; - } - - /** - * The participant first name. - * - * @return string - */ - public function getFirstName() - { - return $this->first_name; - } - - /** - * The participant last name. - * - * @param string $last_name - * - * @return $this - */ - public function setLastName($last_name) - { - $this->last_name = $last_name; - return $this; - } - - /** - * The participant last name. - * - * @return string - */ - public function getLastName() - { - return $this->last_name; - } - - /** - * The participant company business name. - * - * @param string $business_name - * - * @return $this - */ - public function setBusinessName($business_name) - { - $this->business_name = $business_name; - return $this; - } - - /** - * The participant company business name. - * - * @return string - */ - public function getBusinessName() - { - return $this->business_name; - } - - /** - * The participant phone number. - * - * @param \PayPal\Api\Phone $phone - * - * @return $this - */ - public function setPhone($phone) - { - $this->phone = $phone; - return $this; - } - - /** - * The participant phone number. - * - * @return \PayPal\Api\Phone - */ - public function getPhone() - { - return $this->phone; - } - - /** - * The participant fax number. - * - * @param \PayPal\Api\Phone $fax - * - * @return $this - */ - public function setFax($fax) - { - $this->fax = $fax; - return $this; - } - - /** - * The participant fax number. - * - * @return \PayPal\Api\Phone - */ - public function getFax() - { - return $this->fax; - } - - /** - * The participant website. - * - * @param string $website - * - * @return $this - */ - public function setWebsite($website) - { - $this->website = $website; - return $this; - } - - /** - * The participant website. - * - * @return string - */ - public function getWebsite() - { - return $this->website; - } - - /** - * Additional information, such as business hours. - * - * @param string $additional_info - * - * @return $this - */ - public function setAdditionalInfo($additional_info) - { - $this->additional_info = $additional_info; - return $this; - } - - /** - * Additional information, such as business hours. - * - * @return string - */ - public function getAdditionalInfo() - { - return $this->additional_info; - } - - /** - * The participant address. - * - * @param \PayPal\Api\Address $address - * - * @return $this - */ - public function setAddress($address) - { - $this->address = $address; - return $this; - } - - /** - * The participant address. - * - * @return \PayPal\Api\Address - */ - public function getAddress() - { - return $this->address; - } - -} diff --git a/paypal/PayPal/Api/Patch.php b/paypal/PayPal/Api/Patch.php deleted file mode 100644 index 68a6fa8..0000000 --- a/paypal/PayPal/Api/Patch.php +++ /dev/null @@ -1,114 +0,0 @@ -op = $op; - return $this; - } - - /** - * The operation to perform. - * - * @return string - */ - public function getOp() - { - return $this->op; - } - - /** - * A JSON pointer that references a location in the target document where the operation is performed. A `string` value. - * - * @param string $path - * - * @return $this - */ - public function setPath($path) - { - $this->path = $path; - return $this; - } - - /** - * A JSON pointer that references a location in the target document where the operation is performed. A `string` value. - * - * @return string - */ - public function getPath() - { - return $this->path; - } - - /** - * New value to apply based on the operation. - * - * @param mixed $value - * - * @return $this - */ - public function setValue($value) - { - $this->value = $value; - return $this; - } - - /** - * New value to apply based on the operation. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } - - /** - * A string containing a JSON Pointer value that references the location in the target document to move the value from. - * - * @param string $from - * - * @return $this - */ - public function setFrom($from) - { - $this->from = $from; - return $this; - } - - /** - * A string containing a JSON Pointer value that references the location in the target document to move the value from. - * - * @return string - */ - public function getFrom() - { - return $this->from; - } - -} diff --git a/paypal/PayPal/Api/PatchRequest.php b/paypal/PayPal/Api/PatchRequest.php deleted file mode 100644 index 2f44686..0000000 --- a/paypal/PayPal/Api/PatchRequest.php +++ /dev/null @@ -1,86 +0,0 @@ -patches = $patches; - return $this; - } - - /** - * Placeholder for holding array of patch objects - * - * @return \PayPal\Api\Patch[] - */ - public function getPatches() - { - return $this->patches; - } - - /** - * Append Patches to the list. - * - * @param \PayPal\Api\Patch $patch - * @return $this - */ - public function addPatch($patch) - { - if (!$this->getPatches()) { - return $this->setPatches(array($patch)); - } else { - return $this->setPatches( - array_merge($this->getPatches(), array($patch)) - ); - } - } - - /** - * Remove Patches from the list. - * - * @param \PayPal\Api\Patch $patch - * @return $this - */ - public function removePatch($patch) - { - return $this->setPatches( - array_diff($this->getPatches(), array($patch)) - ); - } - - /** - * As PatchRequest holds the array of Patch object, we would override the json conversion to return - * a json representation of array of Patch objects. - * - * @param int $options - * @return mixed|string - */ - public function toJSON($options = 0) - { - $json = array(); - foreach ($this->getPatches() as $patch) { - $json[] = $patch->toArray(); - } - return str_replace('\\/', '/', json_encode($json, $options)); - } -} diff --git a/paypal/PayPal/Api/Payee.php b/paypal/PayPal/Api/Payee.php deleted file mode 100644 index 22594b9..0000000 --- a/paypal/PayPal/Api/Payee.php +++ /dev/null @@ -1,157 +0,0 @@ -email = $email; - return $this; - } - - /** - * Email Address associated with the Payee's PayPal Account. If the provided email address is not associated with any PayPal Account, the payee can only receive PayPal Wallet Payments. Direct Credit Card Payments will be denied due to card compliance requirements. - * - * @return string - */ - public function getEmail() - { - return $this->email; - } - - /** - * Encrypted PayPal account identifier for the Payee. - * - * @param string $merchant_id - * - * @return $this - */ - public function setMerchantId($merchant_id) - { - $this->merchant_id = $merchant_id; - return $this; - } - - /** - * Encrypted PayPal account identifier for the Payee. - * - * @return string - */ - public function getMerchantId() - { - return $this->merchant_id; - } - - /** - * First Name of the Payee. - * @deprecated Not publicly available - * @param string $first_name - * - * @return $this - */ - public function setFirstName($first_name) - { - $this->first_name = $first_name; - return $this; - } - - /** - * First Name of the Payee. - * @deprecated Not publicly available - * @return string - */ - public function getFirstName() - { - return $this->first_name; - } - - /** - * Last Name of the Payee. - * @deprecated Not publicly available - * @param string $last_name - * - * @return $this - */ - public function setLastName($last_name) - { - $this->last_name = $last_name; - return $this; - } - - /** - * Last Name of the Payee. - * @deprecated Not publicly available - * @return string - */ - public function getLastName() - { - return $this->last_name; - } - - /** - * Unencrypted PayPal account Number of the Payee - * @deprecated Not publicly available - * @param string $account_number - * - * @return $this - */ - public function setAccountNumber($account_number) - { - $this->account_number = $account_number; - return $this; - } - - /** - * Unencrypted PayPal account Number of the Payee - * @deprecated Not publicly available - * @return string - */ - public function getAccountNumber() - { - return $this->account_number; - } - - /** - * Information related to the Payee. - * @deprecated Not publicly available - * @param \PayPal\Api\Phone $phone - * - * @return $this - */ - public function setPhone($phone) - { - $this->phone = $phone; - return $this; - } - - /** - * Information related to the Payee. - * @deprecated Not publicly available - * @return \PayPal\Api\Phone - */ - public function getPhone() - { - return $this->phone; - } - -} diff --git a/paypal/PayPal/Api/Payer.php b/paypal/PayPal/Api/Payer.php deleted file mode 100644 index 1b36887..0000000 --- a/paypal/PayPal/Api/Payer.php +++ /dev/null @@ -1,288 +0,0 @@ -payment_method = $payment_method; - return $this; - } - - /** - * Payment method being used - PayPal Wallet payment, Bank Direct Debit or Direct Credit card. - * - * @return string - */ - public function getPaymentMethod() - { - return $this->payment_method; - } - - /** - * Status of payer's PayPal Account. - * Valid Values: ["VERIFIED", "UNVERIFIED"] - * - * @param string $status - * - * @return $this - */ - public function setStatus($status) - { - $this->status = $status; - return $this; - } - - /** - * Status of payer's PayPal Account. - * - * @return string - */ - public function getStatus() - { - return $this->status; - } - - /** - * Type of account relationship payer has with PayPal. - * Valid Values: ["BUSINESS", "PERSONAL", "PREMIER"] - * @deprecated Not publicly available - * @param string $account_type - * - * @return $this - */ - public function setAccountType($account_type) - { - $this->account_type = $account_type; - return $this; - } - - /** - * Type of account relationship payer has with PayPal. - * @deprecated Not publicly available - * @return string - */ - public function getAccountType() - { - return $this->account_type; - } - - /** - * Duration since the payer established account relationship with PayPal in days. - * @deprecated Not publicly available - * @param string $account_age - * - * @return $this - */ - public function setAccountAge($account_age) - { - $this->account_age = $account_age; - return $this; - } - - /** - * Duration since the payer established account relationship with PayPal in days. - * @deprecated Not publicly available - * @return string - */ - public function getAccountAge() - { - return $this->account_age; - } - - /** - * List of funding instruments to fund the payment. 'OneOf' funding_instruments,funding_option_id to be used to identify the specifics of payment method passed. - * - * @param \PayPal\Api\FundingInstrument[] $funding_instruments - * - * @return $this - */ - public function setFundingInstruments($funding_instruments) - { - $this->funding_instruments = $funding_instruments; - return $this; - } - - /** - * List of funding instruments to fund the payment. 'OneOf' funding_instruments,funding_option_id to be used to identify the specifics of payment method passed. - * - * @return \PayPal\Api\FundingInstrument[] - */ - public function getFundingInstruments() - { - return $this->funding_instruments; - } - - /** - * Append FundingInstruments to the list. - * - * @param \PayPal\Api\FundingInstrument $fundingInstrument - * @return $this - */ - public function addFundingInstrument($fundingInstrument) - { - if (!$this->getFundingInstruments()) { - return $this->setFundingInstruments(array($fundingInstrument)); - } else { - return $this->setFundingInstruments( - array_merge($this->getFundingInstruments(), array($fundingInstrument)) - ); - } - } - - /** - * Remove FundingInstruments from the list. - * - * @param \PayPal\Api\FundingInstrument $fundingInstrument - * @return $this - */ - public function removeFundingInstrument($fundingInstrument) - { - return $this->setFundingInstruments( - array_diff($this->getFundingInstruments(), array($fundingInstrument)) - ); - } - - /** - * Id of user selected funding option for the payment.'OneOf' funding_instruments,funding_option_id to be used to identify the specifics of payment method passed. - * @deprecated Not publicly available - * @param string $funding_option_id - * - * @return $this - */ - public function setFundingOptionId($funding_option_id) - { - $this->funding_option_id = $funding_option_id; - return $this; - } - - /** - * Id of user selected funding option for the payment.'OneOf' funding_instruments,funding_option_id to be used to identify the specifics of payment method passed. - * @deprecated Not publicly available - * @return string - */ - public function getFundingOptionId() - { - return $this->funding_option_id; - } - - /** - * Default funding option available for the payment - * @deprecated Not publicly available - * @param \PayPal\Api\FundingOption $funding_option - * - * @return $this - */ - public function setFundingOption($funding_option) - { - $this->funding_option = $funding_option; - return $this; - } - - /** - * Default funding option available for the payment - * @deprecated Not publicly available - * @return \PayPal\Api\FundingOption - */ - public function getFundingOption() - { - return $this->funding_option; - } - - /** - * Instrument type pre-selected by the user outside of PayPal and passed along the payment creation. This param is used in cases such as PayPal Credit Second Button - * Valid Values: ["CREDIT", "PAY_UPON_INVOICE"] - * - * @param string $external_selected_funding_instrument_type - * - * @return $this - */ - public function setExternalSelectedFundingInstrumentType($external_selected_funding_instrument_type) - { - $this->external_selected_funding_instrument_type = $external_selected_funding_instrument_type; - return $this; - } - - /** - * Instrument type pre-selected by the user outside of PayPal and passed along the payment creation. This param is used in cases such as PayPal Credit Second Button - * - * @return string - */ - public function getExternalSelectedFundingInstrumentType() - { - return $this->external_selected_funding_instrument_type; - } - - /** - * Funding option related to default funding option. - * @deprecated Not publicly available - * @param \PayPal\Api\FundingOption $related_funding_option - * - * @return $this - */ - public function setRelatedFundingOption($related_funding_option) - { - $this->related_funding_option = $related_funding_option; - return $this; - } - - /** - * Funding option related to default funding option. - * @deprecated Not publicly available - * @return \PayPal\Api\FundingOption - */ - public function getRelatedFundingOption() - { - return $this->related_funding_option; - } - - /** - * Information related to the Payer. - * - * @param \PayPal\Api\PayerInfo $payer_info - * - * @return $this - */ - public function setPayerInfo($payer_info) - { - $this->payer_info = $payer_info; - return $this; - } - - /** - * Information related to the Payer. - * - * @return \PayPal\Api\PayerInfo - */ - public function getPayerInfo() - { - return $this->payer_info; - } - -} diff --git a/paypal/PayPal/Api/PayerInfo.php b/paypal/PayPal/Api/PayerInfo.php deleted file mode 100644 index ae70c65..0000000 --- a/paypal/PayPal/Api/PayerInfo.php +++ /dev/null @@ -1,453 +0,0 @@ -email = $email; - return $this; - } - - /** - * Email address representing the payer. 127 characters max. - * - * @return string - */ - public function getEmail() - { - return $this->email; - } - - /** - * External Remember Me id representing the payer - * - * @param string $external_remember_me_id - * - * @return $this - */ - public function setExternalRememberMeId($external_remember_me_id) - { - $this->external_remember_me_id = $external_remember_me_id; - return $this; - } - - /** - * External Remember Me id representing the payer - * - * @return string - */ - public function getExternalRememberMeId() - { - return $this->external_remember_me_id; - } - - /** - * Account Number representing the Payer - * - * @deprecated Use #setBuyerAccountNumberInstead - * @param string $account_number - * - * @return $this - */ - public function setAccountNumber($account_number) - { - $this->account_number = $account_number; - return $this; - } - - /** - * Account Number representing the Payer - * - * @deprecated Use #getBuyerAccountNumberInstead - * - * @deprecated Not publicly available - * @return string - */ - public function getAccountNumber() - { - return $this->account_number; - } - - /** - * Account Number representing the Payer - * - * @param string $buyer_account_number - * - * @return $this - */ - public function setBuyerAccountNumber($buyer_account_number) - { - $this->buyer_account_number = $buyer_account_number; - return $this; - } - - /** - * Account Number representing the Payer - * - * @return string - */ - public function getBuyerAccountNumber() - { - return $this->buyer_account_number; - } - - /** - * Salutation of the payer. - * - * @param string $salutation - * - * @return $this - */ - public function setSalutation($salutation) - { - $this->salutation = $salutation; - return $this; - } - - /** - * Salutation of the payer. - * - * @return string - */ - public function getSalutation() - { - return $this->salutation; - } - - /** - * First name of the payer. - * - * @param string $first_name - * - * @return $this - */ - public function setFirstName($first_name) - { - $this->first_name = $first_name; - return $this; - } - - /** - * First name of the payer. - * - * @return string - */ - public function getFirstName() - { - return $this->first_name; - } - - /** - * Middle name of the payer. - * - * @param string $middle_name - * - * @return $this - */ - public function setMiddleName($middle_name) - { - $this->middle_name = $middle_name; - return $this; - } - - /** - * Middle name of the payer. - * - * @return string - */ - public function getMiddleName() - { - return $this->middle_name; - } - - /** - * Last name of the payer. - * - * @param string $last_name - * - * @return $this - */ - public function setLastName($last_name) - { - $this->last_name = $last_name; - return $this; - } - - /** - * Last name of the payer. - * - * @return string - */ - public function getLastName() - { - return $this->last_name; - } - - /** - * Suffix of the payer. - * - * @param string $suffix - * - * @return $this - */ - public function setSuffix($suffix) - { - $this->suffix = $suffix; - return $this; - } - - /** - * Suffix of the payer. - * - * @return string - */ - public function getSuffix() - { - return $this->suffix; - } - - /** - * PayPal assigned encrypted Payer ID. - * - * @param string $payer_id - * - * @return $this - */ - public function setPayerId($payer_id) - { - $this->payer_id = $payer_id; - return $this; - } - - /** - * PayPal assigned encrypted Payer ID. - * - * @return string - */ - public function getPayerId() - { - return $this->payer_id; - } - - /** - * Phone number representing the payer. 20 characters max. - * - * @param string $phone - * - * @return $this - */ - public function setPhone($phone) - { - $this->phone = $phone; - return $this; - } - - /** - * Phone number representing the payer. 20 characters max. - * - * @return string - */ - public function getPhone() - { - return $this->phone; - } - - /** - * Phone type - * Valid Values: ["HOME", "WORK", "MOBILE", "OTHER"] - * - * @param string $phone_type - * - * @return $this - */ - public function setPhoneType($phone_type) - { - $this->phone_type = $phone_type; - return $this; - } - - /** - * Phone type - * - * @return string - */ - public function getPhoneType() - { - return $this->phone_type; - } - - /** - * Birth date of the Payer in ISO8601 format (yyyy-mm-dd). - * - * @param string $birth_date - * - * @return $this - */ - public function setBirthDate($birth_date) - { - $this->birth_date = $birth_date; - return $this; - } - - /** - * Birth date of the Payer in ISO8601 format (yyyy-mm-dd). - * - * @return string - */ - public function getBirthDate() - { - return $this->birth_date; - } - - /** - * Payer’s tax ID. Only supported when the `payment_method` is set to `paypal`. - * - * @param string $tax_id - * - * @return $this - */ - public function setTaxId($tax_id) - { - $this->tax_id = $tax_id; - return $this; - } - - /** - * Payer’s tax ID. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getTaxId() - { - return $this->tax_id; - } - - /** - * Payer’s tax ID type. Allowed values: `BR_CPF` or `BR_CNPJ`. Only supported when the `payment_method` is set to `paypal`. - * Valid Values: ["BR_CPF", "BR_CNPJ"] - * - * @param string $tax_id_type - * - * @return $this - */ - public function setTaxIdType($tax_id_type) - { - $this->tax_id_type = $tax_id_type; - return $this; - } - - /** - * Payer’s tax ID type. Allowed values: `BR_CPF` or `BR_CNPJ`. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getTaxIdType() - { - return $this->tax_id_type; - } - - /** - * Two-letter registered country code of the payer to identify the buyer country. - * - * @param string $country_code - * - * @return $this - */ - public function setCountryCode($country_code) - { - $this->country_code = $country_code; - return $this; - } - - /** - * Two-letter registered country code of the payer to identify the buyer country. - * - * @return string - */ - public function getCountryCode() - { - return $this->country_code; - } - - /** - * Billing address of the Payer. - * - * @param \PayPal\Api\Address $billing_address - * - * @return $this - */ - public function setBillingAddress($billing_address) - { - $this->billing_address = $billing_address; - return $this; - } - - /** - * Billing address of the Payer. - * - * @return \PayPal\Api\Address - */ - public function getBillingAddress() - { - return $this->billing_address; - } - - /** - * @deprecated [DEPRECATED] Use shipping address present in purchase unit or at root level of checkout Session. - * - * @param \PayPal\Api\ShippingAddress $shipping_address - * - * @return $this - */ - public function setShippingAddress($shipping_address) - { - $this->shipping_address = $shipping_address; - return $this; - } - - /** - * @deprecated [DEPRECATED] Use shipping address present in purchase unit or at root level of checkout Session. - * - * @return \PayPal\Api\ShippingAddress - */ - public function getShippingAddress() - { - return $this->shipping_address; - } - -} diff --git a/paypal/PayPal/Api/Payment.php b/paypal/PayPal/Api/Payment.php deleted file mode 100644 index 3197485..0000000 --- a/paypal/PayPal/Api/Payment.php +++ /dev/null @@ -1,691 +0,0 @@ -id = $id; - return $this; - } - - /** - * Identifier of the payment resource created. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Payment intent. - * Valid Values: ["sale", "authorize", "order"] - * - * @param string $intent - * - * @return $this - */ - public function setIntent($intent) - { - $this->intent = $intent; - return $this; - } - - /** - * Payment intent. - * - * @return string - */ - public function getIntent() - { - return $this->intent; - } - - /** - * Source of the funds for this payment represented by a PayPal account or a direct credit card. - * - * @param \PayPal\Api\Payer $payer - * - * @return $this - */ - public function setPayer($payer) - { - $this->payer = $payer; - return $this; - } - - /** - * Source of the funds for this payment represented by a PayPal account or a direct credit card. - * - * @return \PayPal\Api\Payer - */ - public function getPayer() - { - return $this->payer; - } - - /** - * Information that the merchant knows about the payer. This information is not definitive and only serves as a hint to the UI or any pre-processing logic. - * @deprecated Not publicly available - * @param \PayPal\Api\PotentialPayerInfo $potential_payer_info - * - * @return $this - */ - public function setPotentialPayerInfo($potential_payer_info) - { - $this->potential_payer_info = $potential_payer_info; - return $this; - } - - /** - * Information that the merchant knows about the payer. This information is not definitive and only serves as a hint to the UI or any pre-processing logic. - * @deprecated Not publicly available - * @return \PayPal\Api\PotentialPayerInfo - */ - public function getPotentialPayerInfo() - { - return $this->potential_payer_info; - } - - /** - * Receiver of funds for this payment. - * @param \PayPal\Api\Payee $payee - * - * @return $this - */ - public function setPayee($payee) - { - $this->payee = $payee; - return $this; - } - - /** - * Receiver of funds for this payment. - * @return \PayPal\Api\Payee - */ - public function getPayee() - { - return $this->payee; - } - - /** - * ID of the cart to execute the payment. - * @deprecated Not publicly available - * @param string $cart - * - * @return $this - */ - public function setCart($cart) - { - $this->cart = $cart; - return $this; - } - - /** - * ID of the cart to execute the payment. - * @deprecated Not publicly available - * @return string - */ - public function getCart() - { - return $this->cart; - } - - /** - * Transactional details including the amount and item details. - * - * @param \PayPal\Api\Transaction[] $transactions - * - * @return $this - */ - public function setTransactions($transactions) - { - $this->transactions = $transactions; - return $this; - } - - /** - * Transactional details including the amount and item details. - * - * @return \PayPal\Api\Transaction[] - */ - public function getTransactions() - { - return $this->transactions; - } - - /** - * Append Transactions to the list. - * - * @param \PayPal\Api\Transaction $transaction - * @return $this - */ - public function addTransaction($transaction) - { - if (!$this->getTransactions()) { - return $this->setTransactions(array($transaction)); - } else { - return $this->setTransactions( - array_merge($this->getTransactions(), array($transaction)) - ); - } - } - - /** - * Remove Transactions from the list. - * - * @param \PayPal\Api\Transaction $transaction - * @return $this - */ - public function removeTransaction($transaction) - { - return $this->setTransactions( - array_diff($this->getTransactions(), array($transaction)) - ); - } - - /** - * Applicable for advanced payments like multi seller payment (MSP) to support partial failures - * @deprecated Not publicly available - * @param \PayPal\Api\Error[] $failed_transactions - * - * @return $this - */ - public function setFailedTransactions($failed_transactions) - { - $this->failed_transactions = $failed_transactions; - return $this; - } - - /** - * Applicable for advanced payments like multi seller payment (MSP) to support partial failures - * @deprecated Not publicly available - * @return \PayPal\Api\Error[] - */ - public function getFailedTransactions() - { - return $this->failed_transactions; - } - - /** - * Append FailedTransactions to the list. - * @deprecated Not publicly available - * @param \PayPal\Api\Error $error - * @return $this - */ - public function addFailedTransaction($error) - { - if (!$this->getFailedTransactions()) { - return $this->setFailedTransactions(array($error)); - } else { - return $this->setFailedTransactions( - array_merge($this->getFailedTransactions(), array($error)) - ); - } - } - - /** - * Remove FailedTransactions from the list. - * @deprecated Not publicly available - * @param \PayPal\Api\Error $error - * @return $this - */ - public function removeFailedTransaction($error) - { - return $this->setFailedTransactions( - array_diff($this->getFailedTransactions(), array($error)) - ); - } - - /** - * Collection of PayPal generated billing agreement tokens. - * @deprecated Not publicly available - * @param string[] $billing_agreement_tokens - * - * @return $this - */ - public function setBillingAgreementTokens($billing_agreement_tokens) - { - $this->billing_agreement_tokens = $billing_agreement_tokens; - return $this; - } - - /** - * Collection of PayPal generated billing agreement tokens. - * @deprecated Not publicly available - * @return string[] - */ - public function getBillingAgreementTokens() - { - return $this->billing_agreement_tokens; - } - - /** - * Append BillingAgreementTokens to the list. - * @deprecated Not publicly available - * @param string $billingAgreementToken - * @return $this - */ - public function addBillingAgreementToken($billingAgreementToken) - { - if (!$this->getBillingAgreementTokens()) { - return $this->setBillingAgreementTokens(array($billingAgreementToken)); - } else { - return $this->setBillingAgreementTokens( - array_merge($this->getBillingAgreementTokens(), array($billingAgreementToken)) - ); - } - } - - /** - * Remove BillingAgreementTokens from the list. - * @deprecated Not publicly available - * @param string $billingAgreementToken - * @return $this - */ - public function removeBillingAgreementToken($billingAgreementToken) - { - return $this->setBillingAgreementTokens( - array_diff($this->getBillingAgreementTokens(), array($billingAgreementToken)) - ); - } - - /** - * Credit financing offered to payer on PayPal side. Returned in payment after payer opts-in - * @deprecated Not publicly available - * @param \PayPal\Api\CreditFinancingOffered $credit_financing_offered - * - * @return $this - */ - public function setCreditFinancingOffered($credit_financing_offered) - { - $this->credit_financing_offered = $credit_financing_offered; - return $this; - } - - /** - * Credit financing offered to payer on PayPal side. Returned in payment after payer opts-in - * @deprecated Not publicly available - * @return \PayPal\Api\CreditFinancingOffered - */ - public function getCreditFinancingOffered() - { - return $this->credit_financing_offered; - } - - /** - * Instructions for the payer to complete this payment. - * @deprecated Not publicly available - * @param \PayPal\Api\PaymentInstruction $payment_instruction - * - * @return $this - */ - public function setPaymentInstruction($payment_instruction) - { - $this->payment_instruction = $payment_instruction; - return $this; - } - - /** - * Instructions for the payer to complete this payment. - * @deprecated Not publicly available - * @return \PayPal\Api\PaymentInstruction - */ - public function getPaymentInstruction() - { - return $this->payment_instruction; - } - - /** - * The state of the payment, authorization, or order transaction. The value is:

- * Valid Values: ["created", "approved", "failed", "partially_completed", "in_progress"] - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * The state of the payment, authorization, or order transaction. The value is:
  • created. The transaction was successfully created.
  • approved. The buyer approved the transaction.
  • failed. The transaction request failed.
- * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * PayPal generated identifier for the merchant's payment experience profile. Refer to [this](https://developer.paypal.com/docs/api/#payment-experience) link to create experience profile ID. - * - * @param string $experience_profile_id - * - * @return $this - */ - public function setExperienceProfileId($experience_profile_id) - { - $this->experience_profile_id = $experience_profile_id; - return $this; - } - - /** - * PayPal generated identifier for the merchant's payment experience profile. Refer to [this](https://developer.paypal.com/docs/api/#payment-experience) link to create experience profile ID. - * - * @return string - */ - public function getExperienceProfileId() - { - return $this->experience_profile_id; - } - - /** - * free-form field for the use of clients to pass in a message to the payer - * - * @param string $note_to_payer - * - * @return $this - */ - public function setNoteToPayer($note_to_payer) - { - $this->note_to_payer = $note_to_payer; - return $this; - } - - /** - * free-form field for the use of clients to pass in a message to the payer - * - * @return string - */ - public function getNoteToPayer() - { - return $this->note_to_payer; - } - - /** - * Set of redirect URLs you provide only for PayPal-based payments. - * - * @param \PayPal\Api\RedirectUrls $redirect_urls - * - * @return $this - */ - public function setRedirectUrls($redirect_urls) - { - $this->redirect_urls = $redirect_urls; - return $this; - } - - /** - * Set of redirect URLs you provide only for PayPal-based payments. - * - * @return \PayPal\Api\RedirectUrls - */ - public function getRedirectUrls() - { - return $this->redirect_urls; - } - - /** - * Failure reason code returned when the payment failed for some valid reasons. - * Valid Values: ["UNABLE_TO_COMPLETE_TRANSACTION", "INVALID_PAYMENT_METHOD", "PAYER_CANNOT_PAY", "CANNOT_PAY_THIS_PAYEE", "REDIRECT_REQUIRED", "PAYEE_FILTER_RESTRICTIONS"] - * - * @param string $failure_reason - * - * @return $this - */ - public function setFailureReason($failure_reason) - { - $this->failure_reason = $failure_reason; - return $this; - } - - /** - * Failure reason code returned when the payment failed for some valid reasons. - * - * @return string - */ - public function getFailureReason() - { - return $this->failure_reason; - } - - /** - * Payment creation time as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * Payment creation time as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * Payment update time as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $update_time - * - * @return $this - */ - public function setUpdateTime($update_time) - { - $this->update_time = $update_time; - return $this; - } - - /** - * Payment update time as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getUpdateTime() - { - return $this->update_time; - } - - /** - * Get Approval Link - * - * @return null|string - */ - public function getApprovalLink() - { - return $this->getLink(PayPalConstants::APPROVAL_URL); - } - - /** - * Get token from Approval Link - * - * @return null|string - */ - public function getToken() - { - $parameter_name = "token"; - parse_str(parse_url($this->getApprovalLink(), PHP_URL_QUERY), $query); - return !isset($query[$parameter_name]) ? null : $query[$parameter_name]; - } - - /** - * Creates and processes a payment. In the JSON request body, include a `payment` object with the intent, payer, and transactions. For PayPal payments, include redirect URLs in the `payment` object. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Payment - */ - public function create($apiContext = null, $restCall = null) - { - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/payments/payment", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Shows details for a payment, by ID. - * - * @param string $paymentId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Payment - */ - public static function get($paymentId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($paymentId, 'paymentId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/payment/$paymentId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Payment(); - $ret->fromJson($json); - return $ret; - } - - /** - * Partially updates a payment, by ID. You can update the amount, shipping address, invoice ID, and custom data. You cannot use patch after execute has been called. - * - * @param PatchRequest $patchRequest - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return boolean - */ - public function update($patchRequest, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($patchRequest, 'patchRequest'); - $payLoad = $patchRequest->toJSON(); - self::executeCall( - "/v1/payments/payment/{$this->getId()}", - "PATCH", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Executes, or completes, a PayPal payment that the payer has approved. You can optionally update selective payment information when you execute a payment. - * - * @param PaymentExecution $paymentExecution - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Payment - */ - public function execute($paymentExecution, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($paymentExecution, 'paymentExecution'); - $payLoad = $paymentExecution->toJSON(); - $json = self::executeCall( - "/v1/payments/payment/{$this->getId()}/execute", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * List payments that were made to the merchant who issues the request. Payments can be in any state. - * - * @param array $params - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return PaymentHistory - */ - public static function all($params, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($params, 'params'); - $payLoad = ""; - $allowedParams = array( - 'count' => 1, - 'start_id' => 1, - 'start_index' => 1, - 'start_time' => 1, - 'end_time' => 1, - 'payee_id' => 1, - 'sort_by' => 1, - 'sort_order' => 1, - ); - $json = self::executeCall( - "/v1/payments/payment?" . http_build_query(array_intersect_key($params, $allowedParams)), - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new PaymentHistory(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/PaymentCard.php b/paypal/PayPal/Api/PaymentCard.php deleted file mode 100644 index c070462..0000000 --- a/paypal/PayPal/Api/PaymentCard.php +++ /dev/null @@ -1,482 +0,0 @@ -id = $id; - return $this; - } - - /** - * The ID of a credit card to save for later use. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * The card number. - * - * @param string $number - * - * @return $this - */ - public function setNumber($number) - { - $this->number = $number; - return $this; - } - - /** - * The card number. - * - * @return string - */ - public function getNumber() - { - return $this->number; - } - - /** - * The card type. - * Valid Values: ["VISA", "AMEX", "SOLO", "JCB", "STAR", "DELTA", "DISCOVER", "SWITCH", "MAESTRO", "CB_NATIONALE", "CONFINOGA", "COFIDIS", "ELECTRON", "CETELEM", "CHINA_UNION_PAY", "MASTERCARD"] - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * The card type. - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * The two-digit expiry month for the card. - * - * @param string $expire_month - * - * @return $this - */ - public function setExpireMonth($expire_month) - { - $this->expire_month = $expire_month; - return $this; - } - - /** - * The two-digit expiry month for the card. - * - * @return string - */ - public function getExpireMonth() - { - return $this->expire_month; - } - - /** - * The four-digit expiry year for the card. - * - * @param string $expire_year - * - * @return $this - */ - public function setExpireYear($expire_year) - { - $this->expire_year = $expire_year; - return $this; - } - - /** - * The four-digit expiry year for the card. - * - * @return string - */ - public function getExpireYear() - { - return $this->expire_year; - } - - /** - * The two-digit start month for the card. Required for UK Maestro cards. - * - * @param string $start_month - * - * @return $this - */ - public function setStartMonth($start_month) - { - $this->start_month = $start_month; - return $this; - } - - /** - * The two-digit start month for the card. Required for UK Maestro cards. - * - * @return string - */ - public function getStartMonth() - { - return $this->start_month; - } - - /** - * The four-digit start year for the card. Required for UK Maestro cards. - * - * @param string $start_year - * - * @return $this - */ - public function setStartYear($start_year) - { - $this->start_year = $start_year; - return $this; - } - - /** - * The four-digit start year for the card. Required for UK Maestro cards. - * - * @return string - */ - public function getStartYear() - { - return $this->start_year; - } - - /** - * The validation code for the card. Supported for payments but not for saving payment cards for future use. - * - * @param string $cvv2 - * - * @return $this - */ - public function setCvv2($cvv2) - { - $this->cvv2 = $cvv2; - return $this; - } - - /** - * The validation code for the card. Supported for payments but not for saving payment cards for future use. - * - * @return string - */ - public function getCvv2() - { - return $this->cvv2; - } - - /** - * The first name of the card holder. - * - * @param string $first_name - * - * @return $this - */ - public function setFirstName($first_name) - { - $this->first_name = $first_name; - return $this; - } - - /** - * The first name of the card holder. - * - * @return string - */ - public function getFirstName() - { - return $this->first_name; - } - - /** - * The last name of the card holder. - * - * @param string $last_name - * - * @return $this - */ - public function setLastName($last_name) - { - $this->last_name = $last_name; - return $this; - } - - /** - * The last name of the card holder. - * - * @return string - */ - public function getLastName() - { - return $this->last_name; - } - - /** - * The two-letter country code. - * - * @param string $billing_country - * - * @return $this - */ - public function setBillingCountry($billing_country) - { - $this->billing_country = $billing_country; - return $this; - } - - /** - * The two-letter country code. - * - * @return string - */ - public function getBillingCountry() - { - return $this->billing_country; - } - - /** - * The billing address for the card. - * - * @param \PayPal\Api\Address $billing_address - * - * @return $this - */ - public function setBillingAddress($billing_address) - { - $this->billing_address = $billing_address; - return $this; - } - - /** - * The billing address for the card. - * - * @return \PayPal\Api\Address - */ - public function getBillingAddress() - { - return $this->billing_address; - } - - /** - * The ID of the customer who owns this card account. The facilitator generates and provides this ID. Required when you create or use a stored funding instrument in the PayPal vault. - * - * @param string $external_customer_id - * - * @return $this - */ - public function setExternalCustomerId($external_customer_id) - { - $this->external_customer_id = $external_customer_id; - return $this; - } - - /** - * The ID of the customer who owns this card account. The facilitator generates and provides this ID. Required when you create or use a stored funding instrument in the PayPal vault. - * - * @return string - */ - public function getExternalCustomerId() - { - return $this->external_customer_id; - } - - /** - * The state of the funding instrument. - * Valid Values: ["EXPIRED", "ACTIVE"] - * - * @param string $status - * - * @return $this - */ - public function setStatus($status) - { - $this->status = $status; - return $this; - } - - /** - * The state of the funding instrument. - * - * @return string - */ - public function getStatus() - { - return $this->status; - } - - /** - * The product class of the financial instrument issuer. - * Valid Values: ["CREDIT", "DEBIT", "GIFT", "PAYPAL_PREPAID", "PREPAID", "UNKNOWN"] - * - * @param string $card_product_class - * - * @return $this - */ - public function setCardProductClass($card_product_class) - { - $this->card_product_class = $card_product_class; - return $this; - } - - /** - * The product class of the financial instrument issuer. - * - * @return string - */ - public function getCardProductClass() - { - return $this->card_product_class; - } - - /** - * The date and time until when this instrument can be used fund a payment. - * - * @param string $valid_until - * - * @return $this - */ - public function setValidUntil($valid_until) - { - $this->valid_until = $valid_until; - return $this; - } - - /** - * The date and time until when this instrument can be used fund a payment. - * - * @return string - */ - public function getValidUntil() - { - return $this->valid_until; - } - - /** - * The one- to two-digit card issue number. Required for UK Maestro cards. - * - * @param string $issue_number - * - * @return $this - */ - public function setIssueNumber($issue_number) - { - $this->issue_number = $issue_number; - return $this; - } - - /** - * The one- to two-digit card issue number. Required for UK Maestro cards. - * - * @return string - */ - public function getIssueNumber() - { - return $this->issue_number; - } - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - -} diff --git a/paypal/PayPal/Api/PaymentCardToken.php b/paypal/PayPal/Api/PaymentCardToken.php deleted file mode 100644 index d5fbe6c..0000000 --- a/paypal/PayPal/Api/PaymentCardToken.php +++ /dev/null @@ -1,162 +0,0 @@ -payment_card_id = $payment_card_id; - return $this; - } - - /** - * ID of a previously saved Payment Card resource. - * - * @return string - */ - public function getPaymentCardId() - { - return $this->payment_card_id; - } - - /** - * The unique identifier of the payer used when saving this payment card. - * - * @param string $external_customer_id - * - * @return $this - */ - public function setExternalCustomerId($external_customer_id) - { - $this->external_customer_id = $external_customer_id; - return $this; - } - - /** - * The unique identifier of the payer used when saving this payment card. - * - * @return string - */ - public function getExternalCustomerId() - { - return $this->external_customer_id; - } - - /** - * Last 4 digits of the card number from the saved card. - * - * @param string $last4 - * - * @return $this - */ - public function setLast4($last4) - { - $this->last4 = $last4; - return $this; - } - - /** - * Last 4 digits of the card number from the saved card. - * - * @return string - */ - public function getLast4() - { - return $this->last4; - } - - /** - * Type of the Card. - * Valid Values: ["VISA", "AMEX", "SOLO", "JCB", "STAR", "DELTA", "DISCOVER", "SWITCH", "MAESTRO", "CB_NATIONALE", "CONFINOGA", "COFIDIS", "ELECTRON", "CETELEM", "CHINA_UNION_PAY", "MASTERCARD"] - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * Type of the Card. - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * Expiry month from the saved card with value 1 - 12. - * - * @param int $expire_month - * - * @return $this - */ - public function setExpireMonth($expire_month) - { - $this->expire_month = $expire_month; - return $this; - } - - /** - * Expiry month from the saved card with value 1 - 12. - * - * @return int - */ - public function getExpireMonth() - { - return $this->expire_month; - } - - /** - * Four digit expiry year from the saved card, represented as YYYY format. - * - * @param int $expire_year - * - * @return $this - */ - public function setExpireYear($expire_year) - { - $this->expire_year = $expire_year; - return $this; - } - - /** - * Four digit expiry year from the saved card, represented as YYYY format. - * - * @return int - */ - public function getExpireYear() - { - return $this->expire_year; - } - -} diff --git a/paypal/PayPal/Api/PaymentDefinition.php b/paypal/PayPal/Api/PaymentDefinition.php deleted file mode 100644 index 36cb799..0000000 --- a/paypal/PayPal/Api/PaymentDefinition.php +++ /dev/null @@ -1,239 +0,0 @@ -id = $id; - return $this; - } - - /** - * Identifier of the payment_definition. 128 characters max. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Name of the payment definition. 128 characters max. - * - * @param string $name - * - * @return $this - */ - public function setName($name) - { - $this->name = $name; - return $this; - } - - /** - * Name of the payment definition. 128 characters max. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Type of the payment definition. Allowed values: `TRIAL`, `REGULAR`. - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * Type of the payment definition. Allowed values: `TRIAL`, `REGULAR`. - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * How frequently the customer should be charged. - * - * @param string $frequency_interval - * - * @return $this - */ - public function setFrequencyInterval($frequency_interval) - { - $this->frequency_interval = $frequency_interval; - return $this; - } - - /** - * How frequently the customer should be charged. - * - * @return string - */ - public function getFrequencyInterval() - { - return $this->frequency_interval; - } - - /** - * Frequency of the payment definition offered. Allowed values: `WEEK`, `DAY`, `YEAR`, `MONTH`. - * - * @param string $frequency - * - * @return $this - */ - public function setFrequency($frequency) - { - $this->frequency = $frequency; - return $this; - } - - /** - * Frequency of the payment definition offered. Allowed values: `WEEK`, `DAY`, `YEAR`, `MONTH`. - * - * @return string - */ - public function getFrequency() - { - return $this->frequency; - } - - /** - * Number of cycles in this payment definition. - * - * @param string $cycles - * - * @return $this - */ - public function setCycles($cycles) - { - $this->cycles = $cycles; - return $this; - } - - /** - * Number of cycles in this payment definition. - * - * @return string - */ - public function getCycles() - { - return $this->cycles; - } - - /** - * Amount that will be charged at the end of each cycle for this payment definition. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Amount that will be charged at the end of each cycle for this payment definition. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Array of charge_models for this payment definition. - * - * @param \PayPal\Api\ChargeModel[] $charge_models - * - * @return $this - */ - public function setChargeModels($charge_models) - { - $this->charge_models = $charge_models; - return $this; - } - - /** - * Array of charge_models for this payment definition. - * - * @return \PayPal\Api\ChargeModel[] - */ - public function getChargeModels() - { - return $this->charge_models; - } - - /** - * Append ChargeModels to the list. - * - * @param \PayPal\Api\ChargeModel $chargeModel - * @return $this - */ - public function addChargeModel($chargeModel) - { - if (!$this->getChargeModels()) { - return $this->setChargeModels(array($chargeModel)); - } else { - return $this->setChargeModels( - array_merge($this->getChargeModels(), array($chargeModel)) - ); - } - } - - /** - * Remove ChargeModels from the list. - * - * @param \PayPal\Api\ChargeModel $chargeModel - * @return $this - */ - public function removeChargeModel($chargeModel) - { - return $this->setChargeModels( - array_diff($this->getChargeModels(), array($chargeModel)) - ); - } - -} diff --git a/paypal/PayPal/Api/PaymentDetail.php b/paypal/PayPal/Api/PaymentDetail.php deleted file mode 100644 index 59305a7..0000000 --- a/paypal/PayPal/Api/PaymentDetail.php +++ /dev/null @@ -1,188 +0,0 @@ -type = $type; - return $this; - } - - /** - * The PayPal payment detail. Indicates whether payment was made in an invoicing flow through PayPal or externally. In the case of the mark-as-paid API, the supported payment type is `EXTERNAL`. For backward compatibility, the `PAYPAL` payment type is still supported. - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * The PayPal payment transaction ID. Required with the `PAYPAL` payment type. - * - * @param string $transaction_id - * - * @return $this - */ - public function setTransactionId($transaction_id) - { - $this->transaction_id = $transaction_id; - return $this; - } - - /** - * The PayPal payment transaction ID. Required with the `PAYPAL` payment type. - * - * @return string - */ - public function getTransactionId() - { - return $this->transaction_id; - } - - /** - * Type of the transaction. - * Valid Values: ["SALE", "AUTHORIZATION", "CAPTURE"] - * - * @param string $transaction_type - * - * @return $this - */ - public function setTransactionType($transaction_type) - { - $this->transaction_type = $transaction_type; - return $this; - } - - /** - * Type of the transaction. - * - * @return string - */ - public function getTransactionType() - { - return $this->transaction_type; - } - - /** - * The date when the invoice was paid. The date format is *yyyy*-*MM*-*dd* *z* as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $date - * - * @return $this - */ - public function setDate($date) - { - $this->date = $date; - return $this; - } - - /** - * The date when the invoice was paid. The date format is *yyyy*-*MM*-*dd* *z* as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getDate() - { - return $this->date; - } - - /** - * The payment mode or method. Required with the `EXTERNAL` payment type. - * Valid Values: ["BANK_TRANSFER", "CASH", "CHECK", "CREDIT_CARD", "DEBIT_CARD", "PAYPAL", "WIRE_TRANSFER", "OTHER"] - * - * @param string $method - * - * @return $this - */ - public function setMethod($method) - { - $this->method = $method; - return $this; - } - - /** - * The payment mode or method. Required with the `EXTERNAL` payment type. - * - * @return string - */ - public function getMethod() - { - return $this->method; - } - - /** - * Optional. A note associated with the payment. - * - * @param string $note - * - * @return $this - */ - public function setNote($note) - { - $this->note = $note; - return $this; - } - - /** - * Optional. A note associated with the payment. - * - * @return string - */ - public function getNote() - { - return $this->note; - } - - /** - * The amount to record as payment against invoice. If you omit this parameter, the total invoice amount is recorded as payment. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * The amount to record as payment against invoice. If you omit this parameter, the total invoice amount is recorded as payment. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - -} diff --git a/paypal/PayPal/Api/PaymentExecution.php b/paypal/PayPal/Api/PaymentExecution.php deleted file mode 100644 index 4783037..0000000 --- a/paypal/PayPal/Api/PaymentExecution.php +++ /dev/null @@ -1,118 +0,0 @@ -payer_id = $payer_id; - return $this; - } - - /** - * The ID of the Payer, passed in the `return_url` by PayPal. - * - * @return string - */ - public function getPayerId() - { - return $this->payer_id; - } - - /** - * Carrier account id for a carrier billing payment. For a carrier billing payment, payer_id is not applicable. - * @deprecated Not publicly available - * @param string $carrier_account_id - * - * @return $this - */ - public function setCarrierAccountId($carrier_account_id) - { - $this->carrier_account_id = $carrier_account_id; - return $this; - } - - /** - * Carrier account id for a carrier billing payment. For a carrier billing payment, payer_id is not applicable. - * @deprecated Not publicly available - * @return string - */ - public function getCarrierAccountId() - { - return $this->carrier_account_id; - } - - /** - * Transactional details including the amount and item details. - * - * @param \PayPal\Api\Transaction[] $transactions - * - * @return $this - */ - public function setTransactions($transactions) - { - $this->transactions = $transactions; - return $this; - } - - /** - * Transactional details including the amount and item details. - * - * @return \PayPal\Api\Transaction[] - */ - public function getTransactions() - { - return $this->transactions; - } - - /** - * Append Transactions to the list. - * - * @param \PayPal\Api\Transaction $transaction - * @return $this - */ - public function addTransaction($transaction) - { - if (!$this->getTransactions()) { - return $this->setTransactions(array($transaction)); - } else { - return $this->setTransactions( - array_merge($this->getTransactions(), array($transaction)) - ); - } - } - - /** - * Remove Transactions from the list. - * - * @param \PayPal\Api\Transaction $transaction - * @return $this - */ - public function removeTransaction($transaction) - { - return $this->setTransactions( - array_diff($this->getTransactions(), array($transaction)) - ); - } - -} diff --git a/paypal/PayPal/Api/PaymentHistory.php b/paypal/PayPal/Api/PaymentHistory.php deleted file mode 100644 index eb4e611..0000000 --- a/paypal/PayPal/Api/PaymentHistory.php +++ /dev/null @@ -1,119 +0,0 @@ -payments = $payments; - return $this; - } - - /** - * A list of Payment resources - * - * @return \PayPal\Api\Payment[] - */ - public function getPayments() - { - return $this->payments; - } - - /** - * Append Payments to the list. - * - * @param \PayPal\Api\Payment $payment - * @return $this - */ - public function addPayment($payment) - { - if (!$this->getPayments()) { - return $this->setPayments(array($payment)); - } else { - return $this->setPayments( - array_merge($this->getPayments(), array($payment)) - ); - } - } - - /** - * Remove Payments from the list. - * - * @param \PayPal\Api\Payment $payment - * @return $this - */ - public function removePayment($payment) - { - return $this->setPayments( - array_diff($this->getPayments(), array($payment)) - ); - } - - /** - * Number of items returned in each range of results. Note that the last results range could have fewer items than the requested number of items. Maximum value: 20. - * - * @param int $count - * - * @return $this - */ - public function setCount($count) - { - $this->count = $count; - return $this; - } - - /** - * Number of items returned in each range of results. Note that the last results range could have fewer items than the requested number of items. Maximum value: 20. - * - * @return int - */ - public function getCount() - { - return $this->count; - } - - /** - * Identifier of the next element to get the next range of results. - * - * @param string $next_id - * - * @return $this - */ - public function setNextId($next_id) - { - $this->next_id = $next_id; - return $this; - } - - /** - * Identifier of the next element to get the next range of results. - * - * @return string - */ - public function getNextId() - { - return $this->next_id; - } - -} diff --git a/paypal/PayPal/Api/PaymentInstruction.php b/paypal/PayPal/Api/PaymentInstruction.php deleted file mode 100644 index 152d83f..0000000 --- a/paypal/PayPal/Api/PaymentInstruction.php +++ /dev/null @@ -1,190 +0,0 @@ -reference_number = $reference_number; - return $this; - } - - /** - * ID of payment instruction - * - * @return string - */ - public function getReferenceNumber() - { - return $this->reference_number; - } - - /** - * Type of payment instruction - * Valid Values: ["MANUAL_BANK_TRANSFER", "PAY_UPON_INVOICE"] - * - * @param string $instruction_type - * - * @return $this - */ - public function setInstructionType($instruction_type) - { - $this->instruction_type = $instruction_type; - return $this; - } - - /** - * Type of payment instruction - * - * @return string - */ - public function getInstructionType() - { - return $this->instruction_type; - } - - /** - * Recipient bank Details. - * - * @param \PayPal\Api\RecipientBankingInstruction $recipient_banking_instruction - * - * @return $this - */ - public function setRecipientBankingInstruction($recipient_banking_instruction) - { - $this->recipient_banking_instruction = $recipient_banking_instruction; - return $this; - } - - /** - * Recipient bank Details. - * - * @return \PayPal\Api\RecipientBankingInstruction - */ - public function getRecipientBankingInstruction() - { - return $this->recipient_banking_instruction; - } - - /** - * Amount to be transferred - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Amount to be transferred - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Date by which payment should be received - * - * @param string $payment_due_date - * - * @return $this - */ - public function setPaymentDueDate($payment_due_date) - { - $this->payment_due_date = $payment_due_date; - return $this; - } - - /** - * Date by which payment should be received - * - * @return string - */ - public function getPaymentDueDate() - { - return $this->payment_due_date; - } - - /** - * Additional text regarding payment handling - * - * @param string $note - * - * @return $this - */ - public function setNote($note) - { - $this->note = $note; - return $this; - } - - /** - * Additional text regarding payment handling - * - * @return string - */ - public function getNote() - { - return $this->note; - } - - /** - * Retrieve a payment instruction by passing the payment_id in the request URI. Use this request if you are implementing a solution that includes delayed payment like Pay Upon Invoice (PUI). - * - * @param string $paymentId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return PaymentInstruction - */ - public static function get($paymentId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($paymentId, 'paymentId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/payment/$paymentId/payment-instruction", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new PaymentInstruction(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/PaymentOptions.php b/paypal/PayPal/Api/PaymentOptions.php deleted file mode 100644 index 90b24a2..0000000 --- a/paypal/PayPal/Api/PaymentOptions.php +++ /dev/null @@ -1,88 +0,0 @@ -allowed_payment_method = $allowed_payment_method; - return $this; - } - - /** - * Payment method requested for this purchase unit - * - * @return string - */ - public function getAllowedPaymentMethod() - { - return $this->allowed_payment_method; - } - - /** - * Indicator if this payment request is a recurring payment. Only supported when the `payment_method` is set to `credit_card` - * @deprecated Not publicly available - * @param bool $recurring_flag - * - * @return $this - */ - public function setRecurringFlag($recurring_flag) - { - $this->recurring_flag = $recurring_flag; - return $this; - } - - /** - * Indicator if this payment request is a recurring payment. Only supported when the `payment_method` is set to `credit_card` - * @deprecated Not publicly available - * @return bool - */ - public function getRecurringFlag() - { - return $this->recurring_flag; - } - - /** - * Indicator if fraud management filters (fmf) should be skipped for this transaction. Only supported when the `payment_method` is set to `credit_card` - * @deprecated Not publicly available - * @param bool $skip_fmf - * - * @return $this - */ - public function setSkipFmf($skip_fmf) - { - $this->skip_fmf = $skip_fmf; - return $this; - } - - /** - * Indicator if fraud management filters (fmf) should be skipped for this transaction. Only supported when the `payment_method` is set to `credit_card` - * @deprecated Not publicly available - * @return bool - */ - public function getSkipFmf() - { - return $this->skip_fmf; - } - -} diff --git a/paypal/PayPal/Api/PaymentSummary.php b/paypal/PayPal/Api/PaymentSummary.php deleted file mode 100644 index 3fcc5d6..0000000 --- a/paypal/PayPal/Api/PaymentSummary.php +++ /dev/null @@ -1,65 +0,0 @@ -paypal = $paypal; - return $this; - } - - /** - * Total Amount paid/refunded via PayPal. - * - * @return \PayPal\Api\Currency - */ - public function getPaypal() - { - return $this->paypal; - } - - /** - * Total Amount paid/refunded via other sources. - * - * @param \PayPal\Api\Currency $other - * - * @return $this - */ - public function setOther($other) - { - $this->other = $other; - return $this; - } - - /** - * Total Amount paid/refunded via other sources. - * - * @return \PayPal\Api\Currency - */ - public function getOther() - { - return $this->other; - } - -} diff --git a/paypal/PayPal/Api/PaymentTerm.php b/paypal/PayPal/Api/PaymentTerm.php deleted file mode 100644 index ee62f6d..0000000 --- a/paypal/PayPal/Api/PaymentTerm.php +++ /dev/null @@ -1,66 +0,0 @@ -term_type = $term_type; - return $this; - } - - /** - * The terms by which the invoice payment is due. - * - * @return string - */ - public function getTermType() - { - return $this->term_type; - } - - /** - * The date when the invoice payment is due. This date must be a future date. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $due_date - * - * @return $this - */ - public function setDueDate($due_date) - { - $this->due_date = $due_date; - return $this; - } - - /** - * The date when the invoice payment is due. This date must be a future date. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getDueDate() - { - return $this->due_date; - } - -} diff --git a/paypal/PayPal/Api/Payout.php b/paypal/PayPal/Api/Payout.php deleted file mode 100644 index b97b515..0000000 --- a/paypal/PayPal/Api/Payout.php +++ /dev/null @@ -1,166 +0,0 @@ -sender_batch_header = $sender_batch_header; - return $this; - } - - /** - * The original batch header as provided by the payment sender. - * - * @return \PayPal\Api\PayoutSenderBatchHeader - */ - public function getSenderBatchHeader() - { - return $this->sender_batch_header; - } - - /** - * An array of payout items (that is, a set of individual payouts). - * - * @param \PayPal\Api\PayoutItem[] $items - * - * @return $this - */ - public function setItems($items) - { - $this->items = $items; - return $this; - } - - /** - * An array of payout items (that is, a set of individual payouts). - * - * @return \PayPal\Api\PayoutItem[] - */ - public function getItems() - { - return $this->items; - } - - /** - * Append Items to the list. - * - * @param \PayPal\Api\PayoutItem $payoutItem - * @return $this - */ - public function addItem($payoutItem) - { - if (!$this->getItems()) { - return $this->setItems(array($payoutItem)); - } else { - return $this->setItems( - array_merge($this->getItems(), array($payoutItem)) - ); - } - } - - /** - * Remove Items from the list. - * - * @param \PayPal\Api\PayoutItem $payoutItem - * @return $this - */ - public function removeItem($payoutItem) - { - return $this->setItems( - array_diff($this->getItems(), array($payoutItem)) - ); - } - - /** - * Create a payout batch resource by passing a sender_batch_header and an items array to the request URI. The sender_batch_header contains payout parameters that describe the handling of a batch resource while the items array conatins payout items. - * - * @param array $params - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return PayoutBatch - */ - public function create($params = array(), $apiContext = null, $restCall = null) - { - $params = $params ? $params : array(); - ArgumentValidator::validate($params, 'params'); - $payLoad = $this->toJSON(); - $allowedParams = array( - 'sync_mode' => 1, - ); - $json = self::executeCall( - "/v1/payments/payouts" . "?" . http_build_query(array_intersect_key($params, $allowedParams)), - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new PayoutBatch(); - $ret->fromJson($json); - return $ret; - } - - /** - * You can submit a payout with a synchronous API call, which immediately returns the results of a PayPal payment. - * - * @param ApiContext $apiContext - * @param PayPalRestCall $restCall - * @return PayoutBatch - */ - public function createSynchronous($apiContext = null, $restCall = null) - { - $params = array('sync_mode' => 'true'); - return $this->create($params, $apiContext, $restCall); - } - - /** - * Obtain the status of a specific batch resource by passing the payout batch ID to the request URI. You can issue this call multiple times to get the current status. - * - * @param string $payoutBatchId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return PayoutBatch - */ - public static function get($payoutBatchId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($payoutBatchId, 'payoutBatchId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/payouts/$payoutBatchId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new PayoutBatch(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/PayoutBatch.php b/paypal/PayPal/Api/PayoutBatch.php deleted file mode 100644 index 2b5e367..0000000 --- a/paypal/PayPal/Api/PayoutBatch.php +++ /dev/null @@ -1,120 +0,0 @@ -batch_header = $batch_header; - return $this; - } - - /** - * A batch header. Includes the generated batch status. - * - * @return \PayPal\Api\PayoutBatchHeader - */ - public function getBatchHeader() - { - return $this->batch_header; - } - - /** - * An array of items in a batch payout. - * - * @param \PayPal\Api\PayoutItemDetails[] $items - * - * @return $this - */ - public function setItems($items) - { - $this->items = $items; - return $this; - } - - /** - * An array of items in a batch payout. - * - * @return \PayPal\Api\PayoutItemDetails[] - */ - public function getItems() - { - return $this->items; - } - - /** - * Append Items to the list. - * - * @param \PayPal\Api\PayoutItemDetails $payoutItemDetails - * @return $this - */ - public function addItem($payoutItemDetails) - { - if (!$this->getItems()) { - return $this->setItems(array($payoutItemDetails)); - } else { - return $this->setItems( - array_merge($this->getItems(), array($payoutItemDetails)) - ); - } - } - - /** - * Remove Items from the list. - * - * @param \PayPal\Api\PayoutItemDetails $payoutItemDetails - * @return $this - */ - public function removeItem($payoutItemDetails) - { - return $this->setItems( - array_diff($this->getItems(), array($payoutItemDetails)) - ); - } - - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - -} diff --git a/paypal/PayPal/Api/PayoutBatchHeader.php b/paypal/PayPal/Api/PayoutBatchHeader.php deleted file mode 100644 index 88a834b..0000000 --- a/paypal/PayPal/Api/PayoutBatchHeader.php +++ /dev/null @@ -1,263 +0,0 @@ -payout_batch_id = $payout_batch_id; - return $this; - } - - /** - * The PayPal-generated ID for a batch payout. - * - * @return string - */ - public function getPayoutBatchId() - { - return $this->payout_batch_id; - } - - /** - * The PayPal-generated batch payout status. If the batch payout passes the preliminary checks, the status is `PENDING`. - * - * @param string $batch_status - * - * @return $this - */ - public function setBatchStatus($batch_status) - { - $this->batch_status = $batch_status; - return $this; - } - - /** - * The PayPal-generated batch payout status. If the batch payout passes the preliminary checks, the status is `PENDING`. - * - * @return string - */ - public function getBatchStatus() - { - return $this->batch_status; - } - - /** - * The time the batch entered processing. - * - * @param string $time_created - * - * @return $this - */ - public function setTimeCreated($time_created) - { - $this->time_created = $time_created; - return $this; - } - - /** - * The time the batch entered processing. - * - * @return string - */ - public function getTimeCreated() - { - return $this->time_created; - } - - /** - * The time that processing for the batch was completed. - * - * @param string $time_completed - * - * @return $this - */ - public function setTimeCompleted($time_completed) - { - $this->time_completed = $time_completed; - return $this; - } - - /** - * The time that processing for the batch was completed. - * - * @return string - */ - public function getTimeCompleted() - { - return $this->time_completed; - } - - /** - * The original batch header as provided by the payment sender. - * - * @param \PayPal\Api\PayoutSenderBatchHeader $sender_batch_header - * - * @return $this - */ - public function setSenderBatchHeader($sender_batch_header) - { - $this->sender_batch_header = $sender_batch_header; - return $this; - } - - /** - * The sender-provided batch payout header. - * - * @return \PayPal\Api\PayoutSenderBatchHeader - */ - public function getSenderBatchHeader() - { - return $this->sender_batch_header; - } - - /** - * Total amount, in U.S. dollars, requested for the applicable payouts. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Total amount, in U.S. dollars, requested for the applicable payouts. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Total estimate in U.S. dollars for the applicable payouts fees. - * - * @param \PayPal\Api\Currency $fees - * - * @return $this - */ - public function setFees($fees) - { - $this->fees = $fees; - return $this; - } - - /** - * Total estimate in U.S. dollars for the applicable payouts fees. - * - * @return \PayPal\Api\Currency - */ - public function getFees() - { - return $this->fees; - } - - /** - * Sets Errors - * - * @param \PayPal\Api\Error $errors - * - * @return $this - */ - public function setErrors($errors) - { - $this->errors = $errors; - return $this; - } - - /** - * Gets Errors - * - * @return \PayPal\Api\Error - */ - public function getErrors() - { - return $this->errors; - } - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - -} diff --git a/paypal/PayPal/Api/PayoutItem.php b/paypal/PayPal/Api/PayoutItem.php deleted file mode 100644 index b8e628b..0000000 --- a/paypal/PayPal/Api/PayoutItem.php +++ /dev/null @@ -1,189 +0,0 @@ -EMAIL. Unencrypted email. Value is a string of up to 127 single-byte characters.
  • PHONE. Unencrypted phone number.
    Note: The PayPal sandbox does not support the PHONE recipient type.
  • PAYPAL_ID. Encrypted PayPal account number.
  • If the sender_batch_header includes the recipient_type attribute, any payout item without its own recipient_type attribute uses the recipient_type value from sender_batch_header. If the sender_batch_header omits the recipient_type attribute, each payout item must include its own recipient_type value. - * - * @param string $recipient_type - * - * @return $this - */ - public function setRecipientType($recipient_type) - { - $this->recipient_type = $recipient_type; - return $this; - } - - /** - * The type of ID that identifies the payment receiver. Value is:
      EMAIL. Unencrypted email. Value is a string of up to 127 single-byte characters.
    • PHONE. Unencrypted phone number.
      Note: The PayPal sandbox does not support the PHONE recipient type.
    • PAYPAL_ID. Encrypted PayPal account number.
    If the sender_batch_header includes the recipient_type attribute, any payout item without its own recipient_type attribute uses the recipient_type value from sender_batch_header. If the sender_batch_header omits the recipient_type attribute, each payout item must include its own recipient_type value. - * - * @return string - */ - public function getRecipientType() - { - return $this->recipient_type; - } - - /** - * The amount of money to pay the receiver. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * The amount of money to pay the receiver. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Optional. A sender-specified note for notifications. Value is any string value. - * - * @param string $note - * - * @return $this - */ - public function setNote($note) - { - $this->note = $note; - return $this; - } - - /** - * Optional. A sender-specified note for notifications. Value is any string value. - * - * @return string - */ - public function getNote() - { - return $this->note; - } - - /** - * The receiver of the payment. Corresponds to the `recipient_type` value in the request. - * - * @param string $receiver - * - * @return $this - */ - public function setReceiver($receiver) - { - $this->receiver = $receiver; - return $this; - } - - /** - * The receiver of the payment. Corresponds to the `recipient_type` value in the request. - * - * @return string - */ - public function getReceiver() - { - return $this->receiver; - } - - /** - * A sender-specified ID number. Tracks the batch payout in an accounting system. - * - * @param string $sender_item_id - * - * @return $this - */ - public function setSenderItemId($sender_item_id) - { - $this->sender_item_id = $sender_item_id; - return $this; - } - - /** - * A sender-specified ID number. Tracks the batch payout in an accounting system. - * - * @return string - */ - public function getSenderItemId() - { - return $this->sender_item_id; - } - - /** - * Obtain the status of a payout item by passing the item ID to the request URI. - * - * @param string $payoutItemId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return PayoutItemDetails - */ - public static function get($payoutItemId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($payoutItemId, 'payoutItemId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/payouts-item/$payoutItemId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new PayoutItemDetails(); - $ret->fromJson($json); - return $ret; - } - - /** - * Cancels the unclaimed payment using the items id passed in the request URI. If an unclaimed item is not claimed within 30 days, the funds will be automatically returned to the sender. This call can be used to cancel the unclaimed item prior to the automatic 30-day return. - * - * @param string $payoutItemId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return PayoutItemDetails - */ - public static function cancel($payoutItemId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($payoutItemId, 'payoutItemId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/payouts-item/$payoutItemId/cancel", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new PayoutItemDetails(); - $ret->fromJson($json); - return $ret; - } -} diff --git a/paypal/PayPal/Api/PayoutItemDetails.php b/paypal/PayPal/Api/PayoutItemDetails.php deleted file mode 100644 index 147b99e..0000000 --- a/paypal/PayPal/Api/PayoutItemDetails.php +++ /dev/null @@ -1,287 +0,0 @@ -payout_item_id = $payout_item_id; - return $this; - } - - /** - * The ID for the payout item. Viewable when you show details for a batch payout. - * - * @return string - */ - public function getPayoutItemId() - { - return $this->payout_item_id; - } - - /** - * The PayPal-generated ID for the transaction. - * - * @param string $transaction_id - * - * @return $this - */ - public function setTransactionId($transaction_id) - { - $this->transaction_id = $transaction_id; - return $this; - } - - /** - * The PayPal-generated ID for the transaction. - * - * @return string - */ - public function getTransactionId() - { - return $this->transaction_id; - } - - /** - * The transaction status. - * - * @param string $transaction_status - * - * @return $this - */ - public function setTransactionStatus($transaction_status) - { - $this->transaction_status = $transaction_status; - return $this; - } - - /** - * The transaction status. - * - * @return string - */ - public function getTransactionStatus() - { - return $this->transaction_status; - } - - /** - * The amount of money, in U.S. dollars, for fees. - * - * @param \PayPal\Api\Currency $payout_item_fee - * - * @return $this - */ - public function setPayoutItemFee($payout_item_fee) - { - $this->payout_item_fee = $payout_item_fee; - return $this; - } - - /** - * The amount of money, in U.S. dollars, for fees. - * - * @return \PayPal\Api\Currency - */ - public function getPayoutItemFee() - { - return $this->payout_item_fee; - } - - /** - * The PayPal-generated ID for the batch payout. - * - * @param string $payout_batch_id - * - * @return $this - */ - public function setPayoutBatchId($payout_batch_id) - { - $this->payout_batch_id = $payout_batch_id; - return $this; - } - - /** - * The PayPal-generated ID for the batch payout. - * - * @return string - */ - public function getPayoutBatchId() - { - return $this->payout_batch_id; - } - - /** - * A sender-specified ID number. Tracks the batch payout in an accounting system. - * - * @param string $sender_batch_id - * - * @return $this - */ - public function setSenderBatchId($sender_batch_id) - { - $this->sender_batch_id = $sender_batch_id; - return $this; - } - - /** - * A sender-specified ID number. Tracks the batch payout in an accounting system. - * - * @return string - */ - public function getSenderBatchId() - { - return $this->sender_batch_id; - } - - /** - * The sender-provided information for the payout item. - * - * @param \PayPal\Api\PayoutItem $payout_item - * - * @return $this - */ - public function setPayoutItem($payout_item) - { - $this->payout_item = $payout_item; - return $this; - } - - /** - * The sender-provided information for the payout item. - * - * @return \PayPal\Api\PayoutItem - */ - public function getPayoutItem() - { - return $this->payout_item; - } - - /** - * The date and time when this item was last processed. - * - * @param string $time_processed - * - * @return $this - */ - public function setTimeProcessed($time_processed) - { - $this->time_processed = $time_processed; - return $this; - } - - /** - * The date and time when this item was last processed. - * - * @return string - */ - public function getTimeProcessed() - { - return $this->time_processed; - } - - /** - * Sets Errors - * - * @param \PayPal\Api\Error $errors - * - * @return $this - */ - public function setErrors($errors) - { - $this->errors = $errors; - return $this; - } - - /** - * Gets Errors - * - * @return \PayPal\Api\Error - */ - public function getErrors() - { - return $this->errors; - } - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - -} diff --git a/paypal/PayPal/Api/PayoutSenderBatchHeader.php b/paypal/PayPal/Api/PayoutSenderBatchHeader.php deleted file mode 100644 index 3ea59c9..0000000 --- a/paypal/PayPal/Api/PayoutSenderBatchHeader.php +++ /dev/null @@ -1,107 +0,0 @@ -Note: PayPal prevents duplicate batches from being processed. If you specify a `sender_batch_id` that was used in the last 30 days, the API rejects the request and returns an error message that indicates the duplicate `sender_batch_id` and includes a HATEOAS link to the original batch payout with the same `sender_batch_id`. If you receive a HTTP `5nn` status code, you can safely retry the request with the same `sender_batch_id`. In any case, the API completes a payment only once for a specific `sender_batch_id` that is used within 30 days. - * - * @param string $sender_batch_id - * - * @return $this - */ - public function setSenderBatchId($sender_batch_id) - { - $this->sender_batch_id = $sender_batch_id; - return $this; - } - - /** - * A sender-specified ID number. Tracks the batch payout in an accounting system.
    Note: PayPal prevents duplicate batches from being processed. If you specify a `sender_batch_id` that was used in the last 30 days, the API rejects the request and returns an error message that indicates the duplicate `sender_batch_id` and includes a HATEOAS link to the original batch payout with the same `sender_batch_id`. If you receive a HTTP `5nn` status code, you can safely retry the request with the same `sender_batch_id`. In any case, the API completes a payment only once for a specific `sender_batch_id` that is used within 30 days.
    - * - * @return string - */ - public function getSenderBatchId() - { - return $this->sender_batch_id; - } - - /** - * The subject line text for the email that PayPal sends when a payout item completes. The subject line is the same for all recipients. Value is an alphanumeric string with a maximum length of 255 single-byte characters. - * - * @param string $email_subject - * - * @return $this - */ - public function setEmailSubject($email_subject) - { - $this->email_subject = $email_subject; - return $this; - } - - /** - * The subject line text for the email that PayPal sends when a payout item completes. The subject line is the same for all recipients. Value is an alphanumeric string with a maximum length of 255 single-byte characters. - * - * @return string - */ - public function getEmailSubject() - { - return $this->email_subject; - } - - /** - * The type of ID that identifies the payment receiver. Value is:
      EMAIL. Unencrypted email. Value is a string of up to 127 single-byte characters.
    • PHONE. Unencrypted phone number.
      Note: The PayPal sandbox does not support the PHONE recipient type.
    • PAYPAL_ID. Encrypted PayPal account number.
    If the sender_batch_header includes the recipient_type attribute, any payout item without its own recipient_type attribute uses the recipient_type value from sender_batch_header. If the sender_batch_header omits the recipient_type attribute, each payout item must include its own recipient_type value. - * - * @param string $recipient_type - * - * @return $this - */ - public function setRecipientType($recipient_type) - { - $this->recipient_type = $recipient_type; - return $this; - } - - /** - * The type of ID that identifies the payment receiver. Value is:
      EMAIL. Unencrypted email. Value is a string of up to 127 single-byte characters.
    • PHONE. Unencrypted phone number.
      Note: The PayPal sandbox does not support the PHONE recipient type.
    • PAYPAL_ID. Encrypted PayPal account number.
    If the sender_batch_header includes the recipient_type attribute, any payout item without its own recipient_type attribute uses the recipient_type value from sender_batch_header. If the sender_batch_header omits the recipient_type attribute, each payout item must include its own recipient_type value. - * - * @return string - */ - public function getRecipientType() - { - return $this->recipient_type; - } - - /** - * @deprecated This property is unused - */ - public function setBatchStatus($batch_status) - { - $this->batch_status = $batch_status; - return $this; - } - - /** - * @deprecated This property is unused - */ - public function getBatchStatus() - { - return $this->batch_status; - } - -} diff --git a/paypal/PayPal/Api/Phone.php b/paypal/PayPal/Api/Phone.php deleted file mode 100644 index b93a09e..0000000 --- a/paypal/PayPal/Api/Phone.php +++ /dev/null @@ -1,89 +0,0 @@ -country_code = $country_code; - return $this; - } - - /** - * Country code (from in E.164 format) - * - * @return string - */ - public function getCountryCode() - { - return $this->country_code; - } - - /** - * In-country phone number (from in E.164 format) - * - * @param string $national_number - * - * @return $this - */ - public function setNationalNumber($national_number) - { - $this->national_number = $national_number; - return $this; - } - - /** - * In-country phone number (from in E.164 format) - * - * @return string - */ - public function getNationalNumber() - { - return $this->national_number; - } - - /** - * Phone extension - * - * @param string $extension - * - * @return $this - */ - public function setExtension($extension) - { - $this->extension = $extension; - return $this; - } - - /** - * Phone extension - * - * @return string - */ - public function getExtension() - { - return $this->extension; - } - -} diff --git a/paypal/PayPal/Api/Plan.php b/paypal/PayPal/Api/Plan.php deleted file mode 100644 index 630a9dc..0000000 --- a/paypal/PayPal/Api/Plan.php +++ /dev/null @@ -1,445 +0,0 @@ -id = $id; - return $this; - } - - /** - * Identifier of the billing plan. 128 characters max. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Name of the billing plan. 128 characters max. - * - * @param string $name - * - * @return $this - */ - public function setName($name) - { - $this->name = $name; - return $this; - } - - /** - * Name of the billing plan. 128 characters max. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Description of the billing plan. 128 characters max. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } - - /** - * Description of the billing plan. 128 characters max. - * - * @return string - */ - public function getDescription() - { - return $this->description; - } - - /** - * Type of the billing plan. Allowed values: `FIXED`, `INFINITE`. - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * Type of the billing plan. Allowed values: `FIXED`, `INFINITE`. - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * Status of the billing plan. Allowed values: `CREATED`, `ACTIVE`, `INACTIVE`, and `DELETED`. - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * Status of the billing plan. Allowed values: `CREATED`, `ACTIVE`, `INACTIVE`, and `DELETED`. - * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * Time when the billing plan was created. Format YYYY-MM-DDTimeTimezone, as defined in [ISO8601](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * Time when the billing plan was created. Format YYYY-MM-DDTimeTimezone, as defined in [ISO8601](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * Time when this billing plan was updated. Format YYYY-MM-DDTimeTimezone, as defined in [ISO8601](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $update_time - * - * @return $this - */ - public function setUpdateTime($update_time) - { - $this->update_time = $update_time; - return $this; - } - - /** - * Time when this billing plan was updated. Format YYYY-MM-DDTimeTimezone, as defined in [ISO8601](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getUpdateTime() - { - return $this->update_time; - } - - /** - * Array of payment definitions for this billing plan. - * - * @param \PayPal\Api\PaymentDefinition[] $payment_definitions - * - * @return $this - */ - public function setPaymentDefinitions($payment_definitions) - { - $this->payment_definitions = $payment_definitions; - return $this; - } - - /** - * Array of payment definitions for this billing plan. - * - * @return \PayPal\Api\PaymentDefinition[] - */ - public function getPaymentDefinitions() - { - return $this->payment_definitions; - } - - /** - * Append PaymentDefinitions to the list. - * - * @param \PayPal\Api\PaymentDefinition $paymentDefinition - * @return $this - */ - public function addPaymentDefinition($paymentDefinition) - { - if (!$this->getPaymentDefinitions()) { - return $this->setPaymentDefinitions(array($paymentDefinition)); - } else { - return $this->setPaymentDefinitions( - array_merge($this->getPaymentDefinitions(), array($paymentDefinition)) - ); - } - } - - /** - * Remove PaymentDefinitions from the list. - * - * @param \PayPal\Api\PaymentDefinition $paymentDefinition - * @return $this - */ - public function removePaymentDefinition($paymentDefinition) - { - return $this->setPaymentDefinitions( - array_diff($this->getPaymentDefinitions(), array($paymentDefinition)) - ); - } - - /** - * Array of terms for this billing plan. - * - * @param \PayPal\Api\Terms[] $terms - * - * @return $this - */ - public function setTerms($terms) - { - $this->terms = $terms; - return $this; - } - - /** - * Array of terms for this billing plan. - * - * @return \PayPal\Api\Terms[] - */ - public function getTerms() - { - return $this->terms; - } - - /** - * Append Terms to the list. - * - * @param \PayPal\Api\Terms $terms - * @return $this - */ - public function addTerm($terms) - { - if (!$this->getTerms()) { - return $this->setTerms(array($terms)); - } else { - return $this->setTerms( - array_merge($this->getTerms(), array($terms)) - ); - } - } - - /** - * Remove Terms from the list. - * - * @param \PayPal\Api\Terms $terms - * @return $this - */ - public function removeTerm($terms) - { - return $this->setTerms( - array_diff($this->getTerms(), array($terms)) - ); - } - - /** - * Specific preferences such as: set up fee, max fail attempts, autobill amount, and others that are configured for this billing plan. - * - * @param \PayPal\Api\MerchantPreferences $merchant_preferences - * - * @return $this - */ - public function setMerchantPreferences($merchant_preferences) - { - $this->merchant_preferences = $merchant_preferences; - return $this; - } - - /** - * Specific preferences such as: set up fee, max fail attempts, autobill amount, and others that are configured for this billing plan. - * - * @return \PayPal\Api\MerchantPreferences - */ - public function getMerchantPreferences() - { - return $this->merchant_preferences; - } - - /** - * Retrieve the details for a particular billing plan by passing the billing plan ID to the request URI. - * - * @param string $planId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Plan - */ - public static function get($planId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($planId, 'planId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/billing-plans/$planId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Plan(); - $ret->fromJson($json); - return $ret; - } - - /** - * Create a new billing plan by passing the details for the plan, including the plan name, description, and type, to the request URI. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Plan - */ - public function create($apiContext = null, $restCall = null) - { - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/payments/billing-plans/", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Replace specific fields within a billing plan by passing the ID of the billing plan to the request URI. In addition, pass a patch object in the request JSON that specifies the operation to perform, field to update, and new value for each update. - * - * @param PatchRequest $patchRequest - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function update($patchRequest, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($patchRequest, 'patchRequest'); - $payLoad = $patchRequest->toJSON(); - self::executeCall( - "/v1/payments/billing-plans/{$this->getId()}", - "PATCH", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Delete a billing plan by passing the ID of the billing plan to the request URI. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function delete($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $patchRequest = new PatchRequest(); - $patch = new Patch(); - $value = new PayPalModel('{ - "state":"DELETED" - }'); - $patch->setOp('replace') - ->setPath('/') - ->setValue($value); - $patchRequest->addPatch($patch); - return $this->update($patchRequest, $apiContext, $restCall); - } - - /** - * List billing plans according to optional query string parameters specified. - * - * @param array $params - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return PlanList - */ - public static function all($params, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($params, 'params'); - $payLoad = ""; - $allowedParams = array( - 'page_size' => 1, - 'status' => 1, - 'page' => 1, - 'total_required' => 1 - ); - $json = self::executeCall( - "/v1/payments/billing-plans/" . "?" . http_build_query(array_intersect_key($params, $allowedParams)), - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new PlanList(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/PlanList.php b/paypal/PayPal/Api/PlanList.php deleted file mode 100644 index 495599b..0000000 --- a/paypal/PayPal/Api/PlanList.php +++ /dev/null @@ -1,173 +0,0 @@ -plans = $plans; - return $this; - } - - /** - * Array of billing plans. - * - * @return \PayPal\Api\Plan[] - */ - public function getPlans() - { - return $this->plans; - } - - /** - * Append Plans to the list. - * - * @param \PayPal\Api\Plan $plan - * @return $this - */ - public function addPlan($plan) - { - if (!$this->getPlans()) { - return $this->setPlans(array($plan)); - } else { - return $this->setPlans( - array_merge($this->getPlans(), array($plan)) - ); - } - } - - /** - * Remove Plans from the list. - * - * @param \PayPal\Api\Plan $plan - * @return $this - */ - public function removePlan($plan) - { - return $this->setPlans( - array_diff($this->getPlans(), array($plan)) - ); - } - - /** - * Total number of items. - * - * @param string $total_items - * - * @return $this - */ - public function setTotalItems($total_items) - { - $this->total_items = $total_items; - return $this; - } - - /** - * Total number of items. - * - * @return string - */ - public function getTotalItems() - { - return $this->total_items; - } - - /** - * Total number of pages. - * - * @param string $total_pages - * - * @return $this - */ - public function setTotalPages($total_pages) - { - $this->total_pages = $total_pages; - return $this; - } - - /** - * Total number of pages. - * - * @return string - */ - public function getTotalPages() - { - return $this->total_pages; - } - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - -} diff --git a/paypal/PayPal/Api/PotentialPayerInfo.php b/paypal/PayPal/Api/PotentialPayerInfo.php deleted file mode 100644 index 63254cf..0000000 --- a/paypal/PayPal/Api/PotentialPayerInfo.php +++ /dev/null @@ -1,109 +0,0 @@ -email = $email; - return $this; - } - - /** - * Email address representing the potential payer. - * @deprecated Not publicly available - * @return string - */ - public function getEmail() - { - return $this->email; - } - - /** - * ExternalRememberMe id representing the potential payer - * @deprecated Not publicly available - * @param string $external_remember_me_id - * - * @return $this - */ - public function setExternalRememberMeId($external_remember_me_id) - { - $this->external_remember_me_id = $external_remember_me_id; - return $this; - } - - /** - * ExternalRememberMe id representing the potential payer - * @deprecated Not publicly available - * @return string - */ - public function getExternalRememberMeId() - { - return $this->external_remember_me_id; - } - - /** - * Account Number representing the potential payer - * @deprecated Not publicly available - * @param string $account_number - * - * @return $this - */ - public function setAccountNumber($account_number) - { - $this->account_number = $account_number; - return $this; - } - - /** - * Account Number representing the potential payer - * @deprecated Not publicly available - * @return string - */ - public function getAccountNumber() - { - return $this->account_number; - } - - /** - * Billing address of the potential payer. - * @deprecated Not publicly available - * @param \PayPal\Api\Address $billing_address - * - * @return $this - */ - public function setBillingAddress($billing_address) - { - $this->billing_address = $billing_address; - return $this; - } - - /** - * Billing address of the potential payer. - * @deprecated Not publicly available - * @return \PayPal\Api\Address - */ - public function getBillingAddress() - { - return $this->billing_address; - } - -} diff --git a/paypal/PayPal/Api/Presentation.php b/paypal/PayPal/Api/Presentation.php deleted file mode 100644 index 95c13a3..0000000 --- a/paypal/PayPal/Api/Presentation.php +++ /dev/null @@ -1,137 +0,0 @@ -brand_name = $brand_name; - return $this; - } - - /** - * A label that overrides the business name in the PayPal account on the PayPal pages. Character length and limitations: 127 single-byte alphanumeric characters. - * - * @return string - */ - public function getBrandName() - { - return $this->brand_name; - } - - /** - * A URL to the logo image. A valid media type is `.gif`, `.jpg`, or `.png`. The maximum width of the image is 190 pixels. The maximum height of the image is 60 pixels. PayPal crops images that are larger. PayPal places your logo image at the top of the cart review area. PayPal recommends that you store the image on a secure (HTTPS) server. Otherwise, web browsers display a message that checkout pages contain non-secure items. Character length and limit: 127 single-byte alphanumeric characters. - * - * @param string $logo_image - * - * @return $this - */ - public function setLogoImage($logo_image) - { - $this->logo_image = $logo_image; - return $this; - } - - /** - * A URL to the logo image. A valid media type is `.gif`, `.jpg`, or `.png`. The maximum width of the image is 190 pixels. The maximum height of the image is 60 pixels. PayPal crops images that are larger. PayPal places your logo image at the top of the cart review area. PayPal recommends that you store the image on a secure (HTTPS) server. Otherwise, web browsers display a message that checkout pages contain non-secure items. Character length and limit: 127 single-byte alphanumeric characters. - * - * @return string - */ - public function getLogoImage() - { - return $this->logo_image; - } - - /** - * The locale of pages displayed by PayPal payment experience. A valid value is `AU`, `AT`, `BE`, `BR`, `CA`, `CH`, `CN`, `DE`, `ES`, `GB`, `FR`, `IT`, `NL`, `PL`, `PT`, `RU`, or `US`. A 5-character code is also valid for languages in specific countries: `da_DK`, `he_IL`, `id_ID`, `ja_JP`, `no_NO`, `pt_BR`, `ru_RU`, `sv_SE`, `th_TH`, `zh_CN`, `zh_HK`, or `zh_TW`. - * - * @param string $locale_code - * - * @return $this - */ - public function setLocaleCode($locale_code) - { - $this->locale_code = $locale_code; - return $this; - } - - /** - * The locale of pages displayed by PayPal payment experience. A valid value is `AU`, `AT`, `BE`, `BR`, `CA`, `CH`, `CN`, `DE`, `ES`, `GB`, `FR`, `IT`, `NL`, `PL`, `PT`, `RU`, or `US`. A 5-character code is also valid for languages in specific countries: `da_DK`, `he_IL`, `id_ID`, `ja_JP`, `no_NO`, `pt_BR`, `ru_RU`, `sv_SE`, `th_TH`, `zh_CN`, `zh_HK`, or `zh_TW`. - * - * @return string - */ - public function getLocaleCode() - { - return $this->locale_code; - } - - /** - * A label to use as hypertext for the return to merchant link. - * - * @param string $return_url_label - * - * @return $this - */ - public function setReturnUrlLabel($return_url_label) - { - $this->return_url_label = $return_url_label; - return $this; - } - - /** - * A label to use as hypertext for the return to merchant link. - * - * @return string - */ - public function getReturnUrlLabel() - { - return $this->return_url_label; - } - - /** - * A label to use as the title for the note to seller field. Used only when `allow_note` is `1`. - * - * @param string $note_to_seller_label - * - * @return $this - */ - public function setNoteToSellerLabel($note_to_seller_label) - { - $this->note_to_seller_label = $note_to_seller_label; - return $this; - } - - /** - * A label to use as the title for the note to seller field. Used only when `allow_note` is `1`. - * - * @return string - */ - public function getNoteToSellerLabel() - { - return $this->note_to_seller_label; - } - -} diff --git a/paypal/PayPal/Api/PrivateLabelCard.php b/paypal/PayPal/Api/PrivateLabelCard.php deleted file mode 100644 index 385a1cc..0000000 --- a/paypal/PayPal/Api/PrivateLabelCard.php +++ /dev/null @@ -1,137 +0,0 @@ -id = $id; - return $this; - } - - /** - * encrypted identifier of the private label card instrument. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * last 4 digits of the card number. - * - * @param string $card_number - * - * @return $this - */ - public function setCardNumber($card_number) - { - $this->card_number = $card_number; - return $this; - } - - /** - * last 4 digits of the card number. - * - * @return string - */ - public function getCardNumber() - { - return $this->card_number; - } - - /** - * Merchants providing private label store cards have associated issuer account. This value indicates encrypted account number of the associated issuer account. - * - * @param string $issuer_id - * - * @return $this - */ - public function setIssuerId($issuer_id) - { - $this->issuer_id = $issuer_id; - return $this; - } - - /** - * Merchants providing private label store cards have associated issuer account. This value indicates encrypted account number of the associated issuer account. - * - * @return string - */ - public function getIssuerId() - { - return $this->issuer_id; - } - - /** - * Merchants providing private label store cards have associated issuer account. This value indicates name on the issuer account. - * - * @param string $issuer_name - * - * @return $this - */ - public function setIssuerName($issuer_name) - { - $this->issuer_name = $issuer_name; - return $this; - } - - /** - * Merchants providing private label store cards have associated issuer account. This value indicates name on the issuer account. - * - * @return string - */ - public function getIssuerName() - { - return $this->issuer_name; - } - - /** - * This value indicates URL to access PLCC program logo image - * - * @param string $image_key - * - * @return $this - */ - public function setImageKey($image_key) - { - $this->image_key = $image_key; - return $this; - } - - /** - * This value indicates URL to access PLCC program logo image - * - * @return string - */ - public function getImageKey() - { - return $this->image_key; - } - -} diff --git a/paypal/PayPal/Api/ProcessorResponse.php b/paypal/PayPal/Api/ProcessorResponse.php deleted file mode 100644 index 9b903dc..0000000 --- a/paypal/PayPal/Api/ProcessorResponse.php +++ /dev/null @@ -1,162 +0,0 @@ -response_code = $response_code; - return $this; - } - - /** - * Paypal normalized response code, generated from the processor's specific response code - * - * @return string - */ - public function getResponseCode() - { - return $this->response_code; - } - - /** - * Address Verification System response code. https://developer.paypal.com/docs/classic/api/AVSResponseCodes/ - * - * @param string $avs_code - * - * @return $this - */ - public function setAvsCode($avs_code) - { - $this->avs_code = $avs_code; - return $this; - } - - /** - * Address Verification System response code. https://developer.paypal.com/docs/classic/api/AVSResponseCodes/ - * - * @return string - */ - public function getAvsCode() - { - return $this->avs_code; - } - - /** - * CVV System response code. https://developer.paypal.com/docs/classic/api/AVSResponseCodes/ - * - * @param string $cvv_code - * - * @return $this - */ - public function setCvvCode($cvv_code) - { - $this->cvv_code = $cvv_code; - return $this; - } - - /** - * CVV System response code. https://developer.paypal.com/docs/classic/api/AVSResponseCodes/ - * - * @return string - */ - public function getCvvCode() - { - return $this->cvv_code; - } - - /** - * Provides merchant advice on how to handle declines related to recurring payments - * Valid Values: ["01_NEW_ACCOUNT_INFORMATION", "02_TRY_AGAIN_LATER", "02_STOP_SPECIFIC_PAYMENT", "03_DO_NOT_TRY_AGAIN", "03_REVOKE_AUTHORIZATION_FOR_FUTURE_PAYMENT", "21_DO_NOT_TRY_AGAIN_CARD_HOLDER_CANCELLED_RECURRRING_CHARGE", "21_CANCEL_ALL_RECURRING_PAYMENTS"] - * - * @param string $advice_code - * - * @return $this - */ - public function setAdviceCode($advice_code) - { - $this->advice_code = $advice_code; - return $this; - } - - /** - * Provides merchant advice on how to handle declines related to recurring payments - * - * @return string - */ - public function getAdviceCode() - { - return $this->advice_code; - } - - /** - * Response back from the authorization. Provided by the processor - * - * @param string $eci_submitted - * - * @return $this - */ - public function setEciSubmitted($eci_submitted) - { - $this->eci_submitted = $eci_submitted; - return $this; - } - - /** - * Response back from the authorization. Provided by the processor - * - * @return string - */ - public function getEciSubmitted() - { - return $this->eci_submitted; - } - - /** - * Visa Payer Authentication Service status. Will be return from processor - * - * @param string $vpas - * - * @return $this - */ - public function setVpas($vpas) - { - $this->vpas = $vpas; - return $this; - } - - /** - * Visa Payer Authentication Service status. Will be return from processor - * - * @return string - */ - public function getVpas() - { - return $this->vpas; - } - -} diff --git a/paypal/PayPal/Api/RecipientBankingInstruction.php b/paypal/PayPal/Api/RecipientBankingInstruction.php deleted file mode 100644 index 9c2fd0d..0000000 --- a/paypal/PayPal/Api/RecipientBankingInstruction.php +++ /dev/null @@ -1,161 +0,0 @@ -bank_name = $bank_name; - return $this; - } - - /** - * Name of the financial institution. - * - * @return string - */ - public function getBankName() - { - return $this->bank_name; - } - - /** - * Name of the account holder - * - * @param string $account_holder_name - * - * @return $this - */ - public function setAccountHolderName($account_holder_name) - { - $this->account_holder_name = $account_holder_name; - return $this; - } - - /** - * Name of the account holder - * - * @return string - */ - public function getAccountHolderName() - { - return $this->account_holder_name; - } - - /** - * bank account number - * - * @param string $account_number - * - * @return $this - */ - public function setAccountNumber($account_number) - { - $this->account_number = $account_number; - return $this; - } - - /** - * bank account number - * - * @return string - */ - public function getAccountNumber() - { - return $this->account_number; - } - - /** - * bank routing number - * - * @param string $routing_number - * - * @return $this - */ - public function setRoutingNumber($routing_number) - { - $this->routing_number = $routing_number; - return $this; - } - - /** - * bank routing number - * - * @return string - */ - public function getRoutingNumber() - { - return $this->routing_number; - } - - /** - * IBAN equivalent of the bank - * - * @param string $international_bank_account_number - * - * @return $this - */ - public function setInternationalBankAccountNumber($international_bank_account_number) - { - $this->international_bank_account_number = $international_bank_account_number; - return $this; - } - - /** - * IBAN equivalent of the bank - * - * @return string - */ - public function getInternationalBankAccountNumber() - { - return $this->international_bank_account_number; - } - - /** - * BIC identifier of the financial institution - * - * @param string $bank_identifier_code - * - * @return $this - */ - public function setBankIdentifierCode($bank_identifier_code) - { - $this->bank_identifier_code = $bank_identifier_code; - return $this; - } - - /** - * BIC identifier of the financial institution - * - * @return string - */ - public function getBankIdentifierCode() - { - return $this->bank_identifier_code; - } - -} diff --git a/paypal/PayPal/Api/RedirectUrls.php b/paypal/PayPal/Api/RedirectUrls.php deleted file mode 100644 index 5c97ba4..0000000 --- a/paypal/PayPal/Api/RedirectUrls.php +++ /dev/null @@ -1,68 +0,0 @@ -return_url = $return_url; - return $this; - } - - /** - * Url where the payer would be redirected to after approving the payment. **Required for PayPal account payments.** - * - * @return string - */ - public function getReturnUrl() - { - return $this->return_url; - } - - /** - * Url where the payer would be redirected to after canceling the payment. **Required for PayPal account payments.** - * - * @param string $cancel_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setCancelUrl($cancel_url) - { - UrlValidator::validate($cancel_url, "CancelUrl"); - $this->cancel_url = $cancel_url; - return $this; - } - - /** - * Url where the payer would be redirected to after canceling the payment. **Required for PayPal account payments.** - * - * @return string - */ - public function getCancelUrl() - { - return $this->cancel_url; - } - -} diff --git a/paypal/PayPal/Api/Refund.php b/paypal/PayPal/Api/Refund.php deleted file mode 100644 index c008f17..0000000 --- a/paypal/PayPal/Api/Refund.php +++ /dev/null @@ -1,335 +0,0 @@ -id = $id; - return $this; - } - - /** - * ID of the refund transaction. 17 characters max. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Details including both refunded amount (to payer) and refunded fee (to payee). 10 characters max. - * - * @param \PayPal\Api\Amount $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Details including both refunded amount (to payer) and refunded fee (to payee). 10 characters max. - * - * @return \PayPal\Api\Amount - */ - public function getAmount() - { - return $this->amount; - } - - /** - * State of the refund. - * Valid Values: ["pending", "completed", "failed"] - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * State of the refund. - * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * Reason description for the Sale transaction being refunded. - * - * @param string $reason - * - * @return $this - */ - public function setReason($reason) - { - $this->reason = $reason; - return $this; - } - - /** - * Reason description for the Sale transaction being refunded. - * - * @return string - */ - public function getReason() - { - return $this->reason; - } - - /** - * Your own invoice or tracking ID number. Character length and limitations: 127 single-byte alphanumeric characters. - * - * @param string $invoice_number - * - * @return $this - */ - public function setInvoiceNumber($invoice_number) - { - $this->invoice_number = $invoice_number; - return $this; - } - - /** - * Your own invoice or tracking ID number. Character length and limitations: 127 single-byte alphanumeric characters. - * - * @return string - */ - public function getInvoiceNumber() - { - return $this->invoice_number; - } - - /** - * ID of the Sale transaction being refunded. - * - * @param string $sale_id - * - * @return $this - */ - public function setSaleId($sale_id) - { - $this->sale_id = $sale_id; - return $this; - } - - /** - * ID of the Sale transaction being refunded. - * - * @return string - */ - public function getSaleId() - { - return $this->sale_id; - } - - /** - * ID of the sale transaction being refunded. - * - * @param string $capture_id - * - * @return $this - */ - public function setCaptureId($capture_id) - { - $this->capture_id = $capture_id; - return $this; - } - - /** - * ID of the sale transaction being refunded. - * - * @return string - */ - public function getCaptureId() - { - return $this->capture_id; - } - - /** - * ID of the payment resource on which this transaction is based. - * - * @param string $parent_payment - * - * @return $this - */ - public function setParentPayment($parent_payment) - { - $this->parent_payment = $parent_payment; - return $this; - } - - /** - * ID of the payment resource on which this transaction is based. - * - * @return string - */ - public function getParentPayment() - { - return $this->parent_payment; - } - - /** - * Description of what is being refunded for. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } - - /** - * Description of what is being refunded for. - * - * @return string - */ - public function getDescription() - { - return $this->description; - } - - /** - * Time of refund as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * Time of refund as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * Time that the resource was last updated. - * - * @param string $update_time - * - * @return $this - */ - public function setUpdateTime($update_time) - { - $this->update_time = $update_time; - return $this; - } - - /** - * Time that the resource was last updated. - * - * @return string - */ - public function getUpdateTime() - { - return $this->update_time; - } - - /** - * The reason code for the refund state being pending - * Valid Values: ["ECHECK"] - * - * @param string $reason_code - * - * @return $this - */ - public function setReasonCode($reason_code) - { - $this->reason_code = $reason_code; - return $this; - } - - /** - * The reason code for the refund state being pending - * - * @return string - */ - public function getReasonCode() - { - return $this->reason_code; - } - - /** - * Shows details for a refund, by ID. - * - * @param string $refundId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Refund - */ - public static function get($refundId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($refundId, 'refundId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/refund/$refundId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Refund(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/RefundDetail.php b/paypal/PayPal/Api/RefundDetail.php deleted file mode 100644 index 7674ec1..0000000 --- a/paypal/PayPal/Api/RefundDetail.php +++ /dev/null @@ -1,138 +0,0 @@ -type = $type; - return $this; - } - - /** - * The PayPal refund type. Indicates whether refund was paid in invoicing flow through PayPal or externally. In the case of mark-as-refunded API, the supported refund type is `EXTERNAL`. For backward compatability, the `PAYPAL` refund type is still supported. - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * The PayPal refund transaction ID. Required with the `PAYPAL` refund type. - * - * @param string $transaction_id - * - * @return $this - */ - public function setTransactionId($transaction_id) - { - $this->transaction_id = $transaction_id; - return $this; - } - - /** - * The PayPal refund transaction ID. Required with the `PAYPAL` refund type. - * - * @return string - */ - public function getTransactionId() - { - return $this->transaction_id; - } - - /** - * Date on which the invoice was refunded. Date format: yyyy-MM-dd z. For example, 2014-02-27 PST. - * - * @param string $date - * - * @return $this - */ - public function setDate($date) - { - $this->date = $date; - return $this; - } - - /** - * Date on which the invoice was refunded. Date format: yyyy-MM-dd z. For example, 2014-02-27 PST. - * - * @return string - */ - public function getDate() - { - return $this->date; - } - - /** - * Optional note associated with the refund. - * - * @param string $note - * - * @return $this - */ - public function setNote($note) - { - $this->note = $note; - return $this; - } - - /** - * Optional note associated with the refund. - * - * @return string - */ - public function getNote() - { - return $this->note; - } - - /** - * Amount to be recorded as refund against invoice. If this field is not passed, the total invoice paid amount is recorded as refund. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Amount to be recorded as refund against invoice. If this field is not passed, the total invoice paid amount is recorded as refund. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - -} diff --git a/paypal/PayPal/Api/RefundRequest.php b/paypal/PayPal/Api/RefundRequest.php deleted file mode 100644 index 1fdaa95..0000000 --- a/paypal/PayPal/Api/RefundRequest.php +++ /dev/null @@ -1,162 +0,0 @@ -amount = $amount; - return $this; - } - - /** - * Details including both refunded amount (to payer) and refunded fee (to payee). - * - * @return \PayPal\Api\Amount - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Description of what is being refunded for. Character length and limitations: 255 single-byte alphanumeric characters. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } - - /** - * Description of what is being refunded for. Character length and limitations: 255 single-byte alphanumeric characters. - * - * @return string - */ - public function getDescription() - { - return $this->description; - } - - /** - * Type of PayPal funding source (balance or eCheck) that can be used for auto refund. - * Valid Values: ["INSTANT_FUNDING_SOURCE", "ECHECK", "UNRESTRICTED"] - * - * @param string $refund_source - * - * @return $this - */ - public function setRefundSource($refund_source) - { - $this->refund_source = $refund_source; - return $this; - } - - /** - * Type of PayPal funding source (balance or eCheck) that can be used for auto refund. - * - * @return string - */ - public function getRefundSource() - { - return $this->refund_source; - } - - /** - * Reason description for the Sale transaction being refunded. - * - * @param string $reason - * - * @return $this - */ - public function setReason($reason) - { - $this->reason = $reason; - return $this; - } - - /** - * Reason description for the Sale transaction being refunded. - * - * @return string - */ - public function getReason() - { - return $this->reason; - } - - /** - * The invoice number that is used to track this payment. Character length and limitations: 127 single-byte alphanumeric characters. - * - * @param string $invoice_number - * - * @return $this - */ - public function setInvoiceNumber($invoice_number) - { - $this->invoice_number = $invoice_number; - return $this; - } - - /** - * The invoice number that is used to track this payment. Character length and limitations: 127 single-byte alphanumeric characters. - * - * @return string - */ - public function getInvoiceNumber() - { - return $this->invoice_number; - } - - /** - * Flag to indicate that the buyer was already given store credit for a given transaction. - * - * @param bool $refund_advice - * - * @return $this - */ - public function setRefundAdvice($refund_advice) - { - $this->refund_advice = $refund_advice; - return $this; - } - - /** - * Flag to indicate that the buyer was already given store credit for a given transaction. - * - * @return bool - */ - public function getRefundAdvice() - { - return $this->refund_advice; - } - -} diff --git a/paypal/PayPal/Api/RelatedResources.php b/paypal/PayPal/Api/RelatedResources.php deleted file mode 100644 index d324841..0000000 --- a/paypal/PayPal/Api/RelatedResources.php +++ /dev/null @@ -1,137 +0,0 @@ -sale = $sale; - return $this; - } - - /** - * Sale transaction - * - * @return \PayPal\Api\Sale - */ - public function getSale() - { - return $this->sale; - } - - /** - * Authorization transaction - * - * @param \PayPal\Api\Authorization $authorization - * - * @return $this - */ - public function setAuthorization($authorization) - { - $this->authorization = $authorization; - return $this; - } - - /** - * Authorization transaction - * - * @return \PayPal\Api\Authorization - */ - public function getAuthorization() - { - return $this->authorization; - } - - /** - * Order transaction - * - * @param \PayPal\Api\Order $order - * - * @return $this - */ - public function setOrder($order) - { - $this->order = $order; - return $this; - } - - /** - * Order transaction - * - * @return \PayPal\Api\Order - */ - public function getOrder() - { - return $this->order; - } - - /** - * Capture transaction - * - * @param \PayPal\Api\Capture $capture - * - * @return $this - */ - public function setCapture($capture) - { - $this->capture = $capture; - return $this; - } - - /** - * Capture transaction - * - * @return \PayPal\Api\Capture - */ - public function getCapture() - { - return $this->capture; - } - - /** - * Refund transaction - * - * @param \PayPal\Api\Refund $refund - * - * @return $this - */ - public function setRefund($refund) - { - $this->refund = $refund; - return $this; - } - - /** - * Refund transaction - * - * @return \PayPal\Api\Refund - */ - public function getRefund() - { - return $this->refund; - } - -} diff --git a/paypal/PayPal/Api/Sale.php b/paypal/PayPal/Api/Sale.php deleted file mode 100644 index 1c4cb28..0000000 --- a/paypal/PayPal/Api/Sale.php +++ /dev/null @@ -1,637 +0,0 @@ -id = $id; - return $this; - } - - /** - * Identifier of the sale transaction. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Identifier to the purchase or transaction unit corresponding to this sale transaction. - * - * @param string $purchase_unit_reference_id - * - * @return $this - */ - public function setPurchaseUnitReferenceId($purchase_unit_reference_id) - { - $this->purchase_unit_reference_id = $purchase_unit_reference_id; - return $this; - } - - /** - * Identifier to the purchase or transaction unit corresponding to this sale transaction. - * - * @return string - */ - public function getPurchaseUnitReferenceId() - { - return $this->purchase_unit_reference_id; - } - - /** - * Amount being collected. - * - * @param \PayPal\Api\Amount $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * Amount being collected. - * - * @return \PayPal\Api\Amount - */ - public function getAmount() - { - return $this->amount; - } - - /** - * Specifies payment mode of the transaction. Only supported when the `payment_method` is set to `paypal`. - * Valid Values: ["INSTANT_TRANSFER", "MANUAL_BANK_TRANSFER", "DELAYED_TRANSFER", "ECHECK"] - * - * @param string $payment_mode - * - * @return $this - */ - public function setPaymentMode($payment_mode) - { - $this->payment_mode = $payment_mode; - return $this; - } - - /** - * Specifies payment mode of the transaction. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getPaymentMode() - { - return $this->payment_mode; - } - - /** - * State of the sale transaction. - * Valid Values: ["completed", "partially_refunded", "pending", "refunded", "denied"] - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * State of the sale transaction. - * - * @return string - */ - public function getState() - { - return $this->state; - } - - /** - * Reason code for the transaction state being Pending or Reversed. Only supported when the `payment_method` is set to `paypal`. - * Valid Values: ["CHARGEBACK", "GUARANTEE", "BUYER_COMPLAINT", "REFUND", "UNCONFIRMED_SHIPPING_ADDRESS", "ECHECK", "INTERNATIONAL_WITHDRAWAL", "RECEIVING_PREFERENCE_MANDATES_MANUAL_ACTION", "PAYMENT_REVIEW", "REGULATORY_REVIEW", "UNILATERAL", "VERIFICATION_REQUIRED", "TRANSACTION_APPROVED_AWAITING_FUNDING"] - * - * @param string $reason_code - * - * @return $this - */ - public function setReasonCode($reason_code) - { - $this->reason_code = $reason_code; - return $this; - } - - /** - * Reason code for the transaction state being Pending or Reversed. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getReasonCode() - { - return $this->reason_code; - } - - /** - * The level of seller protection in force for the transaction. Only supported when the `payment_method` is set to `paypal`. - * Valid Values: ["ELIGIBLE", "PARTIALLY_ELIGIBLE", "INELIGIBLE"] - * - * @param string $protection_eligibility - * - * @return $this - */ - public function setProtectionEligibility($protection_eligibility) - { - $this->protection_eligibility = $protection_eligibility; - return $this; - } - - /** - * The level of seller protection in force for the transaction. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getProtectionEligibility() - { - return $this->protection_eligibility; - } - - /** - * The kind of seller protection in force for the transaction. It is returned only when protection_eligibility is ELIGIBLE or PARTIALLY_ELIGIBLE. Only supported when the `payment_method` is set to `paypal`. - * Valid Values: ["ITEM_NOT_RECEIVED_ELIGIBLE", "UNAUTHORIZED_PAYMENT_ELIGIBLE", "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE"] - * - * @param string $protection_eligibility_type - * - * @return $this - */ - public function setProtectionEligibilityType($protection_eligibility_type) - { - $this->protection_eligibility_type = $protection_eligibility_type; - return $this; - } - - /** - * The kind of seller protection in force for the transaction. It is returned only when protection_eligibility is ELIGIBLE or PARTIALLY_ELIGIBLE. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getProtectionEligibilityType() - { - return $this->protection_eligibility_type; - } - - /** - * Expected clearing time for eCheck Transactions. Returned when payment is made with eCheck. Only supported when the `payment_method` is set to `paypal`. - * - * @param string $clearing_time - * - * @return $this - */ - public function setClearingTime($clearing_time) - { - $this->clearing_time = $clearing_time; - return $this; - } - - /** - * Expected clearing time for eCheck Transactions. Returned when payment is made with eCheck. Only supported when the `payment_method` is set to `paypal`. - * - * @return string - */ - public function getClearingTime() - { - return $this->clearing_time; - } - - /** - * Status of the Recipient Fund. For now, it will be returned only when fund status is held - * Valid Values: ["HELD"] - * - * @param string $payment_hold_status - * - * @return $this - */ - public function setPaymentHoldStatus($payment_hold_status) - { - $this->payment_hold_status = $payment_hold_status; - return $this; - } - - /** - * Status of the Recipient Fund. For now, it will be returned only when fund status is held - * - * @return string - */ - public function getPaymentHoldStatus() - { - return $this->payment_hold_status; - } - - /** - * Reasons for PayPal holding recipient fund. It is set only if payment hold status is held - * - * @param string[] $payment_hold_reasons - * - * @return $this - */ - public function setPaymentHoldReasons($payment_hold_reasons) - { - $this->payment_hold_reasons = $payment_hold_reasons; - return $this; - } - - /** - * Reasons for PayPal holding recipient fund. It is set only if payment hold status is held - * - * @return string[] - */ - public function getPaymentHoldReasons() - { - return $this->payment_hold_reasons; - } - - /** - * Append PaymentHoldReasons to the list. - * - * @param string $string - * @return $this - */ - public function addPaymentHoldReason($string) - { - if (!$this->getPaymentHoldReasons()) { - return $this->setPaymentHoldReasons(array($string)); - } else { - return $this->setPaymentHoldReasons( - array_merge($this->getPaymentHoldReasons(), array($string)) - ); - } - } - - /** - * Remove PaymentHoldReasons from the list. - * - * @param string $string - * @return $this - */ - public function removePaymentHoldReason($string) - { - return $this->setPaymentHoldReasons( - array_diff($this->getPaymentHoldReasons(), array($string)) - ); - } - - /** - * Transaction fee applicable for this payment. - * - * @param \PayPal\Api\Currency $transaction_fee - * - * @return $this - */ - public function setTransactionFee($transaction_fee) - { - $this->transaction_fee = $transaction_fee; - return $this; - } - - /** - * Transaction fee applicable for this payment. - * - * @return \PayPal\Api\Currency - */ - public function getTransactionFee() - { - return $this->transaction_fee; - } - - /** - * Net amount the merchant receives for this transaction in their receivable currency. Returned only in cross-currency use cases where a merchant bills a buyer in a non-primary currency for that buyer. - * - * @param \PayPal\Api\Currency $receivable_amount - * - * @return $this - */ - public function setReceivableAmount($receivable_amount) - { - $this->receivable_amount = $receivable_amount; - return $this; - } - - /** - * Net amount the merchant receives for this transaction in their receivable currency. Returned only in cross-currency use cases where a merchant bills a buyer in a non-primary currency for that buyer. - * - * @return \PayPal\Api\Currency - */ - public function getReceivableAmount() - { - return $this->receivable_amount; - } - - /** - * Exchange rate applied for this transaction. Returned only in cross-currency use cases where a merchant bills a buyer in a non-primary currency for that buyer. - * - * @param string $exchange_rate - * - * @return $this - */ - public function setExchangeRate($exchange_rate) - { - $this->exchange_rate = $exchange_rate; - return $this; - } - - /** - * Exchange rate applied for this transaction. Returned only in cross-currency use cases where a merchant bills a buyer in a non-primary currency for that buyer. - * - * @return string - */ - public function getExchangeRate() - { - return $this->exchange_rate; - } - - /** - * Fraud Management Filter (FMF) details applied for the payment that could result in accept, deny, or pending action. Returned in a payment response only if the merchant has enabled FMF in the profile settings and one of the fraud filters was triggered based on those settings. See [Fraud Management Filters Summary](/docs/classic/fmf/integration-guide/FMFSummary/) for more information. - * - * @param \PayPal\Api\FmfDetails $fmf_details - * - * @return $this - */ - public function setFmfDetails($fmf_details) - { - $this->fmf_details = $fmf_details; - return $this; - } - - /** - * Fraud Management Filter (FMF) details applied for the payment that could result in accept, deny, or pending action. Returned in a payment response only if the merchant has enabled FMF in the profile settings and one of the fraud filters was triggered based on those settings. See [Fraud Management Filters Summary](/docs/classic/fmf/integration-guide/FMFSummary/) for more information. - * - * @return \PayPal\Api\FmfDetails - */ - public function getFmfDetails() - { - return $this->fmf_details; - } - - /** - * Receipt id is a payment identification number returned for guest users to identify the payment. - * - * @param string $receipt_id - * - * @return $this - */ - public function setReceiptId($receipt_id) - { - $this->receipt_id = $receipt_id; - return $this; - } - - /** - * Receipt id is a payment identification number returned for guest users to identify the payment. - * - * @return string - */ - public function getReceiptId() - { - return $this->receipt_id; - } - - /** - * ID of the payment resource on which this transaction is based. - * - * @param string $parent_payment - * - * @return $this - */ - public function setParentPayment($parent_payment) - { - $this->parent_payment = $parent_payment; - return $this; - } - - /** - * ID of the payment resource on which this transaction is based. - * - * @return string - */ - public function getParentPayment() - { - return $this->parent_payment; - } - - /** - * Response codes returned by the processor concerning the submitted payment. Only supported when the `payment_method` is set to `credit_card`. - * - * @param \PayPal\Api\ProcessorResponse $processor_response - * - * @return $this - */ - public function setProcessorResponse($processor_response) - { - $this->processor_response = $processor_response; - return $this; - } - - /** - * Response codes returned by the processor concerning the submitted payment. Only supported when the `payment_method` is set to `credit_card`. - * - * @return \PayPal\Api\ProcessorResponse - */ - public function getProcessorResponse() - { - return $this->processor_response; - } - - /** - * ID of the billing agreement used as reference to execute this transaction. - * - * @param string $billing_agreement_id - * - * @return $this - */ - public function setBillingAgreementId($billing_agreement_id) - { - $this->billing_agreement_id = $billing_agreement_id; - return $this; - } - - /** - * ID of the billing agreement used as reference to execute this transaction. - * - * @return string - */ - public function getBillingAgreementId() - { - return $this->billing_agreement_id; - } - - /** - * Time of sale as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6) - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * Time of sale as defined in [RFC 3339 Section 5.6](http://tools.ietf.org/html/rfc3339#section-5.6) - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * Time the resource was last updated in UTC ISO8601 format. - * - * @param string $update_time - * - * @return $this - */ - public function setUpdateTime($update_time) - { - $this->update_time = $update_time; - return $this; - } - - /** - * Time the resource was last updated in UTC ISO8601 format. - * - * @return string - */ - public function getUpdateTime() - { - return $this->update_time; - } - - /** - * Shows details for a sale, by ID. Returns only sales that were created through the REST API. - * - * @param string $saleId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Sale - */ - public static function get($saleId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($saleId, 'saleId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payments/sale/$saleId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Sale(); - $ret->fromJson($json); - return $ret; - } - - /** - * Refund a completed payment by passing the sale_id in the request URI. In addition, include an empty JSON payload in the request body for a full refund. For a partial refund, include an amount object in the request body. - * - * @deprecated Please use #refundSale instead. - * @param Refund $refund - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Refund - */ - public function refund($refund, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($refund, 'refund'); - $payLoad = $refund->toJSON(); - $json = self::executeCall( - "/v1/payments/sale/{$this->getId()}/refund", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Refund(); - $ret->fromJson($json); - return $ret; - } - - /** - * Refunds a sale, by ID. For a full refund, include an empty payload in the JSON request body. For a partial refund, include an `amount` object in the JSON request body. - * - * @param RefundRequest $refundRequest - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return DetailedRefund - */ - public function refundSale($refundRequest, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($refundRequest, 'refundRequest'); - $payLoad = $refundRequest->toJSON(); - $json = self::executeCall( - "/v1/payments/sale/{$this->getId()}/refund", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new DetailedRefund(); - $ret->fromJson($json); - return $ret; - } -} diff --git a/paypal/PayPal/Api/Search.php b/paypal/PayPal/Api/Search.php deleted file mode 100644 index 333d99d..0000000 --- a/paypal/PayPal/Api/Search.php +++ /dev/null @@ -1,498 +0,0 @@ -email = $email; - return $this; - } - - /** - * The initial letters of the email address. - * - * @return string - */ - public function getEmail() - { - return $this->email; - } - - /** - * The initial letters of the recipient's first name. - * - * @param string $recipient_first_name - * - * @return $this - */ - public function setRecipientFirstName($recipient_first_name) - { - $this->recipient_first_name = $recipient_first_name; - return $this; - } - - /** - * The initial letters of the recipient's first name. - * - * @return string - */ - public function getRecipientFirstName() - { - return $this->recipient_first_name; - } - - /** - * The initial letters of the recipient's last name. - * - * @param string $recipient_last_name - * - * @return $this - */ - public function setRecipientLastName($recipient_last_name) - { - $this->recipient_last_name = $recipient_last_name; - return $this; - } - - /** - * The initial letters of the recipient's last name. - * - * @return string - */ - public function getRecipientLastName() - { - return $this->recipient_last_name; - } - - /** - * The initial letters of the recipient's business name. - * - * @param string $recipient_business_name - * - * @return $this - */ - public function setRecipientBusinessName($recipient_business_name) - { - $this->recipient_business_name = $recipient_business_name; - return $this; - } - - /** - * The initial letters of the recipient's business name. - * - * @return string - */ - public function getRecipientBusinessName() - { - return $this->recipient_business_name; - } - - /** - * The invoice number. - * - * @param string $number - * - * @return $this - */ - public function setNumber($number) - { - $this->number = $number; - return $this; - } - - /** - * The invoice number. - * - * @return string - */ - public function getNumber() - { - return $this->number; - } - - /** - * The invoice status. - * Valid Values: ["DRAFT", "SENT", "PAID", "MARKED_AS_PAID", "CANCELLED", "REFUNDED", "PARTIALLY_REFUNDED", "MARKED_AS_REFUNDED"] - * - * @param string $status - * - * @return $this - */ - public function setStatus($status) - { - $this->status = $status; - return $this; - } - - /** - * The invoice status. - * - * @return string - */ - public function getStatus() - { - return $this->status; - } - - /** - * The lower limit of the total amount. - * - * @param \PayPal\Api\Currency $lower_total_amount - * - * @return $this - */ - public function setLowerTotalAmount($lower_total_amount) - { - $this->lower_total_amount = $lower_total_amount; - return $this; - } - - /** - * The lower limit of the total amount. - * - * @return \PayPal\Api\Currency - */ - public function getLowerTotalAmount() - { - return $this->lower_total_amount; - } - - /** - * The upper limit of total amount. - * - * @param \PayPal\Api\Currency $upper_total_amount - * - * @return $this - */ - public function setUpperTotalAmount($upper_total_amount) - { - $this->upper_total_amount = $upper_total_amount; - return $this; - } - - /** - * The upper limit of total amount. - * - * @return \PayPal\Api\Currency - */ - public function getUpperTotalAmount() - { - return $this->upper_total_amount; - } - - /** - * The start date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $start_invoice_date - * - * @return $this - */ - public function setStartInvoiceDate($start_invoice_date) - { - $this->start_invoice_date = $start_invoice_date; - return $this; - } - - /** - * The start date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getStartInvoiceDate() - { - return $this->start_invoice_date; - } - - /** - * The end date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $end_invoice_date - * - * @return $this - */ - public function setEndInvoiceDate($end_invoice_date) - { - $this->end_invoice_date = $end_invoice_date; - return $this; - } - - /** - * The end date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getEndInvoiceDate() - { - return $this->end_invoice_date; - } - - /** - * The start due date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $start_due_date - * - * @return $this - */ - public function setStartDueDate($start_due_date) - { - $this->start_due_date = $start_due_date; - return $this; - } - - /** - * The start due date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getStartDueDate() - { - return $this->start_due_date; - } - - /** - * The end due date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $end_due_date - * - * @return $this - */ - public function setEndDueDate($end_due_date) - { - $this->end_due_date = $end_due_date; - return $this; - } - - /** - * The end due date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getEndDueDate() - { - return $this->end_due_date; - } - - /** - * The start payment date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $start_payment_date - * - * @return $this - */ - public function setStartPaymentDate($start_payment_date) - { - $this->start_payment_date = $start_payment_date; - return $this; - } - - /** - * The start payment date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getStartPaymentDate() - { - return $this->start_payment_date; - } - - /** - * The end payment date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $end_payment_date - * - * @return $this - */ - public function setEndPaymentDate($end_payment_date) - { - $this->end_payment_date = $end_payment_date; - return $this; - } - - /** - * The end payment date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getEndPaymentDate() - { - return $this->end_payment_date; - } - - /** - * The start creation date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $start_creation_date - * - * @return $this - */ - public function setStartCreationDate($start_creation_date) - { - $this->start_creation_date = $start_creation_date; - return $this; - } - - /** - * The start creation date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getStartCreationDate() - { - return $this->start_creation_date; - } - - /** - * The end creation date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @param string $end_creation_date - * - * @return $this - */ - public function setEndCreationDate($end_creation_date) - { - $this->end_creation_date = $end_creation_date; - return $this; - } - - /** - * The end creation date for the invoice. Date format is *yyyy*-*MM*-*dd* *z*, as defined in [Internet Date/Time Format](http://tools.ietf.org/html/rfc3339#section-5.6). - * - * @return string - */ - public function getEndCreationDate() - { - return $this->end_creation_date; - } - - /** - * The offset for the search results. - * - * @param \PayPal\Api\number $page - * - * @return $this - */ - public function setPage($page) - { - $this->page = $page; - return $this; - } - - /** - * The offset for the search results. - * - * @return \PayPal\Api\number - */ - public function getPage() - { - return $this->page; - } - - /** - * The page size for the search results. - * - * @param \PayPal\Api\number $page_size - * - * @return $this - */ - public function setPageSize($page_size) - { - $this->page_size = $page_size; - return $this; - } - - /** - * The page size for the search results. - * - * @return \PayPal\Api\number - */ - public function getPageSize() - { - return $this->page_size; - } - - /** - * Indicates whether the total count appears in the response. Default is `false`. - * - * @param bool $total_count_required - * - * @return $this - */ - public function setTotalCountRequired($total_count_required) - { - $this->total_count_required = $total_count_required; - return $this; - } - - /** - * Indicates whether the total count appears in the response. Default is `false`. - * - * @return bool - */ - public function getTotalCountRequired() - { - return $this->total_count_required; - } - - /** - * A flag indicating whether search is on invoices archived by merchant. true - returns archived / false returns unarchived / null returns all. - * - * @param bool $archived - * - * @return $this - */ - public function setArchived($archived) - { - $this->archived = $archived; - return $this; - } - - /** - * A flag indicating whether search is on invoices archived by merchant. true - returns archived / false returns unarchived / null returns all. - * - * @return bool - */ - public function getArchived() - { - return $this->archived; - } - -} diff --git a/paypal/PayPal/Api/ShippingAddress.php b/paypal/PayPal/Api/ShippingAddress.php deleted file mode 100644 index c7d29f7..0000000 --- a/paypal/PayPal/Api/ShippingAddress.php +++ /dev/null @@ -1,108 +0,0 @@ -id = $id; - return $this; - } - - /** - * Address ID assigned in PayPal system. - * @deprecated Not publicly available - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Name of the recipient at this address. - * - * @param string $recipient_name - * - * @return $this - */ - public function setRecipientName($recipient_name) - { - $this->recipient_name = $recipient_name; - return $this; - } - - /** - * Name of the recipient at this address. - * - * @return string - */ - public function getRecipientName() - { - return $this->recipient_name; - } - - /** - * Default shipping address of the Payer. - * @deprecated Not publicly available - * @param bool $default_address - * - * @return $this - */ - public function setDefaultAddress($default_address) - { - $this->default_address = $default_address; - return $this; - } - - /** - * Default shipping address of the Payer. - * @deprecated Not publicly available - * @return bool - */ - public function getDefaultAddress() - { - return $this->default_address; - } - - /** - * Shipping Address marked as preferred by Payer. - * @deprecated Not publicly available - * @param bool $preferred_address - * - * @return $this - */ - public function setPreferredAddress($preferred_address) - { - $this->preferred_address = $preferred_address; - return $this; - } - - /** - * Shipping Address marked as preferred by Payer. - * @deprecated Not publicly available - * @return bool - */ - public function getPreferredAddress() - { - return $this->preferred_address; - } - -} diff --git a/paypal/PayPal/Api/ShippingCost.php b/paypal/PayPal/Api/ShippingCost.php deleted file mode 100644 index 96694c4..0000000 --- a/paypal/PayPal/Api/ShippingCost.php +++ /dev/null @@ -1,65 +0,0 @@ -amount = $amount; - return $this; - } - - /** - * The shipping cost, as an amount. Valid range is from 0 to 999999.99. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - - /** - * The tax percentage on the shipping amount. - * - * @param \PayPal\Api\Tax $tax - * - * @return $this - */ - public function setTax($tax) - { - $this->tax = $tax; - return $this; - } - - /** - * The tax percentage on the shipping amount. - * - * @return \PayPal\Api\Tax - */ - public function getTax() - { - return $this->tax; - } - -} diff --git a/paypal/PayPal/Api/ShippingInfo.php b/paypal/PayPal/Api/ShippingInfo.php deleted file mode 100644 index f851e67..0000000 --- a/paypal/PayPal/Api/ShippingInfo.php +++ /dev/null @@ -1,158 +0,0 @@ -first_name = $first_name; - return $this; - } - - /** - * The invoice recipient first name. Maximum length is 30 characters. - * - * @return string - */ - public function getFirstName() - { - return $this->first_name; - } - - /** - * The invoice recipient last name. Maximum length is 30 characters. - * - * @param string $last_name - * - * @return $this - */ - public function setLastName($last_name) - { - $this->last_name = $last_name; - return $this; - } - - /** - * The invoice recipient last name. Maximum length is 30 characters. - * - * @return string - */ - public function getLastName() - { - return $this->last_name; - } - - /** - * The invoice recipient company business name. Maximum length is 100 characters. - * - * @param string $business_name - * - * @return $this - */ - public function setBusinessName($business_name) - { - $this->business_name = $business_name; - return $this; - } - - /** - * The invoice recipient company business name. Maximum length is 100 characters. - * - * @return string - */ - public function getBusinessName() - { - return $this->business_name; - } - - /** - * - * - * @param \PayPal\Api\Phone $phone - * @return $this - */ - public function setPhone($phone) - { - $this->phone = $phone; - return $this; - } - - /** - * - * - * @return \PayPal\Api\Phone - */ - public function getPhone() - { - return $this->phone; - } - - /** - * @deprecated Not used anymore - * - * @param string $email - * @return $this - */ - public function setEmail($email) - { - $this->email = $email; - return $this; - } - - /** - * @deprecated Not used anymore - * - * @return string - */ - public function getEmail() - { - return $this->email; - } - - /** - * Address of the invoice recipient. - * - * @param \PayPal\Api\InvoiceAddress $address - * - * @return $this - */ - public function setAddress($address) - { - $this->address = $address; - return $this; - } - - /** - * The invoice recipient address. - * - * @return \PayPal\Api\InvoiceAddress - */ - public function getAddress() - { - return $this->address; - } - -} diff --git a/paypal/PayPal/Api/Tax.php b/paypal/PayPal/Api/Tax.php deleted file mode 100644 index e83192c..0000000 --- a/paypal/PayPal/Api/Tax.php +++ /dev/null @@ -1,117 +0,0 @@ -id = $id; - return $this; - } - - /** - * The resource ID. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * The tax name. Maximum length is 20 characters. - * - * @param string $name - * - * @return $this - */ - public function setName($name) - { - $this->name = $name; - return $this; - } - - /** - * The tax name. Maximum length is 20 characters. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * The rate of the specified tax. Valid range is from 0.001 to 99.999. - * - * @param string|double $percent - * - * @return $this - */ - public function setPercent($percent) - { - NumericValidator::validate($percent, "Percent"); - $percent = FormatConverter::formatToPrice($percent); - $this->percent = $percent; - return $this; - } - - /** - * The rate of the specified tax. Valid range is from 0.001 to 99.999. - * - * @return string - */ - public function getPercent() - { - return $this->percent; - } - - /** - * The tax as a monetary amount. Cannot be specified in a request. - * - * @param \PayPal\Api\Currency $amount - * - * @return $this - */ - public function setAmount($amount) - { - $this->amount = $amount; - return $this; - } - - /** - * The tax as a monetary amount. Cannot be specified in a request. - * - * @return \PayPal\Api\Currency - */ - public function getAmount() - { - return $this->amount; - } - -} diff --git a/paypal/PayPal/Api/Template.php b/paypal/PayPal/Api/Template.php deleted file mode 100644 index 4602e9b..0000000 --- a/paypal/PayPal/Api/Template.php +++ /dev/null @@ -1,309 +0,0 @@ -template_id = $template_id; - return $this; - } - - /** - * Unique identifier id of the template. - * - * @return string - */ - public function getTemplateId() - { - return $this->template_id; - } - - /** - * Name of the template. - * - * @param string $name - * - * @return $this - */ - public function setName($name) - { - $this->name = $name; - return $this; - } - - /** - * Name of the template. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Indicates that this template is merchant's default. There can be only one template which can be a default. - * - * @param bool $default - * - * @return $this - */ - public function setDefault($default) - { - $this->default = $default; - return $this; - } - - /** - * Indicates that this template is merchant's default. There can be only one template which can be a default. - * - * @return bool - */ - public function getDefault() - { - return $this->default; - } - - /** - * Customized invoice data which is saved as template - * - * @param \PayPal\Api\TemplateData $template_data - * - * @return $this - */ - public function setTemplateData($template_data) - { - $this->template_data = $template_data; - return $this; - } - - /** - * Customized invoice data which is saved as template - * - * @return \PayPal\Api\TemplateData - */ - public function getTemplateData() - { - return $this->template_data; - } - - /** - * Settings for each template - * - * @param \PayPal\Api\TemplateSettings[] $settings - * - * @return $this - */ - public function setSettings($settings) - { - $this->settings = $settings; - return $this; - } - - /** - * Settings for each template - * - * @return \PayPal\Api\TemplateSettings[] - */ - public function getSettings() - { - return $this->settings; - } - - /** - * Append Settings to the list. - * - * @param \PayPal\Api\TemplateSettings $templateSettings - * @return $this - */ - public function addSetting($templateSettings) - { - if (!$this->getSettings()) { - return $this->setSettings(array($templateSettings)); - } else { - return $this->setSettings( - array_merge($this->getSettings(), array($templateSettings)) - ); - } - } - - /** - * Remove Settings from the list. - * - * @param \PayPal\Api\TemplateSettings $templateSettings - * @return $this - */ - public function removeSetting($templateSettings) - { - return $this->setSettings( - array_diff($this->getSettings(), array($templateSettings)) - ); - } - - /** - * Unit of measure for the template, possible values are Quantity, Hours, Amount. - * - * @param string $unit_of_measure - * - * @return $this - */ - public function setUnitOfMeasure($unit_of_measure) - { - $this->unit_of_measure = $unit_of_measure; - return $this; - } - - /** - * Unit of measure for the template, possible values are Quantity, Hours, Amount. - * - * @return string - */ - public function getUnitOfMeasure() - { - return $this->unit_of_measure; - } - - /** - * Indicates whether this is a custom template created by the merchant. Non custom templates are system generated - * - * @param bool $custom - * - * @return $this - */ - public function setCustom($custom) - { - $this->custom = $custom; - return $this; - } - - /** - * Indicates whether this is a custom template created by the merchant. Non custom templates are system generated - * - * @return bool - */ - public function getCustom() - { - return $this->custom; - } - - /** - * Retrieve the details for a particular template by passing the template ID to the request URI. - * - * @param string $templateId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Template - */ - public static function get($templateId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($templateId, 'templateId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/invoicing/templates/$templateId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Template(); - $ret->fromJson($json); - return $ret; - } - - /** - * Delete a particular template by passing the template ID to the request URI. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function delete($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getTemplateId(), "Id"); - $payLoad = ""; - self::executeCall( - "/v1/invoicing/templates/{$this->getTemplateId()}", - "DELETE", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Creates a template. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Template - */ - public function create($apiContext = null, $restCall = null) - { - $json = self::executeCall( - "/v1/invoicing/templates", - "POST", - $this->toJSON(), - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Update an existing template by passing the template ID to the request URI. In addition, pass a complete template object in the request JSON. Partial updates are not supported. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Template - */ - public function update($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getTemplateId(), "Id"); - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/invoicing/templates/{$this->getTemplateId()}", - "PUT", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - -} diff --git a/paypal/PayPal/Api/TemplateData.php b/paypal/PayPal/Api/TemplateData.php deleted file mode 100644 index 64d56c1..0000000 --- a/paypal/PayPal/Api/TemplateData.php +++ /dev/null @@ -1,619 +0,0 @@ -merchant_info = $merchant_info; - return $this; - } - - /** - * Information about the merchant who is sending the invoice. - * - * @return \PayPal\Api\MerchantInfo - */ - public function getMerchantInfo() - { - return $this->merchant_info; - } - - /** - * The required invoice recipient email address and any optional billing information. One recipient is supported. - * - * @param \PayPal\Api\BillingInfo[] $billing_info - * - * @return $this - */ - public function setBillingInfo($billing_info) - { - $this->billing_info = $billing_info; - return $this; - } - - /** - * The required invoice recipient email address and any optional billing information. One recipient is supported. - * - * @return \PayPal\Api\BillingInfo[] - */ - public function getBillingInfo() - { - return $this->billing_info; - } - - /** - * Append BillingInfo to the list. - * - * @param \PayPal\Api\BillingInfo $billingInfo - * @return $this - */ - public function addBillingInfo($billingInfo) - { - if (!$this->getBillingInfo()) { - return $this->setBillingInfo(array($billingInfo)); - } else { - return $this->setBillingInfo( - array_merge($this->getBillingInfo(), array($billingInfo)) - ); - } - } - - /** - * Remove BillingInfo from the list. - * - * @param \PayPal\Api\BillingInfo $billingInfo - * @return $this - */ - public function removeBillingInfo($billingInfo) - { - return $this->setBillingInfo( - array_diff($this->getBillingInfo(), array($billingInfo)) - ); - } - - /** - * For invoices sent by email, one or more email addresses to which to send a Cc: copy of the notification. Supports only email addresses under participant. - * - * @param string[] $cc_info - * - * @return $this - */ - public function setCcInfo($cc_info) - { - $this->cc_info = $cc_info; - return $this; - } - - /** - * For invoices sent by email, one or more email addresses to which to send a Cc: copy of the notification. Supports only email addresses under participant. - * - * @return string[] - */ - public function getCcInfo() - { - return $this->cc_info; - } - - /** - * Append CcInfo to the list. - * - * @param string $email - * @return $this - */ - public function addCcInfo($email) - { - if (!$this->getCcInfo()) { - return $this->setCcInfo(array($email)); - } else { - return $this->setCcInfo( - array_merge($this->getCcInfo(), array($email)) - ); - } - } - - /** - * Remove CcInfo from the list. - * - * @param string $email - * @return $this - */ - public function removeCcInfo($email) - { - return $this->setCcInfo( - array_diff($this->getCcInfo(), array($email)) - ); - } - - /** - * The shipping information for entities to whom items are being shipped. - * - * @param \PayPal\Api\ShippingInfo $shipping_info - * - * @return $this - */ - public function setShippingInfo($shipping_info) - { - $this->shipping_info = $shipping_info; - return $this; - } - - /** - * The shipping information for entities to whom items are being shipped. - * - * @return \PayPal\Api\ShippingInfo - */ - public function getShippingInfo() - { - return $this->shipping_info; - } - - /** - * The list of items to include in the invoice. Maximum value is 100 items per invoice. - * - * @param \PayPal\Api\InvoiceItem[] $items - * - * @return $this - */ - public function setItems($items) - { - $this->items = $items; - return $this; - } - - /** - * The list of items to include in the invoice. Maximum value is 100 items per invoice. - * - * @return \PayPal\Api\InvoiceItem[] - */ - public function getItems() - { - return $this->items; - } - - /** - * Append Items to the list. - * - * @param \PayPal\Api\InvoiceItem $invoiceItem - * @return $this - */ - public function addItem($invoiceItem) - { - if (!$this->getItems()) { - return $this->setItems(array($invoiceItem)); - } else { - return $this->setItems( - array_merge($this->getItems(), array($invoiceItem)) - ); - } - } - - /** - * Remove Items from the list. - * - * @param \PayPal\Api\InvoiceItem $invoiceItem - * @return $this - */ - public function removeItem($invoiceItem) - { - return $this->setItems( - array_diff($this->getItems(), array($invoiceItem)) - ); - } - - /** - * Optional. The payment deadline for the invoice. Value is either `term_type` or `due_date` but not both. - * - * @param \PayPal\Api\PaymentTerm $payment_term - * - * @return $this - */ - public function setPaymentTerm($payment_term) - { - $this->payment_term = $payment_term; - return $this; - } - - /** - * Optional. The payment deadline for the invoice. Value is either `term_type` or `due_date` but not both. - * - * @return \PayPal\Api\PaymentTerm - */ - public function getPaymentTerm() - { - return $this->payment_term; - } - - /** - * Reference data, such as PO number, to add to the invoice. Maximum length is 60 characters. - * - * @param string $reference - * - * @return $this - */ - public function setReference($reference) - { - $this->reference = $reference; - return $this; - } - - /** - * Reference data, such as PO number, to add to the invoice. Maximum length is 60 characters. - * - * @return string - */ - public function getReference() - { - return $this->reference; - } - - /** - * The invoice level discount, as a percent or an amount value. - * - * @param \PayPal\Api\Cost $discount - * - * @return $this - */ - public function setDiscount($discount) - { - $this->discount = $discount; - return $this; - } - - /** - * The invoice level discount, as a percent or an amount value. - * - * @return \PayPal\Api\Cost - */ - public function getDiscount() - { - return $this->discount; - } - - /** - * The shipping cost, as a percent or an amount value. - * - * @param \PayPal\Api\ShippingCost $shipping_cost - * - * @return $this - */ - public function setShippingCost($shipping_cost) - { - $this->shipping_cost = $shipping_cost; - return $this; - } - - /** - * The shipping cost, as a percent or an amount value. - * - * @return \PayPal\Api\ShippingCost - */ - public function getShippingCost() - { - return $this->shipping_cost; - } - - /** - * The custom amount to apply on an invoice. If you include a label, the amount cannot be empty. - * - * @param \PayPal\Api\CustomAmount $custom - * - * @return $this - */ - public function setCustom($custom) - { - $this->custom = $custom; - return $this; - } - - /** - * The custom amount to apply on an invoice. If you include a label, the amount cannot be empty. - * - * @return \PayPal\Api\CustomAmount - */ - public function getCustom() - { - return $this->custom; - } - - /** - * Indicates whether the invoice allows a partial payment. If set to `false`, invoice must be paid in full. If set to `true`, the invoice allows partial payments. Default is `false`. - * - * @param bool $allow_partial_payment - * - * @return $this - */ - public function setAllowPartialPayment($allow_partial_payment) - { - $this->allow_partial_payment = $allow_partial_payment; - return $this; - } - - /** - * Indicates whether the invoice allows a partial payment. If set to `false`, invoice must be paid in full. If set to `true`, the invoice allows partial payments. Default is `false`. - * - * @return bool - */ - public function getAllowPartialPayment() - { - return $this->allow_partial_payment; - } - - /** - * If `allow_partial_payment` is set to `true`, the minimum amount allowed for a partial payment. - * - * @param \PayPal\Api\Currency $minimum_amount_due - * - * @return $this - */ - public function setMinimumAmountDue($minimum_amount_due) - { - $this->minimum_amount_due = $minimum_amount_due; - return $this; - } - - /** - * If `allow_partial_payment` is set to `true`, the minimum amount allowed for a partial payment. - * - * @return \PayPal\Api\Currency - */ - public function getMinimumAmountDue() - { - return $this->minimum_amount_due; - } - - /** - * Indicates whether tax is calculated before or after a discount. If set to `false`, the tax is calculated before a discount. If set to `true`, the tax is calculated after a discount. Default is `false`. - * - * @param bool $tax_calculated_after_discount - * - * @return $this - */ - public function setTaxCalculatedAfterDiscount($tax_calculated_after_discount) - { - $this->tax_calculated_after_discount = $tax_calculated_after_discount; - return $this; - } - - /** - * Indicates whether tax is calculated before or after a discount. If set to `false`, the tax is calculated before a discount. If set to `true`, the tax is calculated after a discount. Default is `false`. - * - * @return bool - */ - public function getTaxCalculatedAfterDiscount() - { - return $this->tax_calculated_after_discount; - } - - /** - * Indicates whether the unit price includes tax. Default is `false`. - * - * @param bool $tax_inclusive - * - * @return $this - */ - public function setTaxInclusive($tax_inclusive) - { - $this->tax_inclusive = $tax_inclusive; - return $this; - } - - /** - * Indicates whether the unit price includes tax. Default is `false`. - * - * @return bool - */ - public function getTaxInclusive() - { - return $this->tax_inclusive; - } - - /** - * General terms of the invoice. 4000 characters max. - * - * @param string $terms - * - * @return $this - */ - public function setTerms($terms) - { - $this->terms = $terms; - return $this; - } - - /** - * General terms of the invoice. 4000 characters max. - * - * @return string - */ - public function getTerms() - { - return $this->terms; - } - - /** - * Note to the payer. 4000 characters max. - * - * @param string $note - * - * @return $this - */ - public function setNote($note) - { - $this->note = $note; - return $this; - } - - /** - * Note to the payer. 4000 characters max. - * - * @return string - */ - public function getNote() - { - return $this->note; - } - - /** - * A private bookkeeping memo for the merchant. Maximum length is 150 characters. - * - * @param string $merchant_memo - * - * @return $this - */ - public function setMerchantMemo($merchant_memo) - { - $this->merchant_memo = $merchant_memo; - return $this; - } - - /** - * A private bookkeeping memo for the merchant. Maximum length is 150 characters. - * - * @return string - */ - public function getMerchantMemo() - { - return $this->merchant_memo; - } - - /** - * Full URL of an external image to use as the logo. Maximum length is 4000 characters. - * - * @param string $logo_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setLogoUrl($logo_url) - { - UrlValidator::validate($logo_url, "LogoUrl"); - $this->logo_url = $logo_url; - return $this; - } - - /** - * Full URL of an external image to use as the logo. Maximum length is 4000 characters. - * - * @return string - */ - public function getLogoUrl() - { - return $this->logo_url; - } - - /** - * The total amount of the invoice. - * - * @param \PayPal\Api\Currency $total_amount - * - * @return $this - */ - public function setTotalAmount($total_amount) - { - $this->total_amount = $total_amount; - return $this; - } - - /** - * The total amount of the invoice. - * - * @return \PayPal\Api\Currency - */ - public function getTotalAmount() - { - return $this->total_amount; - } - - /** - * List of files attached to the invoice. - * - * @param \PayPal\Api\FileAttachment[] $attachments - * - * @return $this - */ - public function setAttachments($attachments) - { - $this->attachments = $attachments; - return $this; - } - - /** - * List of files attached to the invoice. - * - * @return \PayPal\Api\FileAttachment[] - */ - public function getAttachments() - { - return $this->attachments; - } - - /** - * Append Attachments to the list. - * - * @param \PayPal\Api\FileAttachment $fileAttachment - * @return $this - */ - public function addAttachment($fileAttachment) - { - if (!$this->getAttachments()) { - return $this->setAttachments(array($fileAttachment)); - } else { - return $this->setAttachments( - array_merge($this->getAttachments(), array($fileAttachment)) - ); - } - } - - /** - * Remove Attachments from the list. - * - * @param \PayPal\Api\FileAttachment $fileAttachment - * @return $this - */ - public function removeAttachment($fileAttachment) - { - return $this->setAttachments( - array_diff($this->getAttachments(), array($fileAttachment)) - ); - } - -} diff --git a/paypal/PayPal/Api/TemplateSettings.php b/paypal/PayPal/Api/TemplateSettings.php deleted file mode 100644 index 60be389..0000000 --- a/paypal/PayPal/Api/TemplateSettings.php +++ /dev/null @@ -1,65 +0,0 @@ -field_name = $field_name; - return $this; - } - - /** - * The field name (for any field in template_data) for which the corresponding display preferences will be mapped to. - * - * @return string - */ - public function getFieldName() - { - return $this->field_name; - } - - /** - * Settings metadata for each field. - * - * @param \PayPal\Api\TemplateSettingsMetadata $display_preference - * - * @return $this - */ - public function setDisplayPreference($display_preference) - { - $this->display_preference = $display_preference; - return $this; - } - - /** - * Settings metadata for each field. - * - * @return \PayPal\Api\TemplateSettingsMetadata - */ - public function getDisplayPreference() - { - return $this->display_preference; - } - -} diff --git a/paypal/PayPal/Api/TemplateSettingsMetadata.php b/paypal/PayPal/Api/TemplateSettingsMetadata.php deleted file mode 100644 index 7084a04..0000000 --- a/paypal/PayPal/Api/TemplateSettingsMetadata.php +++ /dev/null @@ -1,41 +0,0 @@ -hidden = $hidden; - return $this; - } - - /** - * Indicates whether this field should be hidden. default is false - * - * @return bool - */ - public function getHidden() - { - return $this->hidden; - } - -} diff --git a/paypal/PayPal/Api/Templates.php b/paypal/PayPal/Api/Templates.php deleted file mode 100644 index c9b0ad0..0000000 --- a/paypal/PayPal/Api/Templates.php +++ /dev/null @@ -1,292 +0,0 @@ -addresses = $addresses; - return $this; - } - - /** - * List of addresses in merchant's profile. - * - * @return \PayPal\Api\Address[] - */ - public function getAddresses() - { - return $this->addresses; - } - - /** - * Append Addresses to the list. - * - * @param \PayPal\Api\Address $address - * @return $this - */ - public function addAddress($address) - { - if (!$this->getAddresses()) { - return $this->setAddresses(array($address)); - } else { - return $this->setAddresses( - array_merge($this->getAddresses(), array($address)) - ); - } - } - - /** - * Remove Addresses from the list. - * - * @param \PayPal\Api\Address $address - * @return $this - */ - public function removeAddress($address) - { - return $this->setAddresses( - array_diff($this->getAddresses(), array($address)) - ); - } - - /** - * List of emails in merchant's profile. - * - * @param string[] $emails - * - * @return $this - */ - public function setEmails($emails) - { - $this->emails = $emails; - return $this; - } - - /** - * List of emails in merchant's profile. - * - * @return string[] - */ - public function getEmails() - { - return $this->emails; - } - - /** - * Append Emails to the list. - * - * @param string $string - * @return $this - */ - public function addEmail($string) - { - if (!$this->getEmails()) { - return $this->setEmails(array($string)); - } else { - return $this->setEmails( - array_merge($this->getEmails(), array($string)) - ); - } - } - - /** - * Remove Emails from the list. - * - * @param string $string - * @return $this - */ - public function removeEmail($string) - { - return $this->setEmails( - array_diff($this->getEmails(), array($string)) - ); - } - - /** - * List of phone numbers in merchant's profile. - * - * @param \PayPal\Api\Phone[] $phones - * - * @return $this - */ - public function setPhones($phones) - { - $this->phones = $phones; - return $this; - } - - /** - * List of phone numbers in merchant's profile. - * - * @return \PayPal\Api\Phone[] - */ - public function getPhones() - { - return $this->phones; - } - - /** - * Append Phones to the list. - * - * @param \PayPal\Api\Phone $phone - * @return $this - */ - public function addPhone($phone) - { - if (!$this->getPhones()) { - return $this->setPhones(array($phone)); - } else { - return $this->setPhones( - array_merge($this->getPhones(), array($phone)) - ); - } - } - - /** - * Remove Phones from the list. - * - * @param \PayPal\Api\Phone $phone - * @return $this - */ - public function removePhone($phone) - { - return $this->setPhones( - array_diff($this->getPhones(), array($phone)) - ); - } - - /** - * Array of templates. - * - * @param \PayPal\Api\Template[] $templates - * - * @return $this - */ - public function setTemplates($templates) - { - $this->templates = $templates; - return $this; - } - - /** - * Array of templates. - * - * @return \PayPal\Api\Template[] - */ - public function getTemplates() - { - return $this->templates; - } - - /** - * Append Templates to the list. - * - * @param \PayPal\Api\Template $template - * @return $this - */ - public function addTemplate($template) - { - if (!$this->getTemplates()) { - return $this->setTemplates(array($template)); - } else { - return $this->setTemplates( - array_merge($this->getTemplates(), array($template)) - ); - } - } - - /** - * Remove Templates from the list. - * - * @param \PayPal\Api\Template $template - * @return $this - */ - public function removeTemplate($template) - { - return $this->setTemplates( - array_diff($this->getTemplates(), array($template)) - ); - } - - /** - * Retrieve the details for a particular template by passing the template ID to the request URI. - * - * @deprecated Please use `Template::get()` instead. - * @see Template::get - * @param string $templateId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Template - */ - public static function get($templateId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($templateId, 'templateId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/invoicing/templates/$templateId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Template(); - $ret->fromJson($json); - return $ret; - } - - /** - * Retrieves the template information of the merchant. - * - * @param array $params - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Templates - */ - public static function getAll($params = array(), $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($params, 'params'); - $payLoad = ""; - $allowedParams = array( - 'fields' => 1, - ); - $json = self::executeCall( - "/v1/invoicing/templates/" . "?" . http_build_query(array_intersect_key($params, $allowedParams)), - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Templates(); - $ret->fromJson($json); - return $ret; - } -} diff --git a/paypal/PayPal/Api/Terms.php b/paypal/PayPal/Api/Terms.php deleted file mode 100644 index 8bc1c84..0000000 --- a/paypal/PayPal/Api/Terms.php +++ /dev/null @@ -1,161 +0,0 @@ -id = $id; - return $this; - } - - /** - * Identifier of the terms. 128 characters max. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * Term type. Allowed values: `MONTHLY`, `WEEKLY`, `YEARLY`. - * - * @param string $type - * - * @return $this - */ - public function setType($type) - { - $this->type = $type; - return $this; - } - - /** - * Term type. Allowed values: `MONTHLY`, `WEEKLY`, `YEARLY`. - * - * @return string - */ - public function getType() - { - return $this->type; - } - - /** - * Max Amount associated with this term. - * - * @param \PayPal\Api\Currency $max_billing_amount - * - * @return $this - */ - public function setMaxBillingAmount($max_billing_amount) - { - $this->max_billing_amount = $max_billing_amount; - return $this; - } - - /** - * Max Amount associated with this term. - * - * @return \PayPal\Api\Currency - */ - public function getMaxBillingAmount() - { - return $this->max_billing_amount; - } - - /** - * How many times money can be pulled during this term. - * - * @param string $occurrences - * - * @return $this - */ - public function setOccurrences($occurrences) - { - $this->occurrences = $occurrences; - return $this; - } - - /** - * How many times money can be pulled during this term. - * - * @return string - */ - public function getOccurrences() - { - return $this->occurrences; - } - - /** - * Amount_range associated with this term. - * - * @param \PayPal\Api\Currency $amount_range - * - * @return $this - */ - public function setAmountRange($amount_range) - { - $this->amount_range = $amount_range; - return $this; - } - - /** - * Amount_range associated with this term. - * - * @return \PayPal\Api\Currency - */ - public function getAmountRange() - { - return $this->amount_range; - } - - /** - * Buyer's ability to edit the amount in this term. - * - * @param string $buyer_editable - * - * @return $this - */ - public function setBuyerEditable($buyer_editable) - { - $this->buyer_editable = $buyer_editable; - return $this; - } - - /** - * Buyer's ability to edit the amount in this term. - * - * @return string - */ - public function getBuyerEditable() - { - return $this->buyer_editable; - } - -} diff --git a/paypal/PayPal/Api/Transaction.php b/paypal/PayPal/Api/Transaction.php deleted file mode 100644 index 8520e63..0000000 --- a/paypal/PayPal/Api/Transaction.php +++ /dev/null @@ -1,63 +0,0 @@ -transactions = $transactions; - return $this; - } - - /** - * Additional transactions for complex payment scenarios. - * - * @return self[] - */ - public function getTransactions() - { - return $this->transactions; - } - - /** - * Identifier to the purchase unit corresponding to this sale transaction - * - * @param string $purchase_unit_reference_id - * @deprecated Use #setReferenceId instead - * @return $this - */ - public function setPurchaseUnitReferenceId($purchase_unit_reference_id) - { - $this->purchase_unit_reference_id = $purchase_unit_reference_id; - return $this; - } - - /** - * Identifier to the purchase unit corresponding to this sale transaction - * - * @deprecated Use #getReferenceId instead - * @return string - */ - public function getPurchaseUnitReferenceId() - { - return $this->purchase_unit_reference_id; - } - -} diff --git a/paypal/PayPal/Api/TransactionBase.php b/paypal/PayPal/Api/TransactionBase.php deleted file mode 100644 index 0fcbc70..0000000 --- a/paypal/PayPal/Api/TransactionBase.php +++ /dev/null @@ -1,40 +0,0 @@ -related_resources = $related_resources; - return $this; - } - - /** - * List of financial transactions (Sale, Authorization, Capture, Refund) related to the payment. - * - * @return \PayPal\Api\RelatedResources[] - */ - public function getRelatedResources() - { - return $this->related_resources; - } - -} diff --git a/paypal/PayPal/Api/Transactions.php b/paypal/PayPal/Api/Transactions.php deleted file mode 100644 index f7a09c1..0000000 --- a/paypal/PayPal/Api/Transactions.php +++ /dev/null @@ -1,42 +0,0 @@ -amount = $amount; - return $this; - } - - /** - * Amount being collected. - * - * @return \PayPal\Api\Amount - */ - public function getAmount() - { - return $this->amount; - } - -} diff --git a/paypal/PayPal/Api/VerifyWebhookSignature.php b/paypal/PayPal/Api/VerifyWebhookSignature.php deleted file mode 100644 index edb4bbd..0000000 --- a/paypal/PayPal/Api/VerifyWebhookSignature.php +++ /dev/null @@ -1,256 +0,0 @@ -auth_algo = $auth_algo; - return $this; - } - - /** - * The algorithm that PayPal uses to generate the signature and that you can use to verify the signature. Extract this value from the `PAYPAL-AUTH-ALGO` response header, which is received with the webhook notification. - * - * @return string - */ - public function getAuthAlgo() - { - return $this->auth_algo; - } - - /** - * The X.509 public key certificate. Download the certificate from this URL and use it to verify the signature. Extract this value from the `PAYPAL-CERT-URL` response header, which is received with the webhook notification. - * - * @param string $cert_url - * @throws \InvalidArgumentException - * @return $this - */ - public function setCertUrl($cert_url) - { - UrlValidator::validate($cert_url, "CertUrl"); - $this->cert_url = $cert_url; - return $this; - } - - /** - * The X.509 public key certificate. Download the certificate from this URL and use it to verify the signature. Extract this value from the `PAYPAL-CERT-URL` response header, which is received with the webhook notification. - * - * @return string - */ - public function getCertUrl() - { - return $this->cert_url; - } - - /** - * The ID of the HTTP transmission. Contained in the `PAYPAL-TRANSMISSION-ID` header of the notification message. - * - * @param string $transmission_id - * - * @return $this - */ - public function setTransmissionId($transmission_id) - { - $this->transmission_id = $transmission_id; - return $this; - } - - /** - * The ID of the HTTP transmission. Contained in the `PAYPAL-TRANSMISSION-ID` header of the notification message. - * - * @return string - */ - public function getTransmissionId() - { - return $this->transmission_id; - } - - /** - * The PayPal-generated asymmetric signature. Extract this value from the `PAYPAL-TRANSMISSION-SIG` response header, which is received with the webhook notification. - * - * @param string $transmission_sig - * - * @return $this - */ - public function setTransmissionSig($transmission_sig) - { - $this->transmission_sig = $transmission_sig; - return $this; - } - - /** - * The PayPal-generated asymmetric signature. Extract this value from the `PAYPAL-TRANSMISSION-SIG` response header, which is received with the webhook notification. - * - * @return string - */ - public function getTransmissionSig() - { - return $this->transmission_sig; - } - - /** - * The date and time of the HTTP transmission. Contained in the `PAYPAL-TRANSMISSION-TIME` header of the notification message. - * - * @param string $transmission_time - * - * @return $this - */ - public function setTransmissionTime($transmission_time) - { - $this->transmission_time = $transmission_time; - return $this; - } - - /** - * The date and time of the HTTP transmission. Contained in the `PAYPAL-TRANSMISSION-TIME` header of the notification message. - * - * @return string - */ - public function getTransmissionTime() - { - return $this->transmission_time; - } - - /** - * The ID of the webhook as configured in your Developer Portal account. - * - * @param string $webhook_id - * - * @return $this - */ - public function setWebhookId($webhook_id) - { - $this->webhook_id = $webhook_id; - return $this; - } - - /** - * The ID of the webhook as configured in your Developer Portal account. - * - * @return string - */ - public function getWebhookId() - { - return $this->webhook_id; - } - - /** - * The webhook notification, which is the content of the HTTP `POST` request body. - * @deprecated Please use setRequestBody($request_body) instead. - * @param \PayPal\Api\WebhookEvent $webhook_event - * - * @return $this - */ - public function setWebhookEvent($webhook_event) - { - $this->webhook_event = $webhook_event; - return $this; - } - - /** - * The webhook notification, which is the content of the HTTP `POST` request body. - * - * @return \PayPal\Api\WebhookEvent - */ - public function getWebhookEvent() - { - return $this->webhook_event; - } - - /** - * The content of the HTTP `POST` request body of the webhook notification you received as a string. - * - * @param string $request_body - * - * @return $this - */ - public function setRequestBody($request_body) - { - $this->request_body = $request_body; - return $this; - } - - /** - * The content of the HTTP `POST` request body of the webhook notification you received as a string. - * - * @return string - */ - public function getRequestBody() - { - return $this->request_body; - } - - /** - * Verifies a webhook signature. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return VerifyWebhookSignatureResponse - */ - public function post($apiContext = null, $restCall = null) - { - $payLoad = $this->toJSON(); - - $json = self::executeCall( - "/v1/notifications/verify-webhook-signature", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new VerifyWebhookSignatureResponse(); - $ret->fromJson($json); - return $ret; - } - - public function toJSON($options = 0) - { - if (!is_null($this->request_body)) { - $valuesToEncode = $this->toArray(); - unset($valuesToEncode['webhook_event']); - unset($valuesToEncode['request_body']); - - $payLoad = "{"; - foreach ($valuesToEncode as $field => $value) { - $payLoad .= "\"$field\": \"$value\","; - } - $payLoad .= "\"webhook_event\": $this->request_body"; - $payLoad .= "}"; - return $payLoad; - } else { - $payLoad = parent::toJSON($options); - return $payLoad; - } - } -} diff --git a/paypal/PayPal/Api/VerifyWebhookSignatureResponse.php b/paypal/PayPal/Api/VerifyWebhookSignatureResponse.php deleted file mode 100644 index 75b0845..0000000 --- a/paypal/PayPal/Api/VerifyWebhookSignatureResponse.php +++ /dev/null @@ -1,42 +0,0 @@ -verification_status = $verification_status; - return $this; - } - - /** - * The status of the signature verification. Value is `SUCCESS` or `FAILURE`. - * - * @return string - */ - public function getVerificationStatus() - { - return $this->verification_status; - } - -} diff --git a/paypal/PayPal/Api/WebProfile.php b/paypal/PayPal/Api/WebProfile.php deleted file mode 100644 index 4ff1a80..0000000 --- a/paypal/PayPal/Api/WebProfile.php +++ /dev/null @@ -1,305 +0,0 @@ -id = $id; - return $this; - } - - /** - * The unique ID of the web experience profile. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * The web experience profile name. Unique for a specified merchant's profiles. - * - * @param string $name - * - * @return $this - */ - public function setName($name) - { - $this->name = $name; - return $this; - } - - /** - * The web experience profile name. Unique for a specified merchant's profiles. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Indicates whether the profile persists for three hours or permanently. Set to `false` to persist the profile permanently. Set to `true` to persist the profile for three hours. - * - * @param bool $temporary - * - * @return $this - */ - public function setTemporary($temporary) - { - $this->temporary = $temporary; - return $this; - } - - /** - * Indicates whether the profile persists for three hours or permanently. Set to `false` to persist the profile permanently. Set to `true` to persist the profile for three hours. - * - * @return bool - */ - public function getTemporary() - { - return $this->temporary; - } - - /** - * Parameters for flow configuration. - * - * @param \PayPal\Api\FlowConfig $flow_config - * - * @return $this - */ - public function setFlowConfig($flow_config) - { - $this->flow_config = $flow_config; - return $this; - } - - /** - * Parameters for flow configuration. - * - * @return \PayPal\Api\FlowConfig - */ - public function getFlowConfig() - { - return $this->flow_config; - } - - /** - * Parameters for input fields customization. - * - * @param \PayPal\Api\InputFields $input_fields - * - * @return $this - */ - public function setInputFields($input_fields) - { - $this->input_fields = $input_fields; - return $this; - } - - /** - * Parameters for input fields customization. - * - * @return \PayPal\Api\InputFields - */ - public function getInputFields() - { - return $this->input_fields; - } - - /** - * Parameters for style and presentation. - * - * @param \PayPal\Api\Presentation $presentation - * - * @return $this - */ - public function setPresentation($presentation) - { - $this->presentation = $presentation; - return $this; - } - - /** - * Parameters for style and presentation. - * - * @return \PayPal\Api\Presentation - */ - public function getPresentation() - { - return $this->presentation; - } - - /** - * Creates a web experience profile. Pass the profile name and details in the JSON request body. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return CreateProfileResponse - */ - public function create($apiContext = null, $restCall = null) - { - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/payment-experience/web-profiles/", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new CreateProfileResponse(); - $ret->fromJson($json); - return $ret; - } - - /** - * Updates a web experience profile. Pass the ID of the profile to the request URI and pass the profile details in the JSON request body. If your request omits any profile detail fields, the operation removes the previously set values for those fields. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function update($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = $this->toJSON(); - self::executeCall( - "/v1/payment-experience/web-profiles/{$this->getId()}", - "PUT", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Partially-updates a web experience profile. Pass the profile ID to the request URI. Pass a patch object with the operation, path of the profile location to update, and, if needed, a new value to complete the operation in the JSON request body. - * - * @param Patch[] $patch - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function partial_update($patch, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($patch, 'patch'); - $payload = array(); - foreach ($patch as $patchObject) { - $payload[] = $patchObject->toArray(); - } - $payLoad = json_encode($payload); - self::executeCall( - "/v1/payment-experience/web-profiles/{$this->getId()}", - "PATCH", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - - /** - * Shows details for a web experience profile, by ID. - * - * @param string $profileId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return WebProfile - */ - public static function get($profileId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($profileId, 'profileId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/payment-experience/web-profiles/$profileId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new WebProfile(); - $ret->fromJson($json); - return $ret; - } - - /** - * Lists all web experience profiles for a merchant or subject. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return WebProfile[] - */ - public static function get_list($apiContext = null, $restCall = null) - { - $payLoad = ""; - $json = self::executeCall( - "/v1/payment-experience/web-profiles/", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - return WebProfile::getList($json); - } - - /** - * Deletes a web experience profile, by ID. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function delete($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = ""; - self::executeCall( - "/v1/payment-experience/web-profiles/{$this->getId()}", - "DELETE", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - -} diff --git a/paypal/PayPal/Api/Webhook.php b/paypal/PayPal/Api/Webhook.php deleted file mode 100644 index 549b588..0000000 --- a/paypal/PayPal/Api/Webhook.php +++ /dev/null @@ -1,260 +0,0 @@ -id = $id; - return $this; - } - - /** - * The ID of the webhook. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * The URL that is configured to listen on `localhost` for incoming `POST` notification messages that contain event information. - * - * @param string $url - * @throws \InvalidArgumentException - * @return $this - */ - public function setUrl($url) - { - UrlValidator::validate($url, "Url"); - $this->url = $url; - return $this; - } - - /** - * The URL that is configured to listen on `localhost` for incoming `POST` notification messages that contain event information. - * - * @return string - */ - public function getUrl() - { - return $this->url; - } - - /** - * A list of up to ten events to which to subscribe your webhook. To subscribe to all events including new events as they are added, specify the asterisk (`*`) wildcard. To replace the `event_types` array, specify the `*` wildcard. To see all supported events, [list available events](#available-event-type.list). - * - * @param \PayPal\Api\WebhookEventType[] $event_types - * - * @return $this - */ - public function setEventTypes($event_types) - { - $this->event_types = $event_types; - return $this; - } - - /** - * A list of up to ten events to which to subscribe your webhook. To subscribe to all events including new events as they are added, specify the asterisk (`*`) wildcard. To replace the `event_types` array, specify the `*` wildcard. To see all supported events, [list available events](#available-event-type.list). - * - * @return \PayPal\Api\WebhookEventType[] - */ - public function getEventTypes() - { - return $this->event_types; - } - - /** - * Append EventTypes to the list. - * - * @param \PayPal\Api\WebhookEventType $webhookEventType - * @return $this - */ - public function addEventType($webhookEventType) - { - if (!$this->getEventTypes()) { - return $this->setEventTypes(array($webhookEventType)); - } else { - return $this->setEventTypes( - array_merge($this->getEventTypes(), array($webhookEventType)) - ); - } - } - - /** - * Remove EventTypes from the list. - * - * @param \PayPal\Api\WebhookEventType $webhookEventType - * @return $this - */ - public function removeEventType($webhookEventType) - { - return $this->setEventTypes( - array_diff($this->getEventTypes(), array($webhookEventType)) - ); - } - - /** - * Subscribes your webhook listener to events. A successful call returns a [`webhook`](/docs/api/webhooks/#definition-webhook) object, which includes the webhook ID for later use. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Webhook - */ - public function create($apiContext = null, $restCall = null) - { - $payLoad = $this->toJSON(); - $json = self::executeCall( - "/v1/notifications/webhooks", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Shows details for a webhook, by ID. - * - * @param string $webhookId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Webhook - */ - public static function get($webhookId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($webhookId, 'webhookId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/notifications/webhooks/$webhookId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new Webhook(); - $ret->fromJson($json); - return $ret; - } - - /** - * Retrieves all Webhooks for the application associated with access token. - * - * @deprecated Please use Webhook#getAllWithParams instead. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return WebhookList - */ - public static function getAll($apiContext = null, $restCall = null) - { - return self::getAllWithParams(array(), $apiContext, $restCall); - } - - /** - * Lists all webhooks for an app. - * - * @param array $params - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return WebhookList - */ - public static function getAllWithParams($params = array(), $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($params, 'params'); - $payLoad = ""; - $allowedParams = array( - 'anchor_type' => 1, - ); - $json = self::executeCall( - "/v1/notifications/webhooks?" . http_build_query(array_intersect_key($params, $allowedParams)), - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new WebhookList(); - $ret->fromJson($json); - return $ret; - } - - /** - * Replaces webhook fields with new values. Pass a `json_patch` object with `replace` operation and `path`, which is `/url` for a URL or `/event_types` for events. The `value` is either the URL or a list of events. - * - * @param PatchRequest $patchRequest - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return Webhook - */ - public function update($patchRequest, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - ArgumentValidator::validate($patchRequest, 'patchRequest'); - $payLoad = $patchRequest->toJSON(); - $json = self::executeCall( - "/v1/notifications/webhooks/{$this->getId()}", - "PATCH", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Deletes a webhook, by ID. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return bool - */ - public function delete($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = ""; - self::executeCall( - "/v1/notifications/webhooks/{$this->getId()}", - "DELETE", - $payLoad, - null, - $apiContext, - $restCall - ); - return true; - } - -} diff --git a/paypal/PayPal/Api/WebhookEvent.php b/paypal/PayPal/Api/WebhookEvent.php deleted file mode 100644 index f222b27..0000000 --- a/paypal/PayPal/Api/WebhookEvent.php +++ /dev/null @@ -1,312 +0,0 @@ -id = $id; - return $this; - } - - /** - * The ID of the webhook event notification. - * - * @return string - */ - public function getId() - { - return $this->id; - } - - /** - * The date and time when the webhook event notification was created. - * - * @param string $create_time - * - * @return $this - */ - public function setCreateTime($create_time) - { - $this->create_time = $create_time; - return $this; - } - - /** - * The date and time when the webhook event notification was created. - * - * @return string - */ - public function getCreateTime() - { - return $this->create_time; - } - - /** - * The name of the resource related to the webhook notification event. - * - * @param string $resource_type - * - * @return $this - */ - public function setResourceType($resource_type) - { - $this->resource_type = $resource_type; - return $this; - } - - /** - * The name of the resource related to the webhook notification event. - * - * @return string - */ - public function getResourceType() - { - return $this->resource_type; - } - - /** - * The version of the event. - * - * @param string $event_version - * - * @return $this - */ - public function setEventVersion($event_version) - { - $this->event_version = $event_version; - return $this; - } - - /** - * The version of the event. - * - * @return string - */ - public function getEventVersion() - { - return $this->event_version; - } - - /** - * The event that triggered the webhook event notification. - * - * @param string $event_type - * - * @return $this - */ - public function setEventType($event_type) - { - $this->event_type = $event_type; - return $this; - } - - /** - * The event that triggered the webhook event notification. - * - * @return string - */ - public function getEventType() - { - return $this->event_type; - } - - /** - * A summary description for the event notification. For example, `A payment authorization was created.` - * - * @param string $summary - * - * @return $this - */ - public function setSummary($summary) - { - $this->summary = $summary; - return $this; - } - - /** - * A summary description for the event notification. For example, `A payment authorization was created.` - * - * @return string - */ - public function getSummary() - { - return $this->summary; - } - - /** - * The resource that triggered the webhook event notification. - * - * @param \PayPal\Common\PayPalModel $resource - * - * @return $this - */ - public function setResource($resource) - { - $this->resource = $resource; - return $this; - } - - /** - * The resource that triggered the webhook event notification. - * - * @return \PayPal\Common\PayPalModel - */ - public function getResource() - { - return $this->resource; - } - - /** - * Validates Received Event from Webhook, and returns the webhook event object. Because security verifications by verifying certificate chain is not enabled in PHP yet, - * we need to fallback to default behavior of retrieving the ID attribute of the data, and make a separate GET call to PayPal APIs, to retrieve the data. - * This is important to do again, as hacker could have faked the data, and the retrieved data cannot be trusted without either doing client side security validation, or making a separate call - * to PayPal APIs to retrieve the actual data. This limits the hacker to mimick a fake data, as hacker wont be able to predict the Id correctly. - * - * NOTE: PLEASE DO NOT USE THE DATA PROVIDED IN WEBHOOK DIRECTLY, AS HACKER COULD PASS IN FAKE DATA. IT IS VERY IMPORTANT THAT YOU RETRIEVE THE ID AND MAKE A SEPARATE CALL TO PAYPAL API. - * - * @deprecated Please use `VerifyWebhookSignature->post()` instead. - * - * @param string $body - * @param ApiContext $apiContext - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return WebhookEvent - * @throws \InvalidArgumentException if input arguments are incorrect, or Id is not found. - * @throws PayPalConnectionException if any exception from PayPal APIs other than not found is sent. - */ - public static function validateAndGetReceivedEvent($body, $apiContext = null, $restCall = null) - { - if ($body == null | empty($body)){ - throw new \InvalidArgumentException("Body cannot be null or empty"); - } - if (!JsonValidator::validate($body, true)) { - throw new \InvalidArgumentException("Request Body is not a valid JSON."); - } - $object = new WebhookEvent($body); - if ($object->getId() == null) { - throw new \InvalidArgumentException("Id attribute not found in JSON. Possible reason could be invalid JSON Object"); - } - try { - return self::get($object->getId(), $apiContext, $restCall); - } catch(PayPalConnectionException $ex) { - if ($ex->getCode() == 404) { - // It means that the given webhook event Id is not found for this merchant. - throw new \InvalidArgumentException("Webhook Event Id provided in the data is incorrect. This could happen if anyone other than PayPal is faking the incoming webhook data."); - } - throw $ex; - } - } - - /** - * Retrieves the Webhooks event resource identified by event_id. Can be used to retrieve the payload for an event. - * - * @param string $eventId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return WebhookEvent - */ - public static function get($eventId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($eventId, 'eventId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/notifications/webhooks-events/$eventId", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new WebhookEvent(); - $ret->fromJson($json); - return $ret; - } - - /** - * Resends a webhook event notification, by ID. Any pending notifications are not resent. - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return WebhookEvent - */ - public function resend($apiContext = null, $restCall = null) - { - ArgumentValidator::validate($this->getId(), "Id"); - $payLoad = ""; - $json = self::executeCall( - "/v1/notifications/webhooks-events/{$this->getId()}/resend", - "POST", - $payLoad, - null, - $apiContext, - $restCall - ); - $this->fromJson($json); - return $this; - } - - /** - * Lists webhook event notifications. Use query parameters to filter the response. - * - * @param array $params - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return WebhookEventList - */ - public static function all($params, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($params, 'params'); - $payLoad = ""; - $allowedParams = array( - 'page_size' => 1, - 'start_time' => 1, - 'end_time' => 1, - 'transaction_id' => 1, - 'event_type' => 1, - ); - $json = self::executeCall( - "/v1/notifications/webhooks-events" . "?" . http_build_query(array_intersect_key($params, $allowedParams)), - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new WebhookEventList(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/WebhookEventList.php b/paypal/PayPal/Api/WebhookEventList.php deleted file mode 100644 index 8c8c7ed..0000000 --- a/paypal/PayPal/Api/WebhookEventList.php +++ /dev/null @@ -1,149 +0,0 @@ -events = $events; - return $this; - } - - /** - * A list of webhooks events. - * - * @return \PayPal\Api\WebhookEvent[] - */ - public function getEvents() - { - return $this->events; - } - - /** - * Append Events to the list. - * - * @param \PayPal\Api\WebhookEvent $webhookEvent - * @return $this - */ - public function addEvent($webhookEvent) - { - if (!$this->getEvents()) { - return $this->setEvents(array($webhookEvent)); - } else { - return $this->setEvents( - array_merge($this->getEvents(), array($webhookEvent)) - ); - } - } - - /** - * Remove Events from the list. - * - * @param \PayPal\Api\WebhookEvent $webhookEvent - * @return $this - */ - public function removeEvent($webhookEvent) - { - return $this->setEvents( - array_diff($this->getEvents(), array($webhookEvent)) - ); - } - - /** - * The number of items in each range of results. Note that the response might have fewer items than the requested `page_size` value. - * - * @param int $count - * - * @return $this - */ - public function setCount($count) - { - $this->count = $count; - return $this; - } - - /** - * The number of items in each range of results. Note that the response might have fewer items than the requested `page_size` value. - * - * @return int - */ - public function getCount() - { - return $this->count; - } - - /** - * Sets Links - * - * @param \PayPal\Api\Links[] $links - * - * @return $this - */ - public function setLinks($links) - { - $this->links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - -} diff --git a/paypal/PayPal/Api/WebhookEventType.php b/paypal/PayPal/Api/WebhookEventType.php deleted file mode 100644 index 2aedc60..0000000 --- a/paypal/PayPal/Api/WebhookEventType.php +++ /dev/null @@ -1,140 +0,0 @@ -name = $name; - return $this; - } - - /** - * The unique event name. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * A human-readable description of the event. - * - * @param string $description - * - * @return $this - */ - public function setDescription($description) - { - $this->description = $description; - return $this; - } - - /** - * A human-readable description of the event. - * - * @return string - */ - public function getDescription() - { - return $this->description; - } - - /** - * The status of a webhook event. - * - * @param string $status - * - * @return $this - */ - public function setStatus($status) - { - $this->status = $status; - return $this; - } - - /** - * The status of a webhook event. - * - * @return string - */ - public function getStatus() - { - return $this->status; - } - - /** - * Lists event subscriptions for a webhook, by ID. - * - * @param string $webhookId - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return WebhookEventTypeList - */ - public static function subscribedEventTypes($webhookId, $apiContext = null, $restCall = null) - { - ArgumentValidator::validate($webhookId, 'webhookId'); - $payLoad = ""; - $json = self::executeCall( - "/v1/notifications/webhooks/$webhookId/event-types", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new WebhookEventTypeList(); - $ret->fromJson($json); - return $ret; - } - - /** - * Lists available events to which any webhook can subscribe. For a list of supported events, see [Webhook events](/docs/integration/direct/rest/webhooks/webhook-events/). - * - * @param ApiContext $apiContext is the APIContext for this call. It can be used to pass dynamic configuration and credentials. - * @param PayPalRestCall $restCall is the Rest Call Service that is used to make rest calls - * @return WebhookEventTypeList - */ - public static function availableEventTypes($apiContext = null, $restCall = null) - { - $payLoad = ""; - $json = self::executeCall( - "/v1/notifications/webhooks-event-types", - "GET", - $payLoad, - null, - $apiContext, - $restCall - ); - $ret = new WebhookEventTypeList(); - $ret->fromJson($json); - return $ret; - } - -} diff --git a/paypal/PayPal/Api/WebhookEventTypeList.php b/paypal/PayPal/Api/WebhookEventTypeList.php deleted file mode 100644 index 63fa2c4..0000000 --- a/paypal/PayPal/Api/WebhookEventTypeList.php +++ /dev/null @@ -1,71 +0,0 @@ -event_types = $event_types; - return $this; - } - - /** - * A list of webhook events. - * - * @return \PayPal\Api\WebhookEventType[] - */ - public function getEventTypes() - { - return $this->event_types; - } - - /** - * Append EventTypes to the list. - * - * @param \PayPal\Api\WebhookEventType $webhookEventType - * @return $this - */ - public function addEventType($webhookEventType) - { - if (!$this->getEventTypes()) { - return $this->setEventTypes(array($webhookEventType)); - } else { - return $this->setEventTypes( - array_merge($this->getEventTypes(), array($webhookEventType)) - ); - } - } - - /** - * Remove EventTypes from the list. - * - * @param \PayPal\Api\WebhookEventType $webhookEventType - * @return $this - */ - public function removeEventType($webhookEventType) - { - return $this->setEventTypes( - array_diff($this->getEventTypes(), array($webhookEventType)) - ); - } - -} diff --git a/paypal/PayPal/Api/WebhookList.php b/paypal/PayPal/Api/WebhookList.php deleted file mode 100644 index 9ccbb36..0000000 --- a/paypal/PayPal/Api/WebhookList.php +++ /dev/null @@ -1,71 +0,0 @@ -webhooks = $webhooks; - return $this; - } - - /** - * A list of webhooks. - * - * @return \PayPal\Api\Webhook[] - */ - public function getWebhooks() - { - return $this->webhooks; - } - - /** - * Append Webhooks to the list. - * - * @param \PayPal\Api\Webhook $webhook - * @return $this - */ - public function addWebhook($webhook) - { - if (!$this->getWebhooks()) { - return $this->setWebhooks(array($webhook)); - } else { - return $this->setWebhooks( - array_merge($this->getWebhooks(), array($webhook)) - ); - } - } - - /** - * Remove Webhooks from the list. - * - * @param \PayPal\Api\Webhook $webhook - * @return $this - */ - public function removeWebhook($webhook) - { - return $this->setWebhooks( - array_diff($this->getWebhooks(), array($webhook)) - ); - } - -} diff --git a/paypal/PayPal/Auth/OAuthTokenCredential.php b/paypal/PayPal/Auth/OAuthTokenCredential.php deleted file mode 100644 index 91e4a02..0000000 --- a/paypal/PayPal/Auth/OAuthTokenCredential.php +++ /dev/null @@ -1,317 +0,0 @@ -clientId = $clientId; - $this->clientSecret = $clientSecret; - $this->cipher = new Cipher($this->clientSecret); - $this->targetSubject = $targetSubject; - } - - /** - * Get Client ID - * - * @return string - */ - public function getClientId() - { - return $this->clientId; - } - - /** - * Get Client Secret - * - * @return string - */ - public function getClientSecret() - { - return $this->clientSecret; - } - - /** - * Get AccessToken - * - * @param $config - * - * @return null|string - */ - public function getAccessToken($config) - { - // Check if we already have accessToken in Cache - if ($this->accessToken && (time() - $this->tokenCreateTime) < ($this->tokenExpiresIn - self::$expiryBufferTime)) { - return $this->accessToken; - } - // Check for persisted data first - $token = AuthorizationCache::pull($config, $this->clientId); - if ($token) { - // We found it - // This code block is for backward compatibility only. - if (array_key_exists('accessToken', $token)) { - $this->accessToken = $token['accessToken']; - } - - $this->tokenCreateTime = $token['tokenCreateTime']; - $this->tokenExpiresIn = $token['tokenExpiresIn']; - - // Case where we have an old unencrypted cache file - if (!array_key_exists('accessTokenEncrypted', $token)) { - AuthorizationCache::push($config, $this->clientId, $this->encrypt($this->accessToken), $this->tokenCreateTime, $this->tokenExpiresIn); - } else { - $this->accessToken = $this->decrypt($token['accessTokenEncrypted']); - } - } - - // Check if Access Token is not null and has not expired. - // The API returns expiry time as a relative time unit - // We use a buffer time when checking for token expiry to account - // for API call delays and any delay between the time the token is - // retrieved and subsequently used - if ( - $this->accessToken != null && - (time() - $this->tokenCreateTime) > ($this->tokenExpiresIn - self::$expiryBufferTime) - ) { - $this->accessToken = null; - } - - - // If accessToken is Null, obtain a new token - if ($this->accessToken == null) { - // Get a new one by making calls to API - $this->updateAccessToken($config); - AuthorizationCache::push($config, $this->clientId, $this->encrypt($this->accessToken), $this->tokenCreateTime, $this->tokenExpiresIn); - } - - return $this->accessToken; - } - - - /** - * Get a Refresh Token from Authorization Code - * - * @param $config - * @param $authorizationCode - * @param array $params optional arrays to override defaults - * @return string|null - */ - public function getRefreshToken($config, $authorizationCode = null, $params = array()) - { - static $allowedParams = array( - 'grant_type' => 'authorization_code', - 'code' => 1, - 'redirect_uri' => 'urn:ietf:wg:oauth:2.0:oob', - 'response_type' => 'token' - ); - - $params = is_array($params) ? $params : array(); - if ($authorizationCode) { - //Override the authorizationCode if value is explicitly set - $params['code'] = $authorizationCode; - } - $payload = http_build_query(array_merge($allowedParams, array_intersect_key($params, $allowedParams))); - - $response = $this->getToken($config, $this->clientId, $this->clientSecret, $payload); - - if ($response != null && isset($response["refresh_token"])) { - return $response['refresh_token']; - } - - return null; - } - - /** - * Updates Access Token based on given input - * - * @param array $config - * @param string|null $refreshToken - * @return string - */ - public function updateAccessToken($config, $refreshToken = null) - { - $this->generateAccessToken($config, $refreshToken); - return $this->accessToken; - } - - /** - * Retrieves the token based on the input configuration - * - * @param array $config - * @param string $clientId - * @param string $clientSecret - * @param string $payload - * @return mixed - * @throws PayPalConfigurationException - * @throws \PayPal\Exception\PayPalConnectionException - */ - protected function getToken($config, $clientId, $clientSecret, $payload) - { - $httpConfig = new PayPalHttpConfig(null, 'POST', $config); - - // if proxy set via config, add it - if (!empty($config['http.Proxy'])) { - $httpConfig->setHttpProxy($config['http.Proxy']); - } - - $handlers = array(self::$AUTH_HANDLER); - - /** @var IPayPalHandler $handler */ - foreach ($handlers as $handler) { - if (!is_object($handler)) { - $fullHandler = "\\" . (string)$handler; - $handler = new $fullHandler(new ApiContext($this)); - } - $handler->handle($httpConfig, $payload, array('clientId' => $clientId, 'clientSecret' => $clientSecret)); - } - - $connection = new PayPalHttpConnection($httpConfig, $config); - $res = $connection->execute($payload); - $response = json_decode($res, true); - - return $response; - } - - - /** - * Generates a new access token - * - * @param array $config - * @param null|string $refreshToken - * @return null - * @throws PayPalConnectionException - */ - private function generateAccessToken($config, $refreshToken = null) - { - $params = array('grant_type' => 'client_credentials'); - if ($refreshToken != null) { - // If the refresh token is provided, it would get access token using refresh token - // Used for Future Payments - $params['grant_type'] = 'refresh_token'; - $params['refresh_token'] = $refreshToken; - } - if ($this->targetSubject != null) { - $params['target_subject'] = $this->targetSubject; - } - $payload = http_build_query($params); - $response = $this->getToken($config, $this->clientId, $this->clientSecret, $payload); - - if ($response == null || !isset($response["access_token"]) || !isset($response["expires_in"])) { - $this->accessToken = null; - $this->tokenExpiresIn = null; - PayPalLoggingManager::getInstance(__CLASS__)->warning("Could not generate new Access token. Invalid response from server: "); - throw new PayPalConnectionException(null, "Could not generate new Access token. Invalid response from server: "); - } else { - $this->accessToken = $response["access_token"]; - $this->tokenExpiresIn = $response["expires_in"]; - } - $this->tokenCreateTime = time(); - - return $this->accessToken; - } - - /** - * Helper method to encrypt data using clientSecret as key - * - * @param $data - * @return string - */ - public function encrypt($data) - { - return $this->cipher->encrypt($data); - } - - /** - * Helper method to decrypt data using clientSecret as key - * - * @param $data - * @return string - */ - public function decrypt($data) - { - return $this->cipher->decrypt($data); - } -} diff --git a/paypal/PayPal/Cache/AuthorizationCache.php b/paypal/PayPal/Cache/AuthorizationCache.php deleted file mode 100644 index 83910d3..0000000 --- a/paypal/PayPal/Cache/AuthorizationCache.php +++ /dev/null @@ -1,123 +0,0 @@ - $clientId, - 'accessTokenEncrypted' => $accessToken, - 'tokenCreateTime' => $tokenCreateTime, - 'tokenExpiresIn' => $tokenExpiresIn - ); - } - if (!file_put_contents($cachePath, json_encode($tokens))) { - throw new \Exception("Failed to write cache"); - }; - } - - /** - * Determines from the Configuration if caching is currently enabled/disabled - * - * @param $config - * @return bool - */ - public static function isEnabled($config) - { - $value = self::getConfigValue('cache.enabled', $config); - return empty($value) ? false : ((trim($value) == true || trim($value) == 'true')); - } - - /** - * Returns the cache file path - * - * @param $config - * @return string - */ - public static function cachePath($config) - { - $cachePath = self::getConfigValue('cache.FileName', $config); - return empty($cachePath) ? __DIR__ . self::$CACHE_PATH : $cachePath; - } - - /** - * Returns the Value of the key if found in given config, or from PayPal Config Manager - * Returns null if not found - * - * @param $key - * @param $config - * @return null|string - */ - private static function getConfigValue($key, $config) - { - $config = ($config && is_array($config)) ? $config : PayPalConfigManager::getInstance()->getConfigHashmap(); - return (array_key_exists($key, $config)) ? trim($config[$key]) : null; - } -} diff --git a/paypal/PayPal/Common/ArrayUtil.php b/paypal/PayPal/Common/ArrayUtil.php deleted file mode 100644 index 4b4ffaf..0000000 --- a/paypal/PayPal/Common/ArrayUtil.php +++ /dev/null @@ -1,27 +0,0 @@ - $v) { - if (is_int($k)) { - return false; - } - } - return true; - } -} diff --git a/paypal/PayPal/Common/PayPalModel.php b/paypal/PayPal/Common/PayPalModel.php deleted file mode 100644 index 2cab284..0000000 --- a/paypal/PayPal/Common/PayPalModel.php +++ /dev/null @@ -1,309 +0,0 @@ -fromJson($data) later after creating the object. - * - * @param array|string|null $data - * @throws \InvalidArgumentException - */ - public function __construct($data = null) - { - switch (gettype($data)) { - case "NULL": - break; - case "string": - JsonValidator::validate($data); - $this->fromJson($data); - break; - case "array": - $this->fromArray($data); - break; - default: - } - } - - /** - * Returns a list of Object from Array or Json String. It is generally used when your json - * contains an array of this object - * - * @param mixed $data Array object or json string representation - * @return array - */ - public static function getList($data) - { - // Return Null if Null - if ($data === null) { - return null; - } - - if (is_a($data, get_class(new \stdClass()))) { - //This means, root element is object - return new static(json_encode($data)); - } - - $list = array(); - - if (is_array($data)) { - $data = json_encode($data); - } - - if (JsonValidator::validate($data)) { - // It is valid JSON - $decoded = json_decode($data); - if ($decoded === null) { - return $list; - } - if (is_array($decoded)) { - foreach ($decoded as $k => $v) { - $list[] = self::getList($v); - } - } - if (is_a($decoded, get_class(new \stdClass()))) { - //This means, root element is object - $list[] = new static(json_encode($decoded)); - } - } - - return $list; - } - - /** - * Magic Get Method - * - * @param $key - * @return mixed - */ - public function __get($key) - { - if ($this->__isset($key)) { - return $this->_propMap[$key]; - } - return null; - } - - /** - * Magic Set Method - * - * @param $key - * @param $value - */ - public function __set($key, $value) - { - if (!is_array($value) && $value === null) { - $this->__unset($key); - } else { - $this->_propMap[$key] = $value; - } - } - - /** - * Converts the input key into a valid Setter Method Name - * - * @param $key - * @return mixed - */ - private function convertToCamelCase($key) - { - return str_replace(' ', '', ucwords(str_replace(array('_', '-'), ' ', $key))); - } - - /** - * Magic isSet Method - * - * @param $key - * @return bool - */ - public function __isset($key) - { - return isset($this->_propMap[$key]); - } - - /** - * Magic Unset Method - * - * @param $key - */ - public function __unset($key) - { - unset($this->_propMap[$key]); - } - - /** - * Converts Params to Array - * - * @param $param - * @return array - */ - private function _convertToArray($param) - { - $ret = array(); - foreach ($param as $k => $v) { - if ($v instanceof PayPalModel) { - $ret[$k] = $v->toArray(); - } elseif (is_array($v) && sizeof($v) <= 0) { - $ret[$k] = array(); - } elseif (is_array($v)) { - $ret[$k] = $this->_convertToArray($v); - } else { - $ret[$k] = $v; - } - } - // If the array is empty, which means an empty object, - // we need to convert array to StdClass object to properly - // represent JSON String - if (sizeof($ret) <= 0) { - $ret = new PayPalModel(); - } - return $ret; - } - - /** - * Fills object value from Array list - * - * @param $arr - * @return $this - */ - public function fromArray($arr) - { - if (!empty($arr)) { - // Iterate over each element in array - foreach ($arr as $k => $v) { - // If the value is an array, it means, it is an object after conversion - if (is_array($v)) { - // Determine the class of the object - if (($clazz = ReflectionUtil::getPropertyClass(get_class($this), $k)) != null) { - // If the value is an associative array, it means, its an object. Just make recursive call to it. - if (empty($v)) { - if (ReflectionUtil::isPropertyClassArray(get_class($this), $k)) { - // It means, it is an array of objects. - $this->assignValue($k, array()); - continue; - } - $o = new $clazz(); - //$arr = array(); - $this->assignValue($k, $o); - } elseif (ArrayUtil::isAssocArray($v)) { - /** @var self $o */ - $o = new $clazz(); - $o->fromArray($v); - $this->assignValue($k, $o); - } else { - // Else, value is an array of object/data - $arr = array(); - // Iterate through each element in that array. - foreach ($v as $nk => $nv) { - if (is_array($nv)) { - $o = new $clazz(); - $o->fromArray($nv); - $arr[$nk] = $o; - } else { - $arr[$nk] = $nv; - } - } - $this->assignValue($k, $arr); - } - } else { - $this->assignValue($k, $v); - } - } else { - $this->assignValue($k, $v); - } - } - } - return $this; - } - - private function assignValue($key, $value) - { - $setter = 'set'. $this->convertToCamelCase($key); - // If we find the setter, use that, otherwise use magic method. - if (method_exists($this, $setter)) { - $this->$setter($value); - } else { - $this->__set($key, $value); - } - } - - /** - * Fills object value from Json string - * - * @param $json - * @return $this - */ - public function fromJson($json) - { - return $this->fromArray(json_decode($json, true)); - } - - /** - * Returns array representation of object - * - * @return array - */ - public function toArray() - { - return $this->_convertToArray($this->_propMap); - } - - /** - * Returns object JSON representation - * - * @param int $options http://php.net/manual/en/json.constants.php - * @return string - */ - public function toJSON($options = 0) - { - // Because of PHP Version 5.3, we cannot use JSON_UNESCAPED_SLASHES option - // Instead we would use the str_replace command for now. - // TODO: Replace this code with return json_encode($this->toArray(), $options | 64); once we support PHP >= 5.4 - if (version_compare(phpversion(), '5.4.0', '>=') === true) { - return json_encode($this->toArray(), $options | 64); - } - return str_replace('\\/', '/', json_encode($this->toArray(), $options)); - } - - /** - * Magic Method for toString - * - * @return string - */ - public function __toString() - { - return $this->toJSON(128); - } -} diff --git a/paypal/PayPal/Common/PayPalResourceModel.php b/paypal/PayPal/Common/PayPalResourceModel.php deleted file mode 100644 index d1ba0f8..0000000 --- a/paypal/PayPal/Common/PayPalResourceModel.php +++ /dev/null @@ -1,120 +0,0 @@ -links = $links; - return $this; - } - - /** - * Gets Links - * - * @return \PayPal\Api\Links[] - */ - public function getLinks() - { - return $this->links; - } - - public function getLink($rel) - { - if (is_array($this->links)) { - foreach ($this->links as $link) { - if ($link->getRel() == $rel) { - return $link->getHref(); - } - } - } - return null; - } - - /** - * Append Links to the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function addLink($links) - { - if (!$this->getLinks()) { - return $this->setLinks(array($links)); - } else { - return $this->setLinks( - array_merge($this->getLinks(), array($links)) - ); - } - } - - /** - * Remove Links from the list. - * - * @param \PayPal\Api\Links $links - * @return $this - */ - public function removeLink($links) - { - return $this->setLinks( - array_diff($this->getLinks(), array($links)) - ); - } - - - /** - * Execute SDK Call to Paypal services - * - * @param string $url - * @param string $method - * @param string $payLoad - * @param array $headers - * @param ApiContext $apiContext - * @param PayPalRestCall $restCall - * @param array $handlers - * @return string json response of the object - */ - protected static function executeCall($url, $method, $payLoad, $headers = array(), $apiContext = null, $restCall = null, $handlers = array('PayPal\Handler\RestHandler')) - { - //Initialize the context and rest call object if not provided explicitly - $apiContext = $apiContext ? $apiContext : new ApiContext(self::$credential); - $restCall = $restCall ? $restCall : new PayPalRestCall($apiContext); - - //Make the execution call - $json = $restCall->execute($handlers, $url, $method, $payLoad, $headers); - return $json; - } - - /** - * Updates Access Token using long lived refresh token - * - * @param string|null $refreshToken - * @param ApiContext $apiContext - * @return void - */ - public function updateAccessToken($refreshToken, $apiContext) - { - $apiContext = $apiContext ? $apiContext : new ApiContext(self::$credential); - $apiContext->getCredential()->updateAccessToken($apiContext->getConfig(), $refreshToken); - } -} diff --git a/paypal/PayPal/Common/PayPalUserAgent.php b/paypal/PayPal/Common/PayPalUserAgent.php deleted file mode 100644 index c3131ed..0000000 --- a/paypal/PayPal/Common/PayPalUserAgent.php +++ /dev/null @@ -1,57 +0,0 @@ -getDocComment(), - $annots, - PREG_PATTERN_ORDER)) { - return null; - } - foreach ($annots[1] as $i => $annot) { - $annotations[strtolower($annot)] = empty($annots[2][$i]) ? true : rtrim($annots[2][$i], " \t\n\r)"); - } - - return $annotations; - } - - /** - * preg_replace_callback callback function - * - * @param $match - * @return string - */ - private static function replace_callback($match) - { - return ucwords($match[2]); - } - - /** - * Returns the properly formatted getter function name based on class name and property - * Formats the property name to a standard getter function - * - * @param string $class - * @param string $propertyName - * @return string getter function name - */ - public static function getter($class, $propertyName) - { - return method_exists($class, "get" . ucfirst($propertyName)) ? - "get" . ucfirst($propertyName) : - "get" . preg_replace_callback("/([_\-\s]?([a-z0-9]+))/", "self::replace_callback", $propertyName); - } -} diff --git a/paypal/PayPal/Converter/FormatConverter.php b/paypal/PayPal/Converter/FormatConverter.php deleted file mode 100644 index 82c1be5..0000000 --- a/paypal/PayPal/Converter/FormatConverter.php +++ /dev/null @@ -1,62 +0,0 @@ - 0, 'TWD' => 0, 'HUF' => 0); - if ($currency && array_key_exists($currency, $currencyDecimals)) { - if (strpos($value, ".") !== false && (floor($value) != $value)) { - //throw exception if it has decimal values for JPY, TWD and HUF which does not ends with .00 - throw new \InvalidArgumentException("value cannot have decimals for $currency currency"); - } - $decimals = $currencyDecimals[$currency]; - } elseif (strpos($value, ".") === false) { - // Check if value has decimal values. If not no need to assign 2 decimals with .00 at the end - $decimals = 0; - } - return self::formatToNumber($value, $decimals); - } -} diff --git a/paypal/PayPal/Core/PayPalConfigManager.php b/paypal/PayPal/Core/PayPalConfigManager.php deleted file mode 100644 index c341bb1..0000000 --- a/paypal/PayPal/Core/PayPalConfigManager.php +++ /dev/null @@ -1,159 +0,0 @@ -addConfigFromIni($configFile); - } - } - - /** - * Returns the singleton object - * - * @return $this - */ - public static function getInstance() - { - if (!isset(self::$instance)) { - self::$instance = new self(); - } - return self::$instance; - } - - /** - * Add Configuration from configuration.ini files - * - * @param string $fileName - * @return $this - */ - public function addConfigFromIni($fileName) - { - if ($configs = parse_ini_file($fileName)) { - $this->addConfigs($configs); - } - return $this; - } - - /** - * If a configuration exists in both arrays, - * then the element from the first array will be used and - * the matching key's element from the second array will be ignored. - * - * @param array $configs - * @return $this - */ - public function addConfigs($configs = array()) - { - $this->configs = $configs + $this->configs; - return $this; - } - - /** - * Simple getter for configuration params - * If an exact match for key is not found, - * does a "contains" search on the key - * - * @param string $searchKey - * @return array - */ - public function get($searchKey) - { - if (array_key_exists($searchKey, $this->configs)) { - return $this->configs[$searchKey]; - } else { - $arr = array(); - if ($searchKey !== '') { - foreach ($this->configs as $k => $v) { - if (strstr($k, $searchKey)) { - $arr[$k] = $v; - } - } - } - - return $arr; - } - } - - /** - * Utility method for handling account configuration - * return config key corresponding to the API userId passed in - * - * If $userId is null, returns config keys corresponding to - * all configured accounts - * - * @param string|null $userId - * @return array|string - */ - public function getIniPrefix($userId = null) - { - if ($userId == null) { - $arr = array(); - foreach ($this->configs as $key => $value) { - $pos = strpos($key, '.'); - if (strstr($key, "acct")) { - $arr[] = substr($key, 0, $pos); - } - } - return array_unique($arr); - } else { - $iniPrefix = array_search($userId, $this->configs); - $pos = strpos($iniPrefix, '.'); - $acct = substr($iniPrefix, 0, $pos); - - return $acct; - } - } - - /** - * returns the config file hashmap - */ - public function getConfigHashmap() - { - return $this->configs; - } - - /** - * Disabling __clone call - */ - public function __clone() - { - trigger_error('Clone is not allowed.', E_USER_ERROR); - } -} diff --git a/paypal/PayPal/Core/PayPalConstants.php b/paypal/PayPal/Core/PayPalConstants.php deleted file mode 100644 index 942b86a..0000000 --- a/paypal/PayPal/Core/PayPalConstants.php +++ /dev/null @@ -1,27 +0,0 @@ -initCredential($config); - } catch (\Exception $e) { - $this->credentialHashmap = array(); - throw $e; - } - } - - /** - * Create singleton instance for this class. - * - * @param array|null $config - * @return PayPalCredentialManager - */ - public static function getInstance($config = null) - { - if (!self::$instance) { - self::$instance = new self($config == null ? PayPalConfigManager::getInstance()->getConfigHashmap() : $config); - } - return self::$instance; - } - - /** - * Load credentials for multiple accounts, with priority given to Signature credential. - * - * @param array $config - */ - private function initCredential($config) - { - $suffix = 1; - $prefix = "acct"; - - $arr = array(); - foreach ($config as $k => $v) { - if (strstr($k, $prefix)) { - $arr[$k] = $v; - } - } - $credArr = $arr; - - $arr = array(); - foreach ($config as $key => $value) { - $pos = strpos($key, '.'); - if (strstr($key, "acct")) { - $arr[] = substr($key, 0, $pos); - } - } - $arrayPartKeys = array_unique($arr); - - $key = $prefix . $suffix; - $userName = null; - while (in_array($key, $arrayPartKeys)) { - if (isset($credArr[$key . ".ClientId"]) && isset($credArr[$key . ".ClientSecret"])) { - $userName = $key; - $this->credentialHashmap[$userName] = new OAuthTokenCredential( - $credArr[$key . ".ClientId"], - $credArr[$key . ".ClientSecret"] - ); - } - if ($userName && $this->defaultAccountName == null) { - if (array_key_exists($key . '.UserName', $credArr)) { - $this->defaultAccountName = $credArr[$key . '.UserName']; - } else { - $this->defaultAccountName = $key; - } - } - $suffix++; - $key = $prefix . $suffix; - } - } - - /** - * Sets credential object for users - * - * @param \PayPal\Auth\OAuthTokenCredential $credential - * @param string|null $userId User Id associated with the account - * @param bool $default If set, it would make it as a default credential for all requests - * - * @return $this - */ - public function setCredentialObject(OAuthTokenCredential $credential, $userId = null, $default = true) - { - $key = $userId == null ? 'default' : $userId; - $this->credentialHashmap[$key] = $credential; - if ($default) { - $this->defaultAccountName = $key; - } - return $this; - } - - /** - * Obtain Credential Object based on UserId provided. - * - * @param null $userId - * @return OAuthTokenCredential - * @throws PayPalInvalidCredentialException - */ - public function getCredentialObject($userId = null) - { - if ($userId == null && array_key_exists($this->defaultAccountName, $this->credentialHashmap)) { - $credObj = $this->credentialHashmap[$this->defaultAccountName]; - } elseif (array_key_exists($userId, $this->credentialHashmap)) { - $credObj = $this->credentialHashmap[$userId]; - } - - if (empty($credObj)) { - throw new PayPalInvalidCredentialException("Credential not found for " . ($userId ? $userId : " default user") . - ". Please make sure your configuration/APIContext has credential information"); - } - return $credObj; - } - - /** - * Disabling __clone call - */ - public function __clone() - { - trigger_error('Clone is not allowed.', E_USER_ERROR); - } -} diff --git a/paypal/PayPal/Core/PayPalHttpConfig.php b/paypal/PayPal/Core/PayPalHttpConfig.php deleted file mode 100644 index 8e431b3..0000000 --- a/paypal/PayPal/Core/PayPalHttpConfig.php +++ /dev/null @@ -1,302 +0,0 @@ - 6, - CURLOPT_CONNECTTIMEOUT => 10, - CURLOPT_RETURNTRANSFER => true, - CURLOPT_TIMEOUT => 60, // maximum number of seconds to allow cURL functions to execute - CURLOPT_USERAGENT => 'PayPal-PHP-SDK', - CURLOPT_HTTPHEADER => array(), - CURLOPT_SSL_VERIFYHOST => 2, - CURLOPT_SSL_VERIFYPEER => 1, - CURLOPT_SSL_CIPHER_LIST => 'TLSv1:TLSv1.2' - //Allowing TLSv1 cipher list. - //Adding it like this for backward compatibility with older versions of curl - ); - - const HEADER_SEPARATOR = ';'; - const HTTP_GET = 'GET'; - const HTTP_POST = 'POST'; - - private $headers = array(); - - private $curlOptions; - - private $url; - - private $method; - - /*** - * Number of times to retry a failed HTTP call - */ - private $retryCount = 0; - - /** - * Default Constructor - * - * @param string $url - * @param string $method HTTP method (GET, POST etc) defaults to POST - * @param array $configs All Configurations - */ - public function __construct($url = null, $method = self::HTTP_POST, $configs = array()) - { - $this->url = $url; - $this->method = $method; - $this->curlOptions = $this->getHttpConstantsFromConfigs($configs, 'http.') + self::$defaultCurlOptions; - // Update the Cipher List based on OpenSSL or NSS settings - $curl = curl_version(); - $sslVersion = isset($curl['ssl_version']) ? $curl['ssl_version'] : ''; - if($sslVersion && substr_compare($sslVersion, "NSS/", 0, strlen("NSS/")) === 0) { - //Remove the Cipher List for NSS - $this->removeCurlOption(CURLOPT_SSL_CIPHER_LIST); - } - } - - /** - * Gets Url - * - * @return null|string - */ - public function getUrl() - { - return $this->url; - } - - /** - * Gets Method - * - * @return string - */ - public function getMethod() - { - return $this->method; - } - - /** - * Gets all Headers - * - * @return array - */ - public function getHeaders() - { - return $this->headers; - } - - /** - * Get Header by Name - * - * @param $name - * @return string|null - */ - public function getHeader($name) - { - if (array_key_exists($name, $this->headers)) { - return $this->headers[$name]; - } - return null; - } - - /** - * Sets Url - * - * @param $url - */ - public function setUrl($url) - { - $this->url = $url; - } - - /** - * Set Headers - * - * @param array $headers - */ - public function setHeaders(array $headers = array()) - { - $this->headers = $headers; - } - - /** - * Adds a Header - * - * @param $name - * @param $value - * @param bool $overWrite allows you to override header value - */ - public function addHeader($name, $value, $overWrite = true) - { - if (!array_key_exists($name, $this->headers) || $overWrite) { - $this->headers[$name] = $value; - } else { - $this->headers[$name] = $this->headers[$name] . self::HEADER_SEPARATOR . $value; - } - } - - /** - * Removes a Header - * - * @param $name - */ - public function removeHeader($name) - { - unset($this->headers[$name]); - } - - /** - * Gets all curl options - * - * @return array - */ - public function getCurlOptions() - { - return $this->curlOptions; - } - - /** - * Add Curl Option - * - * @param string $name - * @param mixed $value - */ - public function addCurlOption($name, $value) - { - $this->curlOptions[$name] = $value; - } - - /** - * Removes a curl option from the list - * - * @param $name - */ - public function removeCurlOption($name) - { - unset($this->curlOptions[$name]); - } - - /** - * Set Curl Options. Overrides all curl options - * - * @param $options - */ - public function setCurlOptions($options) - { - $this->curlOptions = $options; - } - - /** - * Set ssl parameters for certificate based client authentication - * - * @param $certPath - * @param null $passPhrase - */ - public function setSSLCert($certPath, $passPhrase = null) - { - $this->curlOptions[CURLOPT_SSLCERT] = realpath($certPath); - if (isset($passPhrase) && trim($passPhrase) != "") { - $this->curlOptions[CURLOPT_SSLCERTPASSWD] = $passPhrase; - } - } - - /** - * Set connection timeout in seconds - * - * @param integer $timeout - */ - public function setHttpTimeout($timeout) - { - $this->curlOptions[CURLOPT_CONNECTTIMEOUT] = $timeout; - } - - /** - * Set HTTP proxy information - * - * @param string $proxy - * @throws PayPalConfigurationException - */ - public function setHttpProxy($proxy) - { - $urlParts = parse_url($proxy); - if ($urlParts == false || !array_key_exists("host", $urlParts)) { - throw new PayPalConfigurationException("Invalid proxy configuration " . $proxy); - } - $this->curlOptions[CURLOPT_PROXY] = $urlParts["host"]; - if (isset($urlParts["port"])) { - $this->curlOptions[CURLOPT_PROXY] .= ":" . $urlParts["port"]; - } - if (isset($urlParts["user"])) { - $this->curlOptions[CURLOPT_PROXYUSERPWD] = $urlParts["user"] . ":" . $urlParts["pass"]; - } - } - - /** - * Set Http Retry Counts - * - * @param int $retryCount - */ - public function setHttpRetryCount($retryCount) - { - $this->retryCount = $retryCount; - } - - /** - * Get Http Retry Counts - * - * @return int - */ - public function getHttpRetryCount() - { - return $this->retryCount; - } - - /** - * Sets the User-Agent string on the HTTP request - * - * @param string $userAgentString - */ - public function setUserAgent($userAgentString) - { - $this->curlOptions[CURLOPT_USERAGENT] = $userAgentString; - } - - /** - * Retrieves an array of constant key, and value based on Prefix - * - * @param array $configs - * @param $prefix - * @return array - */ - public function getHttpConstantsFromConfigs($configs = array(), $prefix) - { - $arr = array(); - if ($prefix != null && is_array($configs)) { - foreach ($configs as $k => $v) { - // Check if it startsWith - if (substr($k, 0, strlen($prefix)) === $prefix) { - $newKey = ltrim($k, $prefix); - if (defined($newKey)) { - $arr[constant($newKey)] = $v; - } - } - } - } - return $arr; - } -} diff --git a/paypal/PayPal/Core/PayPalHttpConnection.php b/paypal/PayPal/Core/PayPalHttpConnection.php deleted file mode 100644 index cf5253c..0000000 --- a/paypal/PayPal/Core/PayPalHttpConnection.php +++ /dev/null @@ -1,223 +0,0 @@ -httpConfig = $httpConfig; - $this->logger = PayPalLoggingManager::getInstance(__CLASS__); - } - - /** - * Gets all Http Headers - * - * @return array - */ - private function getHttpHeaders() - { - $ret = array(); - foreach ($this->httpConfig->getHeaders() as $k => $v) { - $ret[] = "$k: $v"; - } - return $ret; - } - - /** - * Parses the response headers for debugging. - * - * @param resource $ch - * @param string $data - * @return int - */ - protected function parseResponseHeaders($ch, $data) { - if (!$this->skippedHttpStatusLine) { - $this->skippedHttpStatusLine = true; - return strlen($data); - } - - $trimmedData = trim($data); - if (strlen($trimmedData) == 0) { - return strlen($data); - } - - // Added condition to ignore extra header which dont have colon ( : ) - if (strpos($trimmedData, ":") == false) { - return strlen($data); - } - - list($key, $value) = explode(":", $trimmedData, 2); - - $key = trim($key); - $value = trim($value); - - // This will skip over the HTTP Status Line and any other lines - // that don't look like header lines with values - if (strlen($key) > 0 && strlen($value) > 0) { - // This is actually a very basic way of looking at response headers - // and may miss a few repeated headers with different (appended) - // values but this should work for debugging purposes. - $this->responseHeaders[$key] = $value; - } - - return strlen($data); - } - - - /** - * Implodes a key/value array for printing. - * - * @param array $arr - * @return string - */ - protected function implodeArray($arr) { - $retStr = ''; - foreach($arr as $key => $value) { - $retStr .= $key . ': ' . $value . ', '; - } - rtrim($retStr, ', '); - return $retStr; - } - - /** - * Executes an HTTP request - * - * @param string $data query string OR POST content as a string - * @return mixed - * @throws PayPalConnectionException - */ - public function execute($data) - { - //Initialize the logger - $this->logger->info($this->httpConfig->getMethod() . ' ' . $this->httpConfig->getUrl()); - - //Initialize Curl Options - $ch = curl_init($this->httpConfig->getUrl()); - $options = $this->httpConfig->getCurlOptions(); - if (empty($options[CURLOPT_HTTPHEADER])) { - unset($options[CURLOPT_HTTPHEADER]); - } - curl_setopt_array($ch, $options); - curl_setopt($ch, CURLOPT_URL, $this->httpConfig->getUrl()); - curl_setopt($ch, CURLOPT_HEADER, false); - curl_setopt($ch, CURLINFO_HEADER_OUT, true); - curl_setopt($ch, CURLOPT_HTTPHEADER, $this->getHttpHeaders()); - - //Determine Curl Options based on Method - switch ($this->httpConfig->getMethod()) { - case 'POST': - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_POSTFIELDS, $data); - break; - case 'PUT': - case 'PATCH': - case 'DELETE': - curl_setopt($ch, CURLOPT_POSTFIELDS, $data); - break; - } - - //Default Option if Method not of given types in switch case - if ($this->httpConfig->getMethod() != null) { - curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $this->httpConfig->getMethod()); - } - - $this->responseHeaders = array(); - $this->skippedHttpStatusLine = false; - curl_setopt($ch, CURLOPT_HEADERFUNCTION, array($this, 'parseResponseHeaders')); - - //Execute Curl Request - $result = curl_exec($ch); - //Retrieve Response Status - $httpStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE); - - //Retry if Certificate Exception - if (curl_errno($ch) == 60) { - $this->logger->info("Invalid or no certificate authority found - Retrying using bundled CA certs file"); - curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem'); - $result = curl_exec($ch); - //Retrieve Response Status - $httpStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE); - } - - //Throw Exception if Retries and Certificates doenst work - if (curl_errno($ch)) { - $ex = new PayPalConnectionException( - $this->httpConfig->getUrl(), - curl_error($ch), - curl_errno($ch) - ); - curl_close($ch); - throw $ex; - } - - // Get Request and Response Headers - $requestHeaders = curl_getinfo($ch, CURLINFO_HEADER_OUT); - $this->logger->debug("Request Headers \t: " . str_replace("\r\n", ", ", $requestHeaders)); - $this->logger->debug(($data && $data != '' ? "Request Data\t\t: " . $data : "No Request Payload") . "\n" . str_repeat('-', 128) . "\n"); - $this->logger->info("Response Status \t: " . $httpStatus); - $this->logger->debug("Response Headers\t: " . $this->implodeArray($this->responseHeaders)); - - //Close the curl request - curl_close($ch); - - //More Exceptions based on HttpStatus Code - if ($httpStatus < 200 || $httpStatus >= 300) { - $ex = new PayPalConnectionException( - $this->httpConfig->getUrl(), - "Got Http response code $httpStatus when accessing {$this->httpConfig->getUrl()}.", - $httpStatus - ); - $ex->setData($result); - $this->logger->error("Got Http response code $httpStatus when accessing {$this->httpConfig->getUrl()}. " . $result); - $this->logger->debug("\n\n" . str_repeat('=', 128) . "\n"); - throw $ex; - } - - $this->logger->debug(($result && $result != '' ? "Response Data \t: " . $result : "No Response Body") . "\n\n" . str_repeat('=', 128) . "\n"); - - //Return result object - return $result; - } -} diff --git a/paypal/PayPal/Core/PayPalLoggingManager.php b/paypal/PayPal/Core/PayPalLoggingManager.php deleted file mode 100644 index 90521a8..0000000 --- a/paypal/PayPal/Core/PayPalLoggingManager.php +++ /dev/null @@ -1,119 +0,0 @@ -getConfigHashmap(); - // Checks if custom factory defined, and is it an implementation of @PayPalLogFactory - $factory = array_key_exists('log.AdapterFactory', $config) && in_array('PayPal\Log\PayPalLogFactory', class_implements($config['log.AdapterFactory'])) ? $config['log.AdapterFactory'] : '\PayPal\Log\PayPalDefaultLogFactory'; - /** @var PayPalLogFactory $factoryInstance */ - $factoryInstance = new $factory(); - $this->logger = $factoryInstance->getLogger($loggerName); - $this->loggerName = $loggerName; - } - - /** - * Log Error - * - * @param string $message - */ - public function error($message) - { - $this->logger->error($message); - } - - /** - * Log Warning - * - * @param string $message - */ - public function warning($message) - { - $this->logger->warning($message); - } - - /** - * Log Info - * - * @param string $message - */ - public function info($message) - { - $this->logger->info($message); - } - - /** - * Log Fine - * - * @param string $message - */ - public function fine($message) - { - $this->info($message); - } - - /** - * Log Debug - * - * @param string $message - */ - public function debug($message) - { - $config = PayPalConfigManager::getInstance()->getConfigHashmap(); - // Disable debug in live mode. - if (array_key_exists('mode', $config) && $config['mode'] != 'live') { - $this->logger->debug($message); - } - } -} diff --git a/paypal/PayPal/Core/cacert.pem b/paypal/PayPal/Core/cacert.pem deleted file mode 100644 index 1202c20..0000000 --- a/paypal/PayPal/Core/cacert.pem +++ /dev/null @@ -1,171 +0,0 @@ -Verisign Class 3 Public Primary Certification Authority -======================================================= ------BEGIN CERTIFICATE----- -MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx -FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 -IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow -XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz -IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 -f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol -hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA -TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah -WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf -Tqj/ZA1k ------END CERTIFICATE----- - -Verisign Class 3 Public Primary Certification Authority - G2 -============================================================ ------BEGIN CERTIFICATE----- -MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT -MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy -eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz -dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT -MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy -eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz -dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO -FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71 -lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB -MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT -1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD -Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9 ------END CERTIFICATE----- - - -Verisign Class 3 Public Primary Certification Authority - G3 -============================================================ ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy -dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 -EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc -cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw -EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj -055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA -ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f -j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC -/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 -xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa -t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== ------END CERTIFICATE----- - -Verisign Class 4 Public Primary Certification Authority - G3 -============================================================ ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy -dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS -tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM -8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW -Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX -Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA -j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt -mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm -fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd -RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG -UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== ------END CERTIFICATE----- -VeriSign Class 3 Public Primary Certification Authority - G5 -============================================================ ------BEGIN CERTIFICATE----- -MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE -BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO -ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk -IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln -biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh -dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt -YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz -j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD -Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ -Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r -fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ -BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv -Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy -aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG -SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ -X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE -KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC -Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE -ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq ------END CERTIFICATE----- -VeriSign Universal Root Certification Authority -=============================================== ------BEGIN CERTIFICATE----- -MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE -BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO -ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk -IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u -IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj -1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP -MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 -9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I -AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR -tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G -CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O -a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud -DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 -Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx -Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx -P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P -wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 -mJO37M2CYfE45k+XmCpajQ== ------END CERTIFICATE----- - -VeriSign Class 3 Public Primary Certification Authority - G4 -============================================================ ------BEGIN CERTIFICATE----- -MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC -VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 -b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz -ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU -cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo -b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 -IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 -Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz -rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw -HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u -Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD -A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx -AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== ------END CERTIFICATE----- -Verisign Class 3 Public Primary Certification Authority -======================================================= ------BEGIN CERTIFICATE----- -MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx -FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 -IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow -XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz -IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 -f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol -hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky -CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX -bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/ -D/xwzoiQ ------END CERTIFICATE----- diff --git a/paypal/PayPal/Exception/PayPalConfigurationException.php b/paypal/PayPal/Exception/PayPalConfigurationException.php deleted file mode 100644 index 5105747..0000000 --- a/paypal/PayPal/Exception/PayPalConfigurationException.php +++ /dev/null @@ -1,23 +0,0 @@ -url = $url; - } - - /** - * Sets Data - * - * @param $data - */ - public function setData($data) - { - $this->data = $data; - } - - /** - * Gets Data - * - * @return string - */ - public function getData() - { - return $this->data; - } - - /** - * Gets Url - * - * @return string - */ - public function getUrl() - { - return $this->url; - } -} diff --git a/paypal/PayPal/Exception/PayPalInvalidCredentialException.php b/paypal/PayPal/Exception/PayPalInvalidCredentialException.php deleted file mode 100644 index 09ad27a..0000000 --- a/paypal/PayPal/Exception/PayPalInvalidCredentialException.php +++ /dev/null @@ -1,35 +0,0 @@ -getLine() . ' in ' . $this->getFile() - . ': ' . $this->getMessage() . ''; - return $errorMsg; - } -} diff --git a/paypal/PayPal/Exception/PayPalMissingCredentialException.php b/paypal/PayPal/Exception/PayPalMissingCredentialException.php deleted file mode 100644 index 6ace3b4..0000000 --- a/paypal/PayPal/Exception/PayPalMissingCredentialException.php +++ /dev/null @@ -1,36 +0,0 @@ -getLine() . ' in ' . $this->getFile() - . ': ' . $this->getMessage() . ''; - - return $errorMsg; - } -} diff --git a/paypal/PayPal/Handler/IPayPalHandler.php b/paypal/PayPal/Handler/IPayPalHandler.php deleted file mode 100644 index 0d1c8ff..0000000 --- a/paypal/PayPal/Handler/IPayPalHandler.php +++ /dev/null @@ -1,20 +0,0 @@ -apiContext = $apiContext; - } - - /** - * @param PayPalHttpConfig $httpConfig - * @param string $request - * @param mixed $options - * @return mixed|void - * @throws PayPalConfigurationException - * @throws PayPalInvalidCredentialException - * @throws PayPalMissingCredentialException - */ - public function handle($httpConfig, $request, $options) - { - $config = $this->apiContext->getConfig(); - - $httpConfig->setUrl( - rtrim(trim($this->_getEndpoint($config)), '/') . - (isset($options['path']) ? $options['path'] : '') - ); - - $headers = array( - "User-Agent" => PayPalUserAgent::getValue(PayPalConstants::SDK_NAME, PayPalConstants::SDK_VERSION), - "Authorization" => "Basic " . base64_encode($options['clientId'] . ":" . $options['clientSecret']), - "Accept" => "*/*" - ); - $httpConfig->setHeaders($headers); - - // Add any additional Headers that they may have provided - $headers = $this->apiContext->getRequestHeaders(); - foreach ($headers as $key => $value) { - $httpConfig->addHeader($key, $value); - } - } - - /** - * Get HttpConfiguration object for OAuth API - * - * @param array $config - * - * @return PayPalHttpConfig - * @throws \PayPal\Exception\PayPalConfigurationException - */ - private static function _getEndpoint($config) - { - if (isset($config['oauth.EndPoint'])) { - $baseEndpoint = $config['oauth.EndPoint']; - } elseif (isset($config['service.EndPoint'])) { - $baseEndpoint = $config['service.EndPoint']; - } elseif (isset($config['mode'])) { - switch (strtoupper($config['mode'])) { - case 'SANDBOX': - $baseEndpoint = PayPalConstants::REST_SANDBOX_ENDPOINT; - break; - case 'LIVE': - $baseEndpoint = PayPalConstants::REST_LIVE_ENDPOINT; - break; - default: - throw new PayPalConfigurationException('The mode config parameter must be set to either sandbox/live'); - } - } else { - // Defaulting to Sandbox - $baseEndpoint = PayPalConstants::REST_SANDBOX_ENDPOINT; - } - - $baseEndpoint = rtrim(trim($baseEndpoint), '/') . "/v1/oauth2/token"; - - return $baseEndpoint; - } -} diff --git a/paypal/PayPal/Handler/RestHandler.php b/paypal/PayPal/Handler/RestHandler.php deleted file mode 100644 index 6bc55ae..0000000 --- a/paypal/PayPal/Handler/RestHandler.php +++ /dev/null @@ -1,124 +0,0 @@ -apiContext = $apiContext; - } - - /** - * @param PayPalHttpConfig $httpConfig - * @param string $request - * @param mixed $options - * @return mixed|void - * @throws PayPalConfigurationException - * @throws PayPalInvalidCredentialException - * @throws PayPalMissingCredentialException - */ - public function handle($httpConfig, $request, $options) - { - $credential = $this->apiContext->getCredential(); - $config = $this->apiContext->getConfig(); - - if ($credential == null) { - // Try picking credentials from the config file - $credMgr = PayPalCredentialManager::getInstance($config); - $credValues = $credMgr->getCredentialObject(); - - if (!is_array($credValues)) { - throw new PayPalMissingCredentialException("Empty or invalid credentials passed"); - } - - $credential = new OAuthTokenCredential($credValues['clientId'], $credValues['clientSecret']); - } - - if ($credential == null || !($credential instanceof OAuthTokenCredential)) { - throw new PayPalInvalidCredentialException("Invalid credentials passed"); - } - - $httpConfig->setUrl( - rtrim(trim($this->_getEndpoint($config)), '/') . - (isset($options['path']) ? $options['path'] : '') - ); - - // Overwrite Expect Header to disable 100 Continue Issue - $httpConfig->addHeader("Expect", null); - - if (!array_key_exists("User-Agent", $httpConfig->getHeaders())) { - $httpConfig->addHeader("User-Agent", PayPalUserAgent::getValue(PayPalConstants::SDK_NAME, PayPalConstants::SDK_VERSION)); - } - - if (!is_null($credential) && $credential instanceof OAuthTokenCredential && is_null($httpConfig->getHeader('Authorization'))) { - $httpConfig->addHeader('Authorization', "Bearer " . $credential->getAccessToken($config), false); - } - - if (($httpConfig->getMethod() == 'POST' || $httpConfig->getMethod() == 'PUT') && !is_null($this->apiContext->getRequestId())) { - $httpConfig->addHeader('PayPal-Request-Id', $this->apiContext->getRequestId()); - } - // Add any additional Headers that they may have provided - $headers = $this->apiContext->getRequestHeaders(); - foreach ($headers as $key => $value) { - $httpConfig->addHeader($key, $value); - } - } - - /** - * End Point - * - * @param array $config - * - * @return string - * @throws \PayPal\Exception\PayPalConfigurationException - */ - private function _getEndpoint($config) - { - if (isset($config['service.EndPoint'])) { - return $config['service.EndPoint']; - } elseif (isset($config['mode'])) { - switch (strtoupper($config['mode'])) { - case 'SANDBOX': - return PayPalConstants::REST_SANDBOX_ENDPOINT; - break; - case 'LIVE': - return PayPalConstants::REST_LIVE_ENDPOINT; - break; - default: - throw new PayPalConfigurationException('The mode config parameter must be set to either sandbox/live'); - break; - } - } else { - // Defaulting to Sandbox - return PayPalConstants::REST_SANDBOX_ENDPOINT; - } - } -} diff --git a/paypal/PayPal/LICENSE b/paypal/PayPal/LICENSE deleted file mode 100644 index 967c3e9..0000000 --- a/paypal/PayPal/LICENSE +++ /dev/null @@ -1,171 +0,0 @@ -The PayPal PHP SDK is released under the following license: - - Copyright (c) 2013-2016 PAYPAL, INC. - - SDK LICENSE - - NOTICE TO USER: PayPal, Inc. is providing the Software and Documentation for use under the terms of - this Agreement. Any use, reproduction, modification or distribution of the Software or Documentation, - or any derivatives or portions hereof, constitutes your acceptance of this Agreement. - - As used in this Agreement, "PayPal" means PayPal, Inc. "Software" means the software code accompanying - this agreement. "Documentation" means the documents, specifications and all other items accompanying - this Agreement other than the Software. - - 1. LICENSE GRANT Subject to the terms of this Agreement, PayPal hereby grants you a non-exclusive, - worldwide, royalty free license to use, reproduce, prepare derivative works from, publicly display, - publicly perform, distribute and sublicense the Software for any purpose, provided the copyright notice - below appears in a conspicuous location within the source code of the distributed Software and this - license is distributed in the supporting documentation of the Software you distribute. Furthermore, - you must comply with all third party licenses in order to use the third party software contained in the - Software. - - Subject to the terms of this Agreement, PayPal hereby grants you a non-exclusive, worldwide, royalty free - license to use, reproduce, publicly display, publicly perform, distribute and sublicense the Documentation - for any purpose. You may not modify the Documentation. - - No title to the intellectual property in the Software or Documentation is transferred to you under the - terms of this Agreement. You do not acquire any rights to the Software or the Documentation except as - expressly set forth in this Agreement. - - If you choose to distribute the Software in a commercial product, you do so with the understanding that - you agree to defend, indemnify and hold harmless PayPal and its suppliers against any losses, damages and - costs arising from the claims, lawsuits or other legal actions arising out of such distribution. You may - distribute the Software in object code form under your own license, provided that your license agreement: - - (a) complies with the terms and conditions of this license agreement; - - (b) effectively disclaims all warranties and conditions, express or implied, on behalf of PayPal; - - (c) effectively excludes all liability for damages on behalf of PayPal; - - (d) states that any provisions that differ from this Agreement are offered by you alone and not PayPal; and - - (e) states that the Software is available from you or PayPal and informs licensees how to obtain it in a - reasonable manner on or through a medium customarily used for software exchange. - - 2. DISCLAIMER OF WARRANTY - PAYPAL LICENSES THE SOFTWARE AND DOCUMENTATION TO YOU ONLY ON AN "AS IS" BASIS WITHOUT WARRANTIES OR CONDITIONS - OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY WARRANTIES OR CONDITIONS OF TITLE, - NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. PAYPAL MAKES NO WARRANTY THAT THE - SOFTWARE OR DOCUMENTATION WILL BE ERROR-FREE. Each user of the Software or Documentation is solely responsible - for determining the appropriateness of using and distributing the Software and Documentation and assumes all - risks associated with its exercise of rights under this Agreement, including but not limited to the risks and - costs of program errors, compliance with applicable laws, damage to or loss of data, programs, or equipment, - and unavailability or interruption of operations. Use of the Software and Documentation is made with the - understanding that PayPal will not provide you with any technical or customer support or maintenance. Some - states or jurisdictions do not allow the exclusion of implied warranties or limitations on how long an implied - warranty may last, so the above limitations may not apply to you. To the extent permissible, any implied - warranties are limited to ninety (90) days. - - - 3. LIMITATION OF LIABILITY - PAYPAL AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR LOSS OR DAMAGE ARISING OUT OF THIS AGREEMENT OR FROM THE USE - OF THE SOFTWARE OR DOCUMENTATION. IN NO EVENT WILL PAYPAL OR ITS SUPPLIERS BE LIABLE TO YOU OR ANY THIRD PARTY - FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL, OR SPECIAL DAMAGES INCLUDING LOST PROFITS, LOST SAVINGS, - COSTS, FEES, OR EXPENSES OF ANY KIND ARISING OUT OF ANY PROVISION OF THIS AGREEMENT OR THE USE OR THE INABILITY - TO USE THE SOFTWARE OR DOCUMENTATION, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY OR TORT INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - PAYPAL'S AGGREGATE LIABILITY AND THAT OF ITS SUPPLIERS UNDER OR IN CONNECTION WITH THIS AGREEMENT SHALL BE - LIMITED TO THE AMOUNT PAID BY YOU FOR THE SOFTWARE AND DOCUMENTATION. - - 4. TRADEMARK USAGE - PayPal is a trademark PayPal, Inc. in the United States and other countries. Such trademarks may not be used - to endorse or promote any product unless expressly permitted under separate agreement with PayPal. - - 5. TERM - Your rights under this Agreement shall terminate if you fail to comply with any of the material terms or - conditions of this Agreement and do not cure such failure in a reasonable period of time after becoming - aware of such noncompliance. If all your rights under this Agreement terminate, you agree to cease use - and distribution of the Software and Documentation as soon as reasonably practicable. - - 6. GOVERNING LAW AND JURISDICTION. This Agreement is governed by the statutes and laws of the State of - California, without regard to the conflicts of law principles thereof. If any part of this Agreement is - found void and unenforceable, it will not affect the validity of the balance of the Agreement, which shall - remain valid and enforceable according to its terms. Any dispute arising out of or related to this Agreement - shall be brought in the courts of Santa Clara County, California, USA. The PayPal PHP SDK is released under the following license: - - Copyright (c) 2013-2016 PAYPAL, INC. - - SDK LICENSE - - NOTICE TO USER: PayPal, Inc. is providing the Software and Documentation for use under the terms of - this Agreement. Any use, reproduction, modification or distribution of the Software or Documentation, - or any derivatives or portions hereof, constitutes your acceptance of this Agreement. - - As used in this Agreement, "PayPal" means PayPal, Inc. "Software" means the software code accompanying - this agreement. "Documentation" means the documents, specifications and all other items accompanying - this Agreement other than the Software. - - 1. LICENSE GRANT Subject to the terms of this Agreement, PayPal hereby grants you a non-exclusive, - worldwide, royalty free license to use, reproduce, prepare derivative works from, publicly display, - publicly perform, distribute and sublicense the Software for any purpose, provided the copyright notice - below appears in a conspicuous location within the source code of the distributed Software and this - license is distributed in the supporting documentation of the Software you distribute. Furthermore, - you must comply with all third party licenses in order to use the third party software contained in the - Software. - - Subject to the terms of this Agreement, PayPal hereby grants you a non-exclusive, worldwide, royalty free - license to use, reproduce, publicly display, publicly perform, distribute and sublicense the Documentation - for any purpose. You may not modify the Documentation. - - No title to the intellectual property in the Software or Documentation is transferred to you under the - terms of this Agreement. You do not acquire any rights to the Software or the Documentation except as - expressly set forth in this Agreement. - - If you choose to distribute the Software in a commercial product, you do so with the understanding that - you agree to defend, indemnify and hold harmless PayPal and its suppliers against any losses, damages and - costs arising from the claims, lawsuits or other legal actions arising out of such distribution. You may - distribute the Software in object code form under your own license, provided that your license agreement: - - (a) complies with the terms and conditions of this license agreement; - - (b) effectively disclaims all warranties and conditions, express or implied, on behalf of PayPal; - - (c) effectively excludes all liability for damages on behalf of PayPal; - - (d) states that any provisions that differ from this Agreement are offered by you alone and not PayPal; and - - (e) states that the Software is available from you or PayPal and informs licensees how to obtain it in a - reasonable manner on or through a medium customarily used for software exchange. - - 2. DISCLAIMER OF WARRANTY - PAYPAL LICENSES THE SOFTWARE AND DOCUMENTATION TO YOU ONLY ON AN "AS IS" BASIS WITHOUT WARRANTIES OR CONDITIONS - OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY WARRANTIES OR CONDITIONS OF TITLE, - NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. PAYPAL MAKES NO WARRANTY THAT THE - SOFTWARE OR DOCUMENTATION WILL BE ERROR-FREE. Each user of the Software or Documentation is solely responsible - for determining the appropriateness of using and distributing the Software and Documentation and assumes all - risks associated with its exercise of rights under this Agreement, including but not limited to the risks and - costs of program errors, compliance with applicable laws, damage to or loss of data, programs, or equipment, - and unavailability or interruption of operations. Use of the Software and Documentation is made with the - understanding that PayPal will not provide you with any technical or customer support or maintenance. Some - states or jurisdictions do not allow the exclusion of implied warranties or limitations on how long an implied - warranty may last, so the above limitations may not apply to you. To the extent permissible, any implied - warranties are limited to ninety (90) days. - - - 3. LIMITATION OF LIABILITY - PAYPAL AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR LOSS OR DAMAGE ARISING OUT OF THIS AGREEMENT OR FROM THE USE - OF THE SOFTWARE OR DOCUMENTATION. IN NO EVENT WILL PAYPAL OR ITS SUPPLIERS BE LIABLE TO YOU OR ANY THIRD PARTY - FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL, OR SPECIAL DAMAGES INCLUDING LOST PROFITS, LOST SAVINGS, - COSTS, FEES, OR EXPENSES OF ANY KIND ARISING OUT OF ANY PROVISION OF THIS AGREEMENT OR THE USE OR THE INABILITY - TO USE THE SOFTWARE OR DOCUMENTATION, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY OR TORT INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - PAYPAL'S AGGREGATE LIABILITY AND THAT OF ITS SUPPLIERS UNDER OR IN CONNECTION WITH THIS AGREEMENT SHALL BE - LIMITED TO THE AMOUNT PAID BY YOU FOR THE SOFTWARE AND DOCUMENTATION. - - 4. TRADEMARK USAGE - PayPal is a trademark PayPal, Inc. in the United States and other countries. Such trademarks may not be used - to endorse or promote any product unless expressly permitted under separate agreement with PayPal. - - 5. TERM - Your rights under this Agreement shall terminate if you fail to comply with any of the material terms or - conditions of this Agreement and do not cure such failure in a reasonable period of time after becoming - aware of such noncompliance. If all your rights under this Agreement terminate, you agree to cease use - and distribution of the Software and Documentation as soon as reasonably practicable. - - 6. GOVERNING LAW AND JURISDICTION. This Agreement is governed by the statutes and laws of the State of - California, without regard to the conflicts of law principles thereof. If any part of this Agreement is - found void and unenforceable, it will not affect the validity of the balance of the Agreement, which shall - remain valid and enforceable according to its terms. Any dispute arising out of or related to this Agreement - shall be brought in the courts of Santa Clara County, California, USA. diff --git a/paypal/PayPal/Log/PayPalDefaultLogFactory.php b/paypal/PayPal/Log/PayPalDefaultLogFactory.php deleted file mode 100644 index 3066810..0000000 --- a/paypal/PayPal/Log/PayPalDefaultLogFactory.php +++ /dev/null @@ -1,26 +0,0 @@ -loggerName = $className; - $this->initialize(); - } - - public function initialize() - { - $config = PayPalConfigManager::getInstance()->getConfigHashmap(); - if (!empty($config)) { - $this->isLoggingEnabled = (array_key_exists('log.LogEnabled', $config) && $config['log.LogEnabled'] == '1'); - if ($this->isLoggingEnabled) { - $this->loggerFile = ($config['log.FileName']) ? $config['log.FileName'] : ini_get('error_log'); - $loggingLevel = strtoupper($config['log.LogLevel']); - $this->loggingLevel = (isset($loggingLevel) && defined("\\Psr\\Log\\LogLevel::$loggingLevel")) ? - constant("\\Psr\\Log\\LogLevel::$loggingLevel") : - LogLevel::INFO; - } - } - } - - public function log($level, $message, array $context = array()) - { - if ($this->isLoggingEnabled) { - // Checks if the message is at level below configured logging level - if (array_search($level, $this->loggingLevels) <= array_search($this->loggingLevel, $this->loggingLevels)) { - error_log("[" . date('d-m-Y H:i:s') . "] " . $this->loggerName . " : " . strtoupper($level) . ": $message\n", 3, $this->loggerFile); - } - } - } -} diff --git a/paypal/PayPal/Rest/ApiContext.php b/paypal/PayPal/Rest/ApiContext.php deleted file mode 100644 index bbe3752..0000000 --- a/paypal/PayPal/Rest/ApiContext.php +++ /dev/null @@ -1,173 +0,0 @@ -requestId = $requestId; - $this->credential = $credential; - } - - /** - * Get Credential - * - * @return \PayPal\Auth\OAuthTokenCredential - */ - public function getCredential() - { - if ($this->credential == null) { - return PayPalCredentialManager::getInstance()->getCredentialObject(); - } - return $this->credential; - } - - public function getRequestHeaders() - { - $result = PayPalConfigManager::getInstance()->get('http.headers'); - $headers = array(); - foreach ($result as $header => $value) { - $headerName = ltrim($header, 'http.headers'); - $headers[$headerName] = $value; - } - return $headers; - } - - public function addRequestHeader($name, $value) - { - // Determine if the name already has a 'http.headers' prefix. If not, add one. - if (!(substr($name, 0, strlen('http.headers')) === 'http.headers')) { - $name = 'http.headers.' . $name; - } - PayPalConfigManager::getInstance()->addConfigs(array($name => $value)); - } - - /** - * Get Request ID - * - * @return string - */ - public function getRequestId() - { - return $this->requestId; - } - - /** - * Sets the request ID - * - * @param string $requestId the PayPal-Request-Id value to use - */ - public function setRequestId($requestId) - { - $this->requestId = $requestId; - } - - /** - * Resets the requestId that can be used to set the PayPal-request-id - * header used for idempotency. In cases where you need to make multiple create calls - * using the same ApiContext object, you need to reset request Id. - * @deprecated Call setRequestId with a unique value. - * - * @return string - */ - public function resetRequestId() - { - $this->requestId = $this->generateRequestId(); - return $this->getRequestId(); - } - - /** - * Sets Config - * - * @param array $config SDK configuration parameters - */ - public function setConfig(array $config) - { - PayPalConfigManager::getInstance()->addConfigs($config); - } - - /** - * Gets Configurations - * - * @return array - */ - public function getConfig() - { - return PayPalConfigManager::getInstance()->getConfigHashmap(); - } - - /** - * Gets a specific configuration from key - * - * @param $searchKey - * @return mixed - */ - public function get($searchKey) - { - return PayPalConfigManager::getInstance()->get($searchKey); - } - - /** - * Generates a unique per request id that - * can be used to set the PayPal-Request-Id header - * that is used for idempotency - * @deprecated - * - * @return string - */ - private function generateRequestId() - { - static $pid = -1; - static $addr = -1; - - if ($pid == -1) { - $pid = getmypid(); - } - - if ($addr == -1) { - if (array_key_exists('SERVER_ADDR', $_SERVER)) { - $addr = ip2long($_SERVER['SERVER_ADDR']); - } else { - $addr = php_uname('n'); - } - } - - return $addr . $pid . $_SERVER['REQUEST_TIME'] . mt_rand(0, 0xffff); - } -} diff --git a/paypal/PayPal/Rest/IResource.php b/paypal/PayPal/Rest/IResource.php deleted file mode 100644 index 281ac47..0000000 --- a/paypal/PayPal/Rest/IResource.php +++ /dev/null @@ -1,12 +0,0 @@ -secretKey = $secretKey; - } - - /** - * Encrypts the input text using the cipher key - * - * @param $input - * @return string - */ - public function encrypt($input) - { - // Create a random IV. Not using mcrypt to generate one, as to not have a dependency on it. - $iv = substr(uniqid("", true), 0, Cipher::IV_SIZE); - // Encrypt the data - $encrypted = openssl_encrypt($input, "AES-256-CBC", $this->secretKey, 0, $iv); - // Encode the data with IV as prefix - return base64_encode($iv . $encrypted); - } - - /** - * Decrypts the input text from the cipher key - * - * @param $input - * @return string - */ - public function decrypt($input) - { - // Decode the IV + data - $input = base64_decode($input); - // Remove the IV - $iv = substr($input, 0, Cipher::IV_SIZE); - // Return Decrypted Data - return openssl_decrypt(substr($input, Cipher::IV_SIZE), "AES-256-CBC", $this->secretKey, 0, $iv); - } -} diff --git a/paypal/PayPal/Transport/PayPalRestCall.php b/paypal/PayPal/Transport/PayPalRestCall.php deleted file mode 100644 index a505959..0000000 --- a/paypal/PayPal/Transport/PayPalRestCall.php +++ /dev/null @@ -1,82 +0,0 @@ -apiContext = $apiContext; - $this->logger = PayPalLoggingManager::getInstance(__CLASS__); - } - - /** - * @param array $handlers Array of handlers - * @param string $path Resource path relative to base service endpoint - * @param string $method HTTP method - one of GET, POST, PUT, DELETE, PATCH etc - * @param string $data Request payload - * @param array $headers HTTP headers - * @return mixed - * @throws \PayPal\Exception\PayPalConnectionException - */ - public function execute($handlers = array(), $path, $method, $data = '', $headers = array()) - { - $config = $this->apiContext->getConfig(); - $httpConfig = new PayPalHttpConfig(null, $method, $config); - $headers = $headers ? $headers : array(); - $httpConfig->setHeaders($headers + - array( - 'Content-Type' => 'application/json' - ) - ); - - // if proxy set via config, add it - if (!empty($config['http.Proxy'])) { - $httpConfig->setHttpProxy($config['http.Proxy']); - } - - /** @var \Paypal\Handler\IPayPalHandler $handler */ - foreach ($handlers as $handler) { - if (!is_object($handler)) { - $fullHandler = "\\" . (string)$handler; - $handler = new $fullHandler($this->apiContext); - } - $handler->handle($httpConfig, $data, array('path' => $path, 'apiContext' => $this->apiContext)); - } - $connection = new PayPalHttpConnection($httpConfig, $config); - $response = $connection->execute($data); - - return $response; - } -} diff --git a/paypal/PayPal/Validation/ArgumentValidator.php b/paypal/PayPal/Validation/ArgumentValidator.php deleted file mode 100644 index 29e7fa3..0000000 --- a/paypal/PayPal/Validation/ArgumentValidator.php +++ /dev/null @@ -1,32 +0,0 @@ - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/zbar/zbar.wasm b/zbar/zbar.wasm deleted file mode 100644 index f127b3eb74a55842990691a0bc285e82f2fda0d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239017 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

    O@p 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 i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}var a=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,s=function(t){return a.exec(t).slice(1)};function u(){for(var t="",e=!1,n=arguments.length-1;n>=-1&&!e;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(t=r+"/"+t,e="/"===r.charAt(0))}return(e?"/":"")+(t=o(d(t.split("/"),(function(t){return!!t})),!e).join("/"))||"."}function c(t){var e=f(t),n="/"===y(t,-1);return(t=o(d(t.split("/"),(function(t){return!!t})),!e).join("/"))||e||(t="."),t&&n&&(t+="/"),(e?"/":"")+t}function f(t){return"/"===t.charAt(0)}function l(){var t=Array.prototype.slice.call(arguments,0);return c(d(t,(function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t})).join("/"))}function _(t,e){function n(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=u(t).substr(1),e=u(e).substr(1);for(var r=n(t.split("/")),i=n(e.split("/")),o=Math.min(r.length,i.length),a=o,s=0;s(t=U(t)?new URL(t):m.normalize(t),p.readFileSync(t,e?void 0:"utf8")),c=t=>{var e=s(t,!0);return e.buffer||(e=new Uint8Array(e)),e},u=(t,e,n)=>{t=U(t)?new URL(t):m.normalize(t),p.readFile(t,(function(t,r){t?n(t):e(r.buffer)}))},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",(function(t){if(!(t instanceof H))throw t})),process.on("unhandledRejection",(function(t){throw t})),a.inspect=function(){return"[Emscripten Module object]"}}else(l||_)&&(_?h=self.location.href:"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),n&&(h=n),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},_&&(c=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),u=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n()},r.onerror=n,r.send(null)});var d,y,g=a.print||console.log.bind(console),B=a.printErr||console.warn.bind(console);Object.assign(a,f),f=null,a.arguments&&a.arguments,a.thisProgram&&a.thisProgram,a.quit&&a.quit,a.wasmBinary&&(d=a.wasmBinary),a.noExitRuntime,"object"!=typeof WebAssembly&&D("no native wasm support detected");var v,E,Z=!1,b="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function I(){var t=y.buffer;a.HEAP8=new Int8Array(t),a.HEAP16=new Int16Array(t),a.HEAP32=new Int32Array(t),a.HEAPU8=v=new Uint8Array(t),a.HEAPU16=new Uint16Array(t),a.HEAPU32=E=new Uint32Array(t),a.HEAPF32=new Float32Array(t),a.HEAPF64=new Float64Array(t)}a.INITIAL_MEMORY;var S,C,w=[],N=[],T=[],O=0,P=null;function D(t){a.onAbort&&a.onAbort(t),B(t="Aborted("+t+")"),Z=!0,t+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(t);throw r(e),e}function F(t){return t.startsWith("data:application/octet-stream;base64,")}function U(t){return t.startsWith("file://")}function G(t){try{if(t==S&&d)return new Uint8Array(d);if(c)return c(t);throw"both async and sync fetching of the wasm failed"}catch(t){D(t)}}function H(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function M(t){for(;t.length>0;)t.shift()(a)}function x(t){var e=y.buffer;try{return y.grow(t-e.byteLength+65535>>>16),I(),1}catch(t){}}F(S="zbar.wasm")||(C=S,S=a.locateFile?a.locateFile(C,h):h+C);var j=[null,[],[]];function L(t,e){var n=j[t];0===e||10===e?((1===t?g:B)(function(t,e,n){for(var r=e+n,i=e;t[i]&&!(i>=r);)++i;if(i-e>16&&t.buffer&&b)return b.decode(t.subarray(e,i));for(var o="";e>10,56320|1023&c)}}else o+=String.fromCharCode((31&a)<<6|s)}else o+=String.fromCharCode(a)}return o}(n,0)),n.length=0):n.push(e)}var k,W={d:function(){return!0},e:function(){return Date.now()},c:function(t){var e,n,r=v.length,i=2147483648;if((t>>>=0)>i)return!1;for(var o=1;o<=4;o*=2){var a=r*(1+.2/o);if(a=Math.min(a,t+100663296),x(Math.min(i,(e=Math.max(t,a))+((n=65536)-e%n)%n)))return!0}return!1},f:function(t){return 52},b:function(t,e,n,r,i){return 70},a:function(t,e,n,r){for(var i=0,o=0;o>2],s=E[e+4>>2];e+=8;for(var u=0;u>2]=i,0}};function Y(t){function n(){k||(k=!0,a.calledRun=!0,Z||(M(N),e(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)t=a.postRun.shift(),T.unshift(t);var t;M(T)}()))}O>0||(function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)t=a.preRun.shift(),w.unshift(t);var t;M(w)}(),O>0||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),n()}),1)):n()))}if(function(){var t={a:W};function e(t,e){var n,r=t.exports;a.asm=r,y=a.asm.g,I(),a.asm.s,n=a.asm.h,N.unshift(n),function(t){if(O--,a.monitorRunDependencies&&a.monitorRunDependencies(O),0==O&&P){var e=P;P=null,e()}}()}function n(t){e(t.instance)}function i(e){return function(){if(!d&&(l||_)){if("function"==typeof fetch&&!U(S))return fetch(S,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+S+"'";return t.arrayBuffer()})).catch((function(){return G(S)}));if(u)return new Promise((function(t,e){u(S,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return G(S)}))}().then((function(e){return WebAssembly.instantiate(e,t)})).then((function(t){return t})).then(e,(function(t){B("failed to asynchronously prepare wasm: "+t),D(t)}))}if(O++,a.monitorRunDependencies&&a.monitorRunDependencies(O),a.instantiateWasm)try{return a.instantiateWasm(t,e)}catch(t){B("Module.instantiateWasm callback failed with error: "+t),r(t)}(d||"function"!=typeof WebAssembly.instantiateStreaming||F(S)||U(S)||A||"function"!=typeof fetch?i(n):fetch(S,{credentials:"same-origin"}).then((function(e){return WebAssembly.instantiateStreaming(e,t).then(n,(function(t){return B("wasm streaming compile failed: "+t),B("falling back to ArrayBuffer instantiation"),i(n)}))}))).catch(r)}(),a.___wasm_call_ctors=function(){return(a.___wasm_call_ctors=a.asm.h).apply(null,arguments)},a._ImageScanner_create=function(){return(a._ImageScanner_create=a.asm.i).apply(null,arguments)},a._ImageScanner_destory=function(){return(a._ImageScanner_destory=a.asm.j).apply(null,arguments)},a._ImageScanner_set_config=function(){return(a._ImageScanner_set_config=a.asm.k).apply(null,arguments)},a._ImageScanner_enable_cache=function(){return(a._ImageScanner_enable_cache=a.asm.l).apply(null,arguments)},a._ImageScanner_recycle_image=function(){return(a._ImageScanner_recycle_image=a.asm.m).apply(null,arguments)},a._ImageScanner_get_results=function(){return(a._ImageScanner_get_results=a.asm.n).apply(null,arguments)},a._ImageScanner_scan=function(){return(a._ImageScanner_scan=a.asm.o).apply(null,arguments)},a._Image_create=function(){return(a._Image_create=a.asm.p).apply(null,arguments)},a._Image_destory=function(){return(a._Image_destory=a.asm.q).apply(null,arguments)},a._Image_get_symbols=function(){return(a._Image_get_symbols=a.asm.r).apply(null,arguments)},a._free=function(){return(a._free=a.asm.t).apply(null,arguments)},a._malloc=function(){return(a._malloc=a.asm.u).apply(null,arguments)},P=function t(){k||Y(),k||(P=t)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return Y(),o.ready});t.exports=r}(r);const g=r.exports;let B;const v=e(void 0,void 0,void 0,(function*(){if(B=yield g(),!B)throw Error("WASM was not loaded");return B})),E=()=>e(void 0,void 0,void 0,(function*(){return yield v}));var Z,b,I;t.ZBarSymbolType=void 0,(Z=t.ZBarSymbolType||(t.ZBarSymbolType={}))[Z.ZBAR_NONE=0]="ZBAR_NONE",Z[Z.ZBAR_PARTIAL=1]="ZBAR_PARTIAL",Z[Z.ZBAR_EAN2=2]="ZBAR_EAN2",Z[Z.ZBAR_EAN5=5]="ZBAR_EAN5",Z[Z.ZBAR_EAN8=8]="ZBAR_EAN8",Z[Z.ZBAR_UPCE=9]="ZBAR_UPCE",Z[Z.ZBAR_ISBN10=10]="ZBAR_ISBN10",Z[Z.ZBAR_UPCA=12]="ZBAR_UPCA",Z[Z.ZBAR_EAN13=13]="ZBAR_EAN13",Z[Z.ZBAR_ISBN13=14]="ZBAR_ISBN13",Z[Z.ZBAR_COMPOSITE=15]="ZBAR_COMPOSITE",Z[Z.ZBAR_I25=25]="ZBAR_I25",Z[Z.ZBAR_DATABAR=34]="ZBAR_DATABAR",Z[Z.ZBAR_DATABAR_EXP=35]="ZBAR_DATABAR_EXP",Z[Z.ZBAR_CODABAR=38]="ZBAR_CODABAR",Z[Z.ZBAR_CODE39=39]="ZBAR_CODE39",Z[Z.ZBAR_PDF417=57]="ZBAR_PDF417",Z[Z.ZBAR_QRCODE=64]="ZBAR_QRCODE",Z[Z.ZBAR_SQCODE=80]="ZBAR_SQCODE",Z[Z.ZBAR_CODE93=93]="ZBAR_CODE93",Z[Z.ZBAR_CODE128=128]="ZBAR_CODE128",Z[Z.ZBAR_SYMBOL=255]="ZBAR_SYMBOL",Z[Z.ZBAR_ADDON2=512]="ZBAR_ADDON2",Z[Z.ZBAR_ADDON5=1280]="ZBAR_ADDON5",Z[Z.ZBAR_ADDON=1792]="ZBAR_ADDON",t.ZBarConfigType=void 0,(b=t.ZBarConfigType||(t.ZBarConfigType={}))[b.ZBAR_CFG_ENABLE=0]="ZBAR_CFG_ENABLE",b[b.ZBAR_CFG_ADD_CHECK=1]="ZBAR_CFG_ADD_CHECK",b[b.ZBAR_CFG_EMIT_CHECK=2]="ZBAR_CFG_EMIT_CHECK",b[b.ZBAR_CFG_ASCII=3]="ZBAR_CFG_ASCII",b[b.ZBAR_CFG_BINARY=4]="ZBAR_CFG_BINARY",b[b.ZBAR_CFG_NUM=5]="ZBAR_CFG_NUM",b[b.ZBAR_CFG_MIN_LEN=32]="ZBAR_CFG_MIN_LEN",b[b.ZBAR_CFG_MAX_LEN=33]="ZBAR_CFG_MAX_LEN",b[b.ZBAR_CFG_UNCERTAINTY=64]="ZBAR_CFG_UNCERTAINTY",b[b.ZBAR_CFG_POSITION=128]="ZBAR_CFG_POSITION",b[b.ZBAR_CFG_TEST_INVERTED=129]="ZBAR_CFG_TEST_INVERTED",b[b.ZBAR_CFG_X_DENSITY=256]="ZBAR_CFG_X_DENSITY",b[b.ZBAR_CFG_Y_DENSITY=257]="ZBAR_CFG_Y_DENSITY",t.ZBarOrientation=void 0,(I=t.ZBarOrientation||(t.ZBarOrientation={}))[I.ZBAR_ORIENT_UNKNOWN=-1]="ZBAR_ORIENT_UNKNOWN",I[I.ZBAR_ORIENT_UP=0]="ZBAR_ORIENT_UP",I[I.ZBAR_ORIENT_RIGHT=1]="ZBAR_ORIENT_RIGHT",I[I.ZBAR_ORIENT_DOWN=2]="ZBAR_ORIENT_DOWN",I[I.ZBAR_ORIENT_LEFT=3]="ZBAR_ORIENT_LEFT";class S{constructor(t,e){this.ptr=t,this.inst=e}checkAlive(){if(!this.ptr)throw Error("Call after destroyed")}getPointer(){return this.checkAlive(),this.ptr}}class C{constructor(t,e){this.ptr=t,this.ptr32=t>>2,this.buf=e,this.HEAP8=new Int8Array(e),this.HEAPU32=new Uint32Array(e),this.HEAP32=new Int32Array(e)}}class w extends C{get type(){return this.HEAPU32[this.ptr32]}get data(){const t=this.HEAPU32[this.ptr32+4],e=this.HEAPU32[this.ptr32+5];return Int8Array.from(this.HEAP8.subarray(e,e+t))}get points(){const t=this.HEAPU32[this.ptr32+7],e=this.HEAPU32[this.ptr32+8]>>2,n=[];for(let r=0;r>16;return new this(e._Image_create(t,n,808466521,s,a,i),e)}))}destroy(){this.checkAlive(),this.inst._Image_destory(this.ptr),this.ptr=0}getSymbols(){this.checkAlive();const t=this.inst._Image_get_symbols(this.ptr);return T.createSymbolsFromPtr(t,this.inst.HEAPU8.buffer)}}class P extends S{static create(){return e(this,void 0,void 0,(function*(){const t=yield E();return new this(t._ImageScanner_create(),t)}))}destroy(){this.checkAlive(),this.inst._ImageScanner_destory(this.ptr),this.ptr=0}setConfig(t,e,n){return this.checkAlive(),this.inst._ImageScanner_set_config(this.ptr,t,e,n)}enableCache(t=!0){this.checkAlive(),this.inst._ImageScanner_enable_cache(this.ptr,t)}recycleImage(t){this.checkAlive(),this.inst._ImageScanner_recycle_image(this.ptr,t.getPointer())}getResults(){this.checkAlive();const t=this.inst._ImageScanner_get_results(this.ptr);return T.createSymbolsFromPtr(t,this.inst.HEAPU8.buffer)}scan(t){return this.checkAlive(),this.inst._ImageScanner_scan(this.ptr,t.getPointer())}}const D=()=>e(void 0,void 0,void 0,(function*(){const e=yield P.create();return e.setConfig(t.ZBarSymbolType.ZBAR_NONE,t.ZBarConfigType.ZBAR_CFG_BINARY,1),e}));let F;const U=(t,n)=>e(void 0,void 0,void 0,(function*(){void 0===n&&(n=F||(yield D()),F=n);const e=n.scan(t);if(e<0)throw Error("Scan Failed");return 0===e?[]:t.getSymbols()})),G=(t,n,r,i)=>e(void 0,void 0,void 0,(function*(){const e=yield O.createFromRGBABuffer(n,r,t),o=yield U(e,i);return e.destroy(),o}));return t.ZBarImage=O,t.ZBarScanner=P,t.ZBarSymbol=T,t.getDefaultScanner=D,t.getInstance=E,t.scanGrayBuffer=(t,n,r,i)=>e(void 0,void 0,void 0,(function*(){const e=yield O.createFromGrayBuffer(n,r,t),o=yield U(e,i);return e.destroy(),o})),t.scanImageData=(t,n)=>e(void 0,void 0,void 0,(function*(){return yield G(t.data.buffer,t.width,t.height,n)})),t.scanRGBABuffer=G,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),t}({}); -//# sourceMappingURL=index.js.map diff --git a/zxing/LICENSE b/zxing/LICENSE new file mode 100644 index 0000000..4bcbdae --- /dev/null +++ b/zxing/LICENSE @@ -0,0 +1,245 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +======================================================================== +jai-imageio +======================================================================== + +Copyright (c) 2005 Sun Microsystems, Inc. +Copyright © 2010-2014 University of Manchester +Copyright © 2010-2015 Stian Soiland-Reyes +Copyright © 2015 Peter Hull +All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +- Redistribution of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +- Redistribution in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +Neither the name of Sun Microsystems, Inc. or the names of +contributors may be used to endorse or promote products derived +from this software without specific prior written permission. + +This software is provided "AS IS," without a warranty of any +kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND +WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY +EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL +NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF +USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS +DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR +ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, +CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND +REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR +INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +You acknowledge that this software is not designed or intended for +use in the design, construction, operation or maintenance of any +nuclear facility. diff --git a/zxing/customerror.js b/zxing/customerror.js new file mode 100644 index 0000000..00d7c6e --- /dev/null +++ b/zxing/customerror.js @@ -0,0 +1 @@ +function t(t,r){void 0===r&&(r=t.constructor);var e=Error.captureStackTrace;e&&e(t,r)}var r,e=(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function o(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}),o=function(r){function o(e,o){var n,c,a,i=this.constructor,u=r.call(this,e,o)||this;return Object.defineProperty(u,"name",{value:i.name,enumerable:!1,configurable:!0}),n=u,c=i.prototype,(a=Object.setPrototypeOf)?a(n,c):n.__proto__=c,t(u),u}return e(o,r),o}(Error);function n(r,e){function o(){for(var n=[],c=0;c=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},C=function(){function t(){}return t.fill=function(t,e){for(var r=0,n=t.length;rr)throw new u("fromIndex("+e+") > toIndex("+r+")");if(e<0)throw new w(e);if(r>t)throw new w(r)},t.asList=function(){for(var t=[],e=0;e>1,s=n(r,e[a]);if(s>0)o=a+1;else{if(!(s<0))return a;i=a-1}}return-o-1},t.numberComparator=function(t,e){return t-e},t}(),_=function(){function t(){}return t.numberOfTrailingZeros=function(t){var e;if(0===t)return 32;var r=31;return 0!==(e=t<<16)&&(r-=16,t=e),0!==(e=t<<8)&&(r-=8,t=e),0!==(e=t<<4)&&(r-=4,t=e),0!==(e=t<<2)&&(r-=2,t=e),r-(t<<1>>>31)},t.numberOfLeadingZeros=function(t){if(0===t)return 32;var e=1;return t>>>16==0&&(e+=16,t<<=16),t>>>24==0&&(e+=8,t<<=8),t>>>28==0&&(e+=4,t<<=4),t>>>30==0&&(e+=2,t<<=2),e-=t>>>31},t.toHexString=function(t){return t.toString(16)},t.toBinaryString=function(t){return String(parseInt(String(t),2))},t.bitCount=function(t){return t=(t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135,t+=t>>>8,63&(t+=t>>>16)},t.truncDivision=function(t,e){return Math.trunc(t/e)},t.parseInt=function(t,e){return void 0===e&&(e=void 0),parseInt(t,e)},t.MIN_VALUE_32_BITS=-2147483648,t.MAX_VALUE=Number.MAX_SAFE_INTEGER,t}(),A=function(){function t(e,r){void 0===e?(this.size=0,this.bits=new Int32Array(1)):(this.size=e,this.bits=null==r?t.makeArray(e):r)}return t.prototype.getSize=function(){return this.size},t.prototype.getSizeInBytes=function(){return Math.floor((this.size+7)/8)},t.prototype.ensureCapacity=function(e){if(e>32*this.bits.length){var r=t.makeArray(e);d.arraycopy(this.bits,0,r,0,this.bits.length),this.bits=r}},t.prototype.get=function(t){return 0!=(this.bits[Math.floor(t/32)]&1<<(31&t))},t.prototype.set=function(t){this.bits[Math.floor(t/32)]|=1<<(31&t)},t.prototype.flip=function(t){this.bits[Math.floor(t/32)]^=1<<(31&t)},t.prototype.getNextSet=function(t){var e=this.size;if(t>=e)return e;var r=this.bits,n=Math.floor(t/32),o=r[n];o&=~((1<<(31&t))-1);for(var i=r.length;0===o;){if(++n===i)return e;o=r[n]}var a=32*n+_.numberOfTrailingZeros(o);return a>e?e:a},t.prototype.getNextUnset=function(t){var e=this.size;if(t>=e)return e;var r=this.bits,n=Math.floor(t/32),o=~r[n];o&=~((1<<(31&t))-1);for(var i=r.length;0===o;){if(++n===i)return e;o=~r[n]}var a=32*n+_.numberOfTrailingZeros(o);return a>e?e:a},t.prototype.setBulk=function(t,e){this.bits[Math.floor(t/32)]=e},t.prototype.setRange=function(t,e){if(ethis.size)throw new u;if(e!==t){e--;for(var r=Math.floor(t/32),n=Math.floor(e/32),o=this.bits,i=r;i<=n;i++){var a=(2<<(ir?0:31&t));o[i]|=a}}},t.prototype.clear=function(){for(var t=this.bits.length,e=this.bits,r=0;rthis.size)throw new u;if(e===t)return!0;e--;for(var n=Math.floor(t/32),o=Math.floor(e/32),i=this.bits,a=n;a<=o;a++){var s=(2<<(an?0:31&t))&4294967295;if((i[a]&s)!==(r?s:0))return!1}return!0},t.prototype.appendBit=function(t){this.ensureCapacity(this.size+1),t&&(this.bits[Math.floor(this.size/32)]|=1<<(31&this.size)),this.size++},t.prototype.appendBits=function(t,e){if(e<0||e>32)throw new u("Num bits must be between 0 and 32");this.ensureCapacity(this.size+e);for(var r=e;r>0;r--)this.appendBit(1==(t>>r-1&1))},t.prototype.appendBitArray=function(t){var e=t.size;this.ensureCapacity(this.size+e);for(var r=0;r>1&1431655765|(1431655765&i)<<1)>>2&858993459|(858993459&i)<<2)>>4&252645135|(252645135&i)<<4)>>8&16711935|(16711935&i)<<8)>>16&65535|(65535&i)<<16,t[e-o]=i}if(this.size!==32*r){var a=32*r-this.size,s=t[0]>>>a;for(o=1;o>>a}t[r-1]=s}this.bits=t},t.makeArray=function(t){return new Int32Array(Math.floor((t+31)/32))},t.prototype.equals=function(e){if(!(e instanceof t))return!1;var r=e;return this.size===r.size&&C.equals(this.bits,r.bits)},t.prototype.hashCode=function(){return 31*this.size+C.hashCode(this.bits)},t.prototype.toString=function(){for(var t="",e=0,r=this.size;e=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};!function(t){t[t.Cp437=0]="Cp437",t[t.ISO8859_1=1]="ISO8859_1",t[t.ISO8859_2=2]="ISO8859_2",t[t.ISO8859_3=3]="ISO8859_3",t[t.ISO8859_4=4]="ISO8859_4",t[t.ISO8859_5=5]="ISO8859_5",t[t.ISO8859_6=6]="ISO8859_6",t[t.ISO8859_7=7]="ISO8859_7",t[t.ISO8859_8=8]="ISO8859_8",t[t.ISO8859_9=9]="ISO8859_9",t[t.ISO8859_10=10]="ISO8859_10",t[t.ISO8859_11=11]="ISO8859_11",t[t.ISO8859_13=12]="ISO8859_13",t[t.ISO8859_14=13]="ISO8859_14",t[t.ISO8859_15=14]="ISO8859_15",t[t.ISO8859_16=15]="ISO8859_16",t[t.SJIS=16]="SJIS",t[t.Cp1250=17]="Cp1250",t[t.Cp1251=18]="Cp1251",t[t.Cp1252=19]="Cp1252",t[t.Cp1256=20]="Cp1256",t[t.UnicodeBigUnmarked=21]="UnicodeBigUnmarked",t[t.UTF8=22]="UTF8",t[t.ASCII=23]="ASCII",t[t.Big5=24]="Big5",t[t.GB18030=25]="GB18030",t[t.EUC_KR=26]="EUC_KR"}(m||(m={}));var O,b=function(){function t(e,r,n){for(var o,i,a=[],s=3;s=900)throw new S("incorect value");var r=t.VALUES_TO_ECI.get(e);if(void 0===r)throw new S("incorect value");return r},t.getCharacterSetECIByName=function(e){var r=t.NAME_TO_ECI.get(e);if(void 0===r)throw new S("incorect value");return r},t.prototype.equals=function(e){if(!(e instanceof t))return!1;var r=e;return this.getName()===r.getName()},t.VALUE_IDENTIFIER_TO_ECI=new Map,t.VALUES_TO_ECI=new Map,t.NAME_TO_ECI=new Map,t.Cp437=new t(m.Cp437,Int32Array.from([0,2]),"Cp437"),t.ISO8859_1=new t(m.ISO8859_1,Int32Array.from([1,3]),"ISO-8859-1","ISO88591","ISO8859_1"),t.ISO8859_2=new t(m.ISO8859_2,4,"ISO-8859-2","ISO88592","ISO8859_2"),t.ISO8859_3=new t(m.ISO8859_3,5,"ISO-8859-3","ISO88593","ISO8859_3"),t.ISO8859_4=new t(m.ISO8859_4,6,"ISO-8859-4","ISO88594","ISO8859_4"),t.ISO8859_5=new t(m.ISO8859_5,7,"ISO-8859-5","ISO88595","ISO8859_5"),t.ISO8859_6=new t(m.ISO8859_6,8,"ISO-8859-6","ISO88596","ISO8859_6"),t.ISO8859_7=new t(m.ISO8859_7,9,"ISO-8859-7","ISO88597","ISO8859_7"),t.ISO8859_8=new t(m.ISO8859_8,10,"ISO-8859-8","ISO88598","ISO8859_8"),t.ISO8859_9=new t(m.ISO8859_9,11,"ISO-8859-9","ISO88599","ISO8859_9"),t.ISO8859_10=new t(m.ISO8859_10,12,"ISO-8859-10","ISO885910","ISO8859_10"),t.ISO8859_11=new t(m.ISO8859_11,13,"ISO-8859-11","ISO885911","ISO8859_11"),t.ISO8859_13=new t(m.ISO8859_13,15,"ISO-8859-13","ISO885913","ISO8859_13"),t.ISO8859_14=new t(m.ISO8859_14,16,"ISO-8859-14","ISO885914","ISO8859_14"),t.ISO8859_15=new t(m.ISO8859_15,17,"ISO-8859-15","ISO885915","ISO8859_15"),t.ISO8859_16=new t(m.ISO8859_16,18,"ISO-8859-16","ISO885916","ISO8859_16"),t.SJIS=new t(m.SJIS,20,"SJIS","Shift_JIS"),t.Cp1250=new t(m.Cp1250,21,"Cp1250","windows-1250"),t.Cp1251=new t(m.Cp1251,22,"Cp1251","windows-1251"),t.Cp1252=new t(m.Cp1252,23,"Cp1252","windows-1252"),t.Cp1256=new t(m.Cp1256,24,"Cp1256","windows-1256"),t.UnicodeBigUnmarked=new t(m.UnicodeBigUnmarked,25,"UnicodeBigUnmarked","UTF-16BE","UnicodeBig"),t.UTF8=new t(m.UTF8,26,"UTF8","UTF-8"),t.ASCII=new t(m.ASCII,Int32Array.from([27,170]),"ASCII","US-ASCII"),t.Big5=new t(m.Big5,28,"Big5"),t.GB18030=new t(m.GB18030,29,"GB18030","GB2312","EUC_CN","GBK"),t.EUC_KR=new t(m.EUC_KR,30,"EUC_KR","EUC-KR"),t}(),R=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),N=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return R(e,t),e.kind="UnsupportedOperationException",e}(o),D=function(){function t(){}return t.decode=function(t,e){var r=this.encodingName(e);return this.customDecoder?this.customDecoder(t,r):"undefined"==typeof TextDecoder||this.shouldDecodeOnFallback(r)?this.decodeFallback(t,r):new TextDecoder(r).decode(t)},t.shouldDecodeOnFallback=function(e){return!t.isBrowser()&&"ISO-8859-1"===e},t.encode=function(t,e){var r=this.encodingName(e);return this.customEncoder?this.customEncoder(t,r):"undefined"==typeof TextEncoder?this.encodeFallback(t):(new TextEncoder).encode(t)},t.isBrowser=function(){return"undefined"!=typeof window&&"[object Window]"==={}.toString.call(window)},t.encodingName=function(t){return"string"==typeof t?t:t.getName()},t.encodingCharacterSet=function(t){return t instanceof b?t:b.getCharacterSetECIByName(t)},t.decodeFallback=function(e,r){var n=this.encodingCharacterSet(r);if(t.isDecodeFallbackSupported(n)){for(var o="",i=0,a=e.length;i3&&239===e[0]&&187===e[1]&&191===e[2],C=0;C0?0==(128&_)?a=!1:s--:0!=(128&_)&&(0==(64&_)?a=!1:(s++,0==(32&_)?u++:(s++,0==(16&_)?c++:(s++,0==(8&_)?f++:a=!1))))),o&&(_>127&&_<160?o=!1:_>159&&(_<192||215===_||247===_)&&w++),i&&(h>0?_<64||127===_||_>252?i=!1:h--:128===_||160===_||_>239?i=!1:_>160&&_<224?(l++,p=0,++d>g&&(g=d)):_>127?(h++,d=0,++p>y&&(y=p)):(d=0,p=0))}return a&&s>0&&(a=!1),i&&h>0&&(i=!1),a&&(v||u+c+f>0)?t.UTF8:i&&(t.ASSUME_SHIFT_JIS||g>=3||y>=3)?t.SHIFT_JIS:o&&i?2===g&&2===l||10*w>=n?t.SHIFT_JIS:t.ISO88591:o?t.ISO88591:i?t.SHIFT_JIS:a?t.UTF8:t.PLATFORM_DEFAULT_ENCODING},t.format=function(t){for(var e=[],r=1;ra){if(-1===s)s=i-a;else if(i-a!==s)throw new u("row lengths do not match");a=i,c++}f++}else if(e.substring(f,f+r.length)===r)f+=r.length,o[i]=!0,i++;else{if(e.substring(f,f+n.length)!==n)throw new u("illegal character encountered: "+e.substring(f));f+=n.length,o[i]=!1,i++}if(i>a){if(-1===s)s=i-a;else if(i-a!==s)throw new u("row lengths do not match");c++}for(var h=new t(s,c),l=0;l>>(31&t)&1)},t.prototype.set=function(t,e){var r=e*this.rowSize+Math.floor(t/32);this.bits[r]|=1<<(31&t)&4294967295},t.prototype.unset=function(t,e){var r=e*this.rowSize+Math.floor(t/32);this.bits[r]&=~(1<<(31&t)&4294967295)},t.prototype.flip=function(t,e){var r=e*this.rowSize+Math.floor(t/32);this.bits[r]^=1<<(31&t)&4294967295},t.prototype.xor=function(t){if(this.width!==t.getWidth()||this.height!==t.getHeight()||this.rowSize!==t.getRowSize())throw new u("input matrix dimensions do not match");for(var e=new A(Math.floor(this.width/32)+1),r=this.rowSize,n=this.bits,o=0,i=this.height;othis.height||o>this.width)throw new u("The region must fit inside the matrix");for(var a=this.rowSize,s=this.bits,c=e;cs&&(s=u),32*ca){for(h=31;f>>>h==0;)h--;32*c+h>a&&(a=32*c+h)}}}return a=0&&0===e[r];)r--;if(r<0)return null;for(var n=Math.floor(r/t),o=32*Math.floor(r%t),i=e[r],a=31;i>>>a==0;)a--;return o+=a,Int32Array.from([o,n])},t.prototype.getWidth=function(){return this.width},t.prototype.getHeight=function(){return this.height},t.prototype.getRowSize=function(){return this.rowSize},t.prototype.equals=function(e){if(!(e instanceof t))return!1;var r=e;return this.width===r.width&&this.height===r.height&&this.rowSize===r.rowSize&&C.equals(this.bits,r.bits)},t.prototype.hashCode=function(){var t=this.width;return t=31*(t=31*(t=31*(t=31*t+this.width)+this.height)+this.rowSize)+C.hashCode(this.bits)},t.prototype.toString=function(t,e,r){return void 0===t&&(t="X "),void 0===e&&(e=" "),void 0===r&&(r="\n"),this.buildToString(t,e,r)},t.prototype.buildToString=function(t,e,r){for(var n=new P,o=0,i=this.height;o>e.LUMINANCE_SHIFT]++;var u=e.estimateBlackPoint(a);if(o<3)for(s=0;s>e.LUMINANCE_SHIFT]++}var h=e.estimateBlackPoint(i),l=t.getMatrix();for(a=0;ai&&(o=a,i=t[a]),t[a]>n&&(n=t[a]);var s=0,u=0;for(a=0;au&&(s=a,u=d)}if(o>s){var f=o;o=s,s=f}if(s-o<=r/16)throw new F;var h=s-1,l=-1;for(a=s-1;a>o;a--){var d,p=a-o;(d=p*p*(s-a)*(n-t[a]))>l&&(h=a,l=d)}return h<=e.MINIMUM_DIMENSION&&o>=e.MINIMUM_DIMENSION){var i=r.getMatrix(),a=n>>e.BLOCK_SIZE_POWER;0!=(n&e.BLOCK_SIZE_MASK)&&a++;var s=o>>e.BLOCK_SIZE_POWER;0!=(o&e.BLOCK_SIZE_MASK)&&s++;var u=e.calculateBlackPoints(i,a,s,n,o),c=new B(n,o);e.calculateThresholdForBlock(i,a,s,n,o,u,c),this.matrix=c}else this.matrix=t.prototype.getBlackMatrix.call(this);return this.matrix},e.prototype.createBinarizer=function(t){return new e(t)},e.calculateThresholdForBlock=function(t,r,n,o,i,a,s){for(var u=i-e.BLOCK_SIZE,c=o-e.BLOCK_SIZE,f=0;fu&&(h=u);for(var l=e.cap(f,2,n-3),d=0;dc&&(p=c);for(var g=e.cap(d,2,r-3),y=0,w=-2;w<=2;w++){var v=a[l+w];y+=v[g-2]+v[g-1]+v[g]+v[g+1]+v[g+2]}var C=y/25;e.thresholdBlock(t,p,h,C,o,s)}}},e.cap=function(t,e,r){return tr?r:t},e.thresholdBlock=function(t,r,n,o,i,a){for(var s=0,u=n*i+r;sa&&(f=a);for(var h=0;hs&&(l=s);for(var d=0,p=255,g=0,y=0,w=f*o+l;yg&&(g=C)}if(g-p>e.MIN_DYNAMIC_RANGE)for(y++,w+=o;y>2*e.BLOCK_SIZE_POWER;if(g-p<=e.MIN_DYNAMIC_RANGE&&(_=p/2,c>0&&h>0)){var A=(u[c-1][h]+2*u[c][h-1]+u[c-1][h-1])/4;p>10;o[a]=u}else{i=0,a=0;for(var c=t.length;i>10;o[a]=255-u}}return o},e.prototype.getRow=function(t,e){if(t<0||t>=this.getHeight())throw new u("Requested row is outside the image: "+t);var r=this.getWidth(),n=t*r;return null===e?e=this.buffer.slice(n,n+r):(e.length0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},q=function(){function t(t,e,r){void 0===e&&(e=500),this.reader=t,this.timeBetweenScansMillis=e,this._hints=r,this._stopContinuousDecode=!1,this._stopAsyncDecode=!1,this._timeBetweenDecodingAttempts=0}return Object.defineProperty(t.prototype,"hasNavigator",{get:function(){return"undefined"!=typeof navigator},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isMediaDevicesSuported",{get:function(){return this.hasNavigator&&!!navigator.mediaDevices},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"canEnumerateDevices",{get:function(){return!(!this.isMediaDevicesSuported||!navigator.mediaDevices.enumerateDevices)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"timeBetweenDecodingAttempts",{get:function(){return this._timeBetweenDecodingAttempts},set:function(t){this._timeBetweenDecodingAttempts=t<0?0:t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hints",{get:function(){return this._hints},set:function(t){this._hints=t||null},enumerable:!1,configurable:!0}),t.prototype.listVideoInputDevices=function(){return Y(this,void 0,void 0,(function(){var t,e,r,n,o,i,a,s,u,c,f,h;return Z(this,(function(l){switch(l.label){case 0:if(!this.hasNavigator)throw new Error("Can't enumerate devices, navigator is not present.");if(!this.canEnumerateDevices)throw new Error("Can't enumerate devices, method not supported.");return[4,navigator.mediaDevices.enumerateDevices()];case 1:t=l.sent(),e=[];try{for(r=K(t),n=r.next();!n.done;n=r.next())o=n.value,"videoinput"===(i="video"===o.kind?"videoinput":o.kind)&&(a=o.deviceId||o.id,s=o.label||"Video device "+(e.length+1),u=o.groupId,c={deviceId:a,label:s,kind:i,groupId:u},e.push(c))}catch(t){f={error:t}}finally{try{n&&!n.done&&(h=r.return)&&h.call(r)}finally{if(f)throw f.error}}return[2,e]}}))}))},t.prototype.getVideoInputDevices=function(){return Y(this,void 0,void 0,(function(){return Z(this,(function(t){switch(t.label){case 0:return[4,this.listVideoInputDevices()];case 1:return[2,t.sent().map((function(t){return new j(t.deviceId,t.label)}))]}}))}))},t.prototype.findDeviceById=function(t){return Y(this,void 0,void 0,(function(){var e;return Z(this,(function(r){switch(r.label){case 0:return[4,this.listVideoInputDevices()];case 1:return(e=r.sent())?[2,e.find((function(e){return e.deviceId===t}))]:[2,null]}}))}))},t.prototype.decodeFromInputVideoDevice=function(t,e){return Y(this,void 0,void 0,(function(){return Z(this,(function(r){switch(r.label){case 0:return[4,this.decodeOnceFromVideoDevice(t,e)];case 1:return[2,r.sent()]}}))}))},t.prototype.decodeOnceFromVideoDevice=function(t,e){return Y(this,void 0,void 0,(function(){var r;return Z(this,(function(n){switch(n.label){case 0:return this.reset(),r={video:t?{deviceId:{exact:t}}:{facingMode:"environment"}},[4,this.decodeOnceFromConstraints(r,e)];case 1:return[2,n.sent()]}}))}))},t.prototype.decodeOnceFromConstraints=function(t,e){return Y(this,void 0,void 0,(function(){var r;return Z(this,(function(n){switch(n.label){case 0:return[4,navigator.mediaDevices.getUserMedia(t)];case 1:return r=n.sent(),[4,this.decodeOnceFromStream(r,e)];case 2:return[2,n.sent()]}}))}))},t.prototype.decodeOnceFromStream=function(t,e){return Y(this,void 0,void 0,(function(){var r;return Z(this,(function(n){switch(n.label){case 0:return this.reset(),[4,this.attachStreamToVideo(t,e)];case 1:return r=n.sent(),[4,this.decodeOnce(r)];case 2:return[2,n.sent()]}}))}))},t.prototype.decodeFromInputVideoDeviceContinuously=function(t,e,r){return Y(this,void 0,void 0,(function(){return Z(this,(function(n){switch(n.label){case 0:return[4,this.decodeFromVideoDevice(t,e,r)];case 1:return[2,n.sent()]}}))}))},t.prototype.decodeFromVideoDevice=function(t,e,r){return Y(this,void 0,void 0,(function(){var n;return Z(this,(function(o){switch(o.label){case 0:return n={video:t?{deviceId:{exact:t}}:{facingMode:"environment"}},[4,this.decodeFromConstraints(n,e,r)];case 1:return[2,o.sent()]}}))}))},t.prototype.decodeFromConstraints=function(t,e,r){return Y(this,void 0,void 0,(function(){var n;return Z(this,(function(o){switch(o.label){case 0:return[4,navigator.mediaDevices.getUserMedia(t)];case 1:return n=o.sent(),[4,this.decodeFromStream(n,e,r)];case 2:return[2,o.sent()]}}))}))},t.prototype.decodeFromStream=function(t,e,r){return Y(this,void 0,void 0,(function(){var n;return Z(this,(function(o){switch(o.label){case 0:return this.reset(),[4,this.attachStreamToVideo(t,e)];case 1:return n=o.sent(),[4,this.decodeContinuously(n,r)];case 2:return[2,o.sent()]}}))}))},t.prototype.stopAsyncDecode=function(){this._stopAsyncDecode=!0},t.prototype.stopContinuousDecode=function(){this._stopContinuousDecode=!0},t.prototype.attachStreamToVideo=function(t,e){return Y(this,void 0,void 0,(function(){var r;return Z(this,(function(n){switch(n.label){case 0:return r=this.prepareVideoElement(e),this.addVideoSource(r,t),this.videoElement=r,this.stream=t,[4,this.playVideoOnLoadAsync(r)];case 1:return n.sent(),[2,r]}}))}))},t.prototype.playVideoOnLoadAsync=function(t){var e=this;return new Promise((function(r,n){return e.playVideoOnLoad(t,(function(){return r()}))}))},t.prototype.playVideoOnLoad=function(t,e){var r=this;this.videoEndedListener=function(){return r.stopStreams()},this.videoCanPlayListener=function(){return r.tryPlayVideo(t)},t.addEventListener("ended",this.videoEndedListener),t.addEventListener("canplay",this.videoCanPlayListener),t.addEventListener("playing",e),this.tryPlayVideo(t)},t.prototype.isVideoPlaying=function(t){return t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2},t.prototype.tryPlayVideo=function(t){return Y(this,void 0,void 0,(function(){return Z(this,(function(e){switch(e.label){case 0:if(this.isVideoPlaying(t))return console.warn("Trying to play video that is already playing."),[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,t.play()];case 2:return e.sent(),[3,4];case 3:return e.sent(),console.warn("It was not possible to play the video."),[3,4];case 4:return[2]}}))}))},t.prototype.getMediaElement=function(t,e){var r=document.getElementById(t);if(!r)throw new a("element with id '"+t+"' not found");if(r.nodeName.toLowerCase()!==e.toLowerCase())throw new a("element with id '"+t+"' must be an "+e+" element");return r},t.prototype.decodeFromImage=function(t,e){if(!t&&!e)throw new a("either imageElement with a src set or an url must be provided");return e&&!t?this.decodeFromImageUrl(e):this.decodeFromImageElement(t)},t.prototype.decodeFromVideo=function(t,e){if(!t&&!e)throw new a("Either an element with a src set or an URL must be provided");return e&&!t?this.decodeFromVideoUrl(e):this.decodeFromVideoElement(t)},t.prototype.decodeFromVideoContinuously=function(t,e,r){if(void 0===t&&void 0===e)throw new a("Either an element with a src set or an URL must be provided");return e&&!t?this.decodeFromVideoUrlContinuously(e,r):this.decodeFromVideoElementContinuously(t,r)},t.prototype.decodeFromImageElement=function(t){if(!t)throw new a("An image element must be provided.");this.reset();var e=this.prepareImageElement(t);return this.imageElement=e,this.isImageLoaded(e)?this.decodeOnce(e,!1,!0):this._decodeOnLoadImage(e)},t.prototype.decodeFromVideoElement=function(t){var e=this._decodeFromVideoElementSetup(t);return this._decodeOnLoadVideo(e)},t.prototype.decodeFromVideoElementContinuously=function(t,e){var r=this._decodeFromVideoElementSetup(t);return this._decodeOnLoadVideoContinuously(r,e)},t.prototype._decodeFromVideoElementSetup=function(t){if(!t)throw new a("A video element must be provided.");this.reset();var e=this.prepareVideoElement(t);return this.videoElement=e,e},t.prototype.decodeFromImageUrl=function(t){if(!t)throw new a("An URL must be provided.");this.reset();var e=this.prepareImageElement();this.imageElement=e;var r=this._decodeOnLoadImage(e);return e.src=t,r},t.prototype.decodeFromVideoUrl=function(t){if(!t)throw new a("An URL must be provided.");this.reset();var e=this.prepareVideoElement(),r=this.decodeFromVideoElement(e);return e.src=t,r},t.prototype.decodeFromVideoUrlContinuously=function(t,e){if(!t)throw new a("An URL must be provided.");this.reset();var r=this.prepareVideoElement(),n=this.decodeFromVideoElementContinuously(r,e);return r.src=t,n},t.prototype._decodeOnLoadImage=function(t){var e=this;return new Promise((function(r,n){e.imageLoadedListener=function(){return e.decodeOnce(t,!1,!0).then(r,n)},t.addEventListener("load",e.imageLoadedListener)}))},t.prototype._decodeOnLoadVideo=function(t){return Y(this,void 0,void 0,(function(){return Z(this,(function(e){switch(e.label){case 0:return[4,this.playVideoOnLoadAsync(t)];case 1:return e.sent(),[4,this.decodeOnce(t)];case 2:return[2,e.sent()]}}))}))},t.prototype._decodeOnLoadVideoContinuously=function(t,e){return Y(this,void 0,void 0,(function(){return Z(this,(function(r){switch(r.label){case 0:return[4,this.playVideoOnLoadAsync(t)];case 1:return r.sent(),this.decodeContinuously(t,e),[2]}}))}))},t.prototype.isImageLoaded=function(t){return!!t.complete&&0!==t.naturalWidth},t.prototype.prepareImageElement=function(t){var e;return void 0===t&&((e=document.createElement("img")).width=200,e.height=200),"string"==typeof t&&(e=this.getMediaElement(t,"img")),t instanceof HTMLImageElement&&(e=t),e},t.prototype.prepareVideoElement=function(t){var e;return t||"undefined"==typeof document||((e=document.createElement("video")).width=200,e.height=200),"string"==typeof t&&(e=this.getMediaElement(t,"video")),t instanceof HTMLVideoElement&&(e=t),e.setAttribute("autoplay","true"),e.setAttribute("muted","true"),e.setAttribute("playsinline","true"),e},t.prototype.decodeOnce=function(t,e,r){var n=this;void 0===e&&(e=!0),void 0===r&&(r=!0),this._stopAsyncDecode=!1;var o=function(i,a){if(n._stopAsyncDecode)return a(new F("Video stream has ended before any code could be detected.")),void(n._stopAsyncDecode=void 0);try{i(n.decode(t))}catch(t){if(e&&t instanceof F||(t instanceof h||t instanceof S)&&r)return setTimeout(o,n._timeBetweenDecodingAttempts,i,a);a(t)}};return new Promise((function(t,e){return o(t,e)}))},t.prototype.decodeContinuously=function(t,e){var r=this;this._stopContinuousDecode=!1;var n=function(){if(r._stopContinuousDecode)r._stopContinuousDecode=void 0;else try{var o=r.decode(t);e(o,null),setTimeout(n,r.timeBetweenScansMillis)}catch(t){e(null,t),(t instanceof h||t instanceof S||t instanceof F)&&setTimeout(n,r._timeBetweenDecodingAttempts)}};n()},t.prototype.decode=function(t){var e=this.createBinaryBitmap(t);return this.decodeBitmap(e)},t.prototype.createBinaryBitmap=function(t){this.getCaptureCanvasContext(t),t instanceof HTMLVideoElement?this.drawFrameOnCanvas(t):this.drawImageOnCanvas(t);var e=this.getCaptureCanvas(t),r=new z(e),n=new H(r);return new c(n)},t.prototype.getCaptureCanvasContext=function(t){if(!this.captureCanvasContext){var e=this.getCaptureCanvas(t),r=void 0;try{r=e.getContext("2d",{willReadFrequently:!0})}catch(t){r=e.getContext("2d")}this.captureCanvasContext=r}return this.captureCanvasContext},t.prototype.getCaptureCanvas=function(t){if(!this.captureCanvas){var e=this.createCaptureCanvas(t);this.captureCanvas=e}return this.captureCanvas},t.prototype.drawFrameOnCanvas=function(t,e,r){void 0===e&&(e={sx:0,sy:0,sWidth:t.videoWidth,sHeight:t.videoHeight,dx:0,dy:0,dWidth:t.videoWidth,dHeight:t.videoHeight}),void 0===r&&(r=this.captureCanvasContext),r.drawImage(t,e.sx,e.sy,e.sWidth,e.sHeight,e.dx,e.dy,e.dWidth,e.dHeight)},t.prototype.drawImageOnCanvas=function(t,e,r){void 0===e&&(e={sx:0,sy:0,sWidth:t.naturalWidth,sHeight:t.naturalHeight,dx:0,dy:0,dWidth:t.naturalWidth,dHeight:t.naturalHeight}),void 0===r&&(r=this.captureCanvasContext),r.drawImage(t,e.sx,e.sy,e.sWidth,e.sHeight,e.dx,e.dy,e.dWidth,e.dHeight)},t.prototype.decodeBitmap=function(t){return this.reader.decode(t,this._hints)},t.prototype.createCaptureCanvas=function(t){if("undefined"==typeof document)return this._destroyCaptureCanvas(),null;var e,r,n=document.createElement("canvas");return void 0!==t&&(t instanceof HTMLVideoElement?(e=t.videoWidth,r=t.videoHeight):t instanceof HTMLImageElement&&(e=t.naturalWidth||t.width,r=t.naturalHeight||t.height)),n.style.width=e+"px",n.style.height=r+"px",n.width=e,n.height=r,n},t.prototype.stopStreams=function(){this.stream&&(this.stream.getVideoTracks().forEach((function(t){return t.stop()})),this.stream=void 0),!1===this._stopAsyncDecode&&this.stopAsyncDecode(),!1===this._stopContinuousDecode&&this.stopContinuousDecode()},t.prototype.reset=function(){this.stopStreams(),this._destroyVideoElement(),this._destroyImageElement(),this._destroyCaptureCanvas()},t.prototype._destroyVideoElement=function(){this.videoElement&&(void 0!==this.videoEndedListener&&this.videoElement.removeEventListener("ended",this.videoEndedListener),void 0!==this.videoPlayingEventListener&&this.videoElement.removeEventListener("playing",this.videoPlayingEventListener),void 0!==this.videoCanPlayListener&&this.videoElement.removeEventListener("loadedmetadata",this.videoCanPlayListener),this.cleanVideoSource(this.videoElement),this.videoElement=void 0)},t.prototype._destroyImageElement=function(){this.imageElement&&(void 0!==this.imageLoadedListener&&this.imageElement.removeEventListener("load",this.imageLoadedListener),this.imageElement.src=void 0,this.imageElement.removeAttribute("src"),this.imageElement=void 0)},t.prototype._destroyCaptureCanvas=function(){this.captureCanvasContext=void 0,this.captureCanvas=void 0},t.prototype.addVideoSource=function(t,e){try{t.srcObject=e}catch(r){t.src=URL.createObjectURL(e)}},t.prototype.cleanVideoSource=function(t){try{t.srcObject=null}catch(e){t.src=""}this.videoElement.removeAttribute("src")},t}(),Q=function(){function t(t,e,r,n,o,i){void 0===r&&(r=null==e?0:8*e.length),void 0===i&&(i=d.currentTimeMillis()),this.text=t,this.rawBytes=e,this.numBits=r,this.resultPoints=n,this.format=o,this.timestamp=i,this.text=t,this.rawBytes=e,this.numBits=null==r?null==e?0:8*e.length:r,this.resultPoints=n,this.format=o,this.resultMetadata=null,this.timestamp=null==i?d.currentTimeMillis():i}return t.prototype.getText=function(){return this.text},t.prototype.getRawBytes=function(){return this.rawBytes},t.prototype.getNumBits=function(){return this.numBits},t.prototype.getResultPoints=function(){return this.resultPoints},t.prototype.getBarcodeFormat=function(){return this.format},t.prototype.getResultMetadata=function(){return this.resultMetadata},t.prototype.putMetadata=function(t,e){null===this.resultMetadata&&(this.resultMetadata=new Map),this.resultMetadata.set(t,e)},t.prototype.putAllMetadata=function(t){null!==t&&(null===this.resultMetadata?this.resultMetadata=t:this.resultMetadata=new Map(t))},t.prototype.addResultPoints=function(t){var e=this.resultPoints;if(null===e)this.resultPoints=t;else if(null!==t&&t.length>0){var r=new Array(e.length+t.length);d.arraycopy(e,0,r,0,e.length),d.arraycopy(t,0,r,e.length,t.length),this.resultPoints=r}},t.prototype.getTimestamp=function(){return this.timestamp},t.prototype.toString=function(){return this.text},t}();!function(t){t[t.AZTEC=0]="AZTEC",t[t.CODABAR=1]="CODABAR",t[t.CODE_39=2]="CODE_39",t[t.CODE_93=3]="CODE_93",t[t.CODE_128=4]="CODE_128",t[t.DATA_MATRIX=5]="DATA_MATRIX",t[t.EAN_8=6]="EAN_8",t[t.EAN_13=7]="EAN_13",t[t.ITF=8]="ITF",t[t.MAXICODE=9]="MAXICODE",t[t.PDF_417=10]="PDF_417",t[t.QR_CODE=11]="QR_CODE",t[t.RSS_14=12]="RSS_14",t[t.RSS_EXPANDED=13]="RSS_EXPANDED",t[t.UPC_A=14]="UPC_A",t[t.UPC_E=15]="UPC_E",t[t.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"}(O||(O={}));var J,$=O;!function(t){t[t.OTHER=0]="OTHER",t[t.ORIENTATION=1]="ORIENTATION",t[t.BYTE_SEGMENTS=2]="BYTE_SEGMENTS",t[t.ERROR_CORRECTION_LEVEL=3]="ERROR_CORRECTION_LEVEL",t[t.ISSUE_NUMBER=4]="ISSUE_NUMBER",t[t.SUGGESTED_PRICE=5]="SUGGESTED_PRICE",t[t.POSSIBLE_COUNTRY=6]="POSSIBLE_COUNTRY",t[t.UPC_EAN_EXTENSION=7]="UPC_EAN_EXTENSION",t[t.PDF417_EXTRA_METADATA=8]="PDF417_EXTRA_METADATA",t[t.STRUCTURED_APPEND_SEQUENCE=9]="STRUCTURED_APPEND_SEQUENCE",t[t.STRUCTURED_APPEND_PARITY=10]="STRUCTURED_APPEND_PARITY"}(J||(J={}));var tt,et=J,rt=function(){function t(t,e,r,n,o,i){void 0===o&&(o=-1),void 0===i&&(i=-1),this.rawBytes=t,this.text=e,this.byteSegments=r,this.ecLevel=n,this.structuredAppendSequenceNumber=o,this.structuredAppendParity=i,this.numBits=null==t?0:8*t.length}return t.prototype.getRawBytes=function(){return this.rawBytes},t.prototype.getNumBits=function(){return this.numBits},t.prototype.setNumBits=function(t){this.numBits=t},t.prototype.getText=function(){return this.text},t.prototype.getByteSegments=function(){return this.byteSegments},t.prototype.getECLevel=function(){return this.ecLevel},t.prototype.getErrorsCorrected=function(){return this.errorsCorrected},t.prototype.setErrorsCorrected=function(t){this.errorsCorrected=t},t.prototype.getErasures=function(){return this.erasures},t.prototype.setErasures=function(t){this.erasures=t},t.prototype.getOther=function(){return this.other},t.prototype.setOther=function(t){this.other=t},t.prototype.hasStructuredAppend=function(){return this.structuredAppendParity>=0&&this.structuredAppendSequenceNumber>=0},t.prototype.getStructuredAppendParity=function(){return this.structuredAppendParity},t.prototype.getStructuredAppendSequenceNumber=function(){return this.structuredAppendSequenceNumber},t}(),nt=function(){function t(){}return t.prototype.exp=function(t){return this.expTable[t]},t.prototype.log=function(t){if(0===t)throw new u;return this.logTable[t]},t.addOrSubtract=function(t,e){return t^e},t}(),ot=function(){function t(t,e){if(0===e.length)throw new u;this.field=t;var r=e.length;if(r>1&&0===e[0]){for(var n=1;nn.length){var o=r;r=n,n=o}var i=new Int32Array(n.length),a=n.length-r.length;d.arraycopy(n,0,i,0,a);for(var s=a;s=t.getDegree()&&!n.isZero();){var a=n.getDegree()-t.getDegree(),s=e.multiply(n.getCoefficient(n.getDegree()),i),c=t.multiplyByMonomial(a,s),f=e.buildMonomial(a,s);r=r.addOrSubtract(f),n=n.addOrSubtract(c)}return[r,n]},t.prototype.toString=function(){for(var t="",e=this.getDegree();e>=0;e--){var r=this.getCoefficient(e);if(0!==r){if(r<0?(t+=" - ",r=-r):t.length>0&&(t+=" + "),0===e||1!==r){var n=this.field.log(r);0===n?t+="1":1===n?t+="a":(t+="a^",t+=n)}0!==e&&(1===e?t+="x":(t+="x^",t+=e))}}return t},t}(),it=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),at=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return it(e,t),e.kind="ArithmeticException",e}(o),st=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ut=function(t){function e(e,r,n){var o=t.call(this)||this;o.primitive=e,o.size=r,o.generatorBase=n;for(var i=new Int32Array(r),a=1,s=0;s=r&&(a^=e,a&=r-1);o.expTable=i;var u=new Int32Array(r);for(s=0;s=(r/2|0);){var c=i,f=s;if(s=u,(i=a).isZero())throw new ft("r_{i-1} was zero");a=c;for(var h=o.getZero(),l=i.getCoefficient(i.getDegree()),d=o.inverse(l);a.getDegree()>=i.getDegree()&&!a.isZero();){var p=a.getDegree()-i.getDegree(),g=o.multiply(a.getCoefficient(a.getDegree()),d);h=h.addOrSubtract(o.buildMonomial(p,g)),a=a.addOrSubtract(i.multiplyByMonomial(p,g))}if(u=h.multiply(s).addOrSubtract(f),a.getDegree()>=i.getDegree())throw new lt("Division algorithm failed to reduce polynomial?")}var y=u.getCoefficient(0);if(0===y)throw new ft("sigmaTilde(0) was zero");var w=o.inverse(y);return[u.multiplyScalar(w),a.multiplyScalar(w)]},t.prototype.findErrorLocations=function(t){var e=t.getDegree();if(1===e)return Int32Array.from([t.getCoefficient(1)]);for(var r=new Int32Array(e),n=0,o=this.field,i=1;i1,l,l+n-1),l+=n-1;else for(var p=n-1;p>=0;--p)h[l++]=0!=(d&1<=8?t.readCode(e,r,8):t.readCode(e,r,n)<<8-n},t.convertBoolArrayToByteArray=function(e){for(var r=new Uint8Array((e.length+7)/8),n=0;n","?","[","]","{","}","CTRL_UL"],t.DIGIT_TABLE=["CTRL_PS"," ","0","1","2","3","4","5","6","7","8","9",",",".","CTRL_UL","CTRL_US"],t}(),gt=function(){function t(){}return t.round=function(t){return isNaN(t)?0:t<=Number.MIN_SAFE_INTEGER?Number.MIN_SAFE_INTEGER:t>=Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:t+(t<0?-.5:.5)|0},t.distance=function(t,e,r,n){var o=t-r,i=e-n;return Math.sqrt(o*o+i*i)},t.sum=function(t){for(var e=0,r=0,n=t.length;r!==n;r++){e+=t[r]}return e},t}(),yt=function(){function t(){}return t.floatToIntBits=function(t){return t},t.MAX_VALUE=Number.MAX_SAFE_INTEGER,t}(),wt=function(){function t(t,e){this.x=t,this.y=e}return t.prototype.getX=function(){return this.x},t.prototype.getY=function(){return this.y},t.prototype.equals=function(e){if(e instanceof t){var r=e;return this.x===r.x&&this.y===r.y}return!1},t.prototype.hashCode=function(){return 31*yt.floatToIntBits(this.x)+yt.floatToIntBits(this.y)},t.prototype.toString=function(){return"("+this.x+","+this.y+")"},t.orderBestPatterns=function(t){var e,r,n,o=this.distance(t[0],t[1]),i=this.distance(t[1],t[2]),a=this.distance(t[0],t[2]);if(i>=o&&i>=a?(r=t[0],e=t[1],n=t[2]):a>=i&&a>=o?(r=t[1],e=t[0],n=t[2]):(r=t[2],e=t[0],n=t[1]),this.crossProductZ(e,r,n)<0){var s=e;e=n,n=s}t[0]=e,t[1]=r,t[2]=n},t.distance=function(t,e){return gt.distance(t.x,t.y,e.x,e.y)},t.crossProductZ=function(t,e,r){var n=e.x,o=e.y;return(r.x-n)*(t.y-o)-(r.y-o)*(t.x-n)},t}(),vt=function(){function t(t,e){this.bits=t,this.points=e}return t.prototype.getBits=function(){return this.bits},t.prototype.getPoints=function(){return this.points},t}(),Ct=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),_t=function(t){function e(e,r,n,o,i){var a=t.call(this,e,r)||this;return a.compact=n,a.nbDatablocks=o,a.nbLayers=i,a}return Ct(e,t),e.prototype.getNbLayers=function(){return this.nbLayers},e.prototype.getNbDatablocks=function(){return this.nbDatablocks},e.prototype.isCompact=function(){return this.compact},e}(vt),At=function(){function t(e,r,n,o){this.image=e,this.height=e.getHeight(),this.width=e.getWidth(),null==r&&(r=t.INIT_SIZE),null==n&&(n=e.getWidth()/2|0),null==o&&(o=e.getHeight()/2|0);var i=r/2|0;if(this.leftInit=n-i,this.rightInit=n+i,this.upInit=o-i,this.downInit=o+i,this.upInit<0||this.leftInit<0||this.downInit>=this.height||this.rightInit>=this.width)throw new F}return t.prototype.detect=function(){for(var t=this.leftInit,e=this.rightInit,r=this.upInit,n=this.downInit,o=!1,i=!0,a=!1,s=!1,u=!1,c=!1,f=!1,h=this.width,l=this.height;i;){i=!1;for(var d=!0;(d||!s)&&e=h){o=!0;break}for(var p=!0;(p||!u)&&n=l){o=!0;break}for(var g=!0;(g||!c)&&t>=0;)(g=this.containsBlackPoint(r,n,t,!1))?(t--,i=!0,c=!0):c||t--;if(t<0){o=!0;break}for(var y=!0;(y||!f)&&r>=0;)(y=this.containsBlackPoint(t,e,r,!0))?(r--,i=!0,f=!0):f||r--;if(r<0){o=!0;break}i&&(a=!0)}if(!o&&a){for(var w=e-t,v=null,C=1;null===v&&Cr||s<-1||s>n)throw new F;o=!1,-1===a?(e[i]=0,o=!0):a===r&&(e[i]=r-1,o=!0),-1===s?(e[i+1]=0,o=!0):s===n&&(e[i+1]=n-1,o=!0)}o=!0;for(i=e.length-2;i>=0&&o;i-=2){a=Math.floor(e[i]),s=Math.floor(e[i+1]);if(a<-1||a>r||s<-1||s>n)throw new F;o=!1,-1===a?(e[i]=0,o=!0):a===r&&(e[i]=r-1,o=!0),-1===s?(e[i+1]=0,o=!0):s===n&&(e[i+1]=n-1,o=!0)}},t}(),Et=function(){function t(t,e,r,n,o,i,a,s,u){this.a11=t,this.a21=e,this.a31=r,this.a12=n,this.a22=o,this.a32=i,this.a13=a,this.a23=s,this.a33=u}return t.quadrilateralToQuadrilateral=function(e,r,n,o,i,a,s,u,c,f,h,l,d,p,g,y){var w=t.quadrilateralToSquare(e,r,n,o,i,a,s,u);return t.squareToQuadrilateral(c,f,h,l,d,p,g,y).times(w)},t.prototype.transformPoints=function(t){for(var e=t.length,r=this.a11,n=this.a12,o=this.a13,i=this.a21,a=this.a22,s=this.a23,u=this.a31,c=this.a32,f=this.a33,h=0;h>1&127):(n<<=10,n+=(i>>2&992)+(i>>1&31))}var a=this.getCorrectedParameterData(n,this.compact);this.compact?(this.nbLayers=1+(a>>6),this.nbDataBlocks=1+(63&a)):(this.nbLayers=1+(a>>11),this.nbDataBlocks=1+(2047&a))},t.prototype.getRotation=function(t,e){var r=0;t.forEach((function(t,n,o){r=(r<<3)+((t>>e-2<<1)+(1&t))})),r=((1&r)<<11)+(r>>1);for(var n=0;n<4;n++)if(_.bitCount(r^this.EXPECTED_CORNER_BITS[n])<=2)return n;throw new F},t.prototype.getCorrectedParameterData=function(t,e){var r,n;e?(r=7,n=2):(r=10,n=4);for(var o=r-n,i=new Int32Array(r),a=r-1;a>=0;--a)i[a]=15&t,t>>=4;try{new dt(ut.AZTEC_PARAM).decode(i,o)}catch(t){throw new F}var s=0;for(a=0;a2){var f=this.distancePoint(c,a)*this.nbCenterLayers/(this.distancePoint(o,e)*(this.nbCenterLayers+2));if(f<.75||f>1.25||!this.isWhiteOrBlackRectangle(a,s,u,c))break}e=a,r=s,n=u,o=c,i=!i}if(5!==this.nbCenterLayers&&7!==this.nbCenterLayers)throw new F;this.compact=5===this.nbCenterLayers;var h=new wt(e.getX()+.5,e.getY()-.5),l=new wt(r.getX()+.5,r.getY()+.5),d=new wt(n.getX()-.5,n.getY()+.5),p=new wt(o.getX()-.5,o.getY()-.5);return this.expandSquare([h,l,d,p],2*this.nbCenterLayers-3,2*this.nbCenterLayers)},t.prototype.getMatrixCenter=function(){var t,e,r,n;try{t=(u=new At(this.image).detect())[0],e=u[1],r=u[2],n=u[3]}catch(a){var o=this.image.getWidth()/2,i=this.image.getHeight()/2;t=this.getFirstDifferent(new Ot(o+7,i-7),!1,1,-1).toResultPoint(),e=this.getFirstDifferent(new Ot(o+7,i+7),!1,1,1).toResultPoint(),r=this.getFirstDifferent(new Ot(o-7,i+7),!1,-1,1).toResultPoint(),n=this.getFirstDifferent(new Ot(o-7,i-7),!1,-1,-1).toResultPoint()}var a=gt.round((t.getX()+n.getX()+e.getX()+r.getX())/4),s=gt.round((t.getY()+n.getY()+e.getY()+r.getY())/4);try{var u;t=(u=new At(this.image,15,a,s).detect())[0],e=u[1],r=u[2],n=u[3]}catch(o){t=this.getFirstDifferent(new Ot(a+7,s-7),!1,1,-1).toResultPoint(),e=this.getFirstDifferent(new Ot(a+7,s+7),!1,1,1).toResultPoint(),r=this.getFirstDifferent(new Ot(a-7,s+7),!1,-1,1).toResultPoint(),n=this.getFirstDifferent(new Ot(a-7,s-7),!1,-1,-1).toResultPoint()}return a=gt.round((t.getX()+n.getX()+e.getX()+r.getX())/4),s=gt.round((t.getY()+n.getY()+e.getY()+r.getY())/4),new Ot(a,s)},t.prototype.getMatrixCornerPoints=function(t){return this.expandSquare(t,2*this.nbCenterLayers,this.getDimension())},t.prototype.sampleGrid=function(t,e,r,n,o){var i=Tt.getInstance(),a=this.getDimension(),s=a/2-this.nbCenterLayers,u=a/2+this.nbCenterLayers;return i.sampleGrid(t,a,a,s,s,u,s,u,u,s,u,e.getX(),e.getY(),r.getX(),r.getY(),n.getX(),n.getY(),o.getX(),o.getY())},t.prototype.sampleLine=function(t,e,r){for(var n=0,o=this.distanceResultPoint(t,e),i=o/r,a=t.getX(),s=t.getY(),u=i*(e.getX()-t.getX())/o,c=i*(e.getY()-t.getY())/o,f=0;f.1&&h<.9?0:h<=.1===u?1:-1},t.prototype.getFirstDifferent=function(t,e,r,n){for(var o=t.getX()+r,i=t.getY()+n;this.isValid(o,i)&&this.image.get(o,i)===e;)o+=r,i+=n;for(o-=r,i-=n;this.isValid(o,i)&&this.image.get(o,i)===e;)o+=r;for(o-=r;this.isValid(o,i)&&this.image.get(o,i)===e;)i+=n;return new Ot(o,i-=n)},t.prototype.expandSquare=function(t,e,r){var n=r/(2*e),o=t[0].getX()-t[2].getX(),i=t[0].getY()-t[2].getY(),a=(t[0].getX()+t[2].getX())/2,s=(t[0].getY()+t[2].getY())/2,u=new wt(a+n*o,s+n*i),c=new wt(a-n*o,s-n*i);return o=t[1].getX()-t[3].getX(),i=t[1].getY()-t[3].getY(),a=(t[1].getX()+t[3].getX())/2,s=(t[1].getY()+t[3].getY())/2,[u,new wt(a+n*o,s+n*i),c,new wt(a-n*o,s-n*i)]},t.prototype.isValid=function(t,e){return t>=0&&t0&&e>(a?8:5));r=a?o:15;for(var u=Math.trunc(o/2),c=0;c=o)break;try{i=t.getBlackRow(h,i)}catch(t){continue}for(var l=function(t){if(1===t&&(i.reverse(),e&&!0===e.get(E.NEED_RESULT_POINT_CALLBACK))){var r=new Map;e.forEach((function(t,e){return r.set(e,t)})),r.delete(E.NEED_RESULT_POINT_CALLBACK),e=r}try{var o=d.decodeRow(h,i,e);if(1===t){o.putMetadata(et.ORIENTATION,180);var a=o.getResultPoints();null!==a&&(a[0]=new wt(n-a[0].getX()-1,a[0].getY()),a[1]=new wt(n-a[1].getX()-1,a[1].getY()))}return{value:o}}catch(t){}},d=this,p=0;p<2;p++){var g=l(p);if("object"==typeof g)return g.value}}throw new F},t.recordPattern=function(t,e,r){for(var n=r.length,o=0;o=i)throw new F;for(var a=!t.get(e),s=0,u=e;u0&&o>=0;)e.get(--r)!==i&&(o--,i=!i);if(o>=0)throw new F;t.recordPattern(e,r+1,n)},t.patternMatchVariance=function(t,e,r){for(var n=t.length,o=0,i=0,a=0;ah?f-h:h-f;if(l>r)return Number.POSITIVE_INFINITY;u+=l}return u/o},t}(),Pt=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Bt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Pt(e,t),e.findStartPattern=function(t){for(var r=t.getSize(),n=t.getNextSet(0),o=0,i=Int32Array.from([0,0,0,0,0,0]),a=n,s=!1,u=n;u=0&&t.isRange(Math.max(0,a-(u-a)/2),a,!1))return Int32Array.from([a,u,f]);a+=i[0]+i[1],(i=i.slice(2,i.length))[o-1]=0,i[o]=0,o--}else o++;i[o]=1,s=!s}throw new F},e.decodeCode=function(t,r,n){Mt.recordPattern(t,n,r);for(var o=e.MAX_AVG_VARIANCE,i=-1,a=0;a=0)return i;throw new F},e.prototype.decodeRow=function(t,r,n){var o,i=n&&!0===n.get(E.ASSUME_GS1),a=e.findStartPattern(r),s=a[2],u=0,c=new Uint8Array(20);switch(c[u++]=s,s){case e.CODE_START_A:o=e.CODE_CODE_A;break;case e.CODE_START_B:o=e.CODE_CODE_B;break;case e.CODE_START_C:o=e.CODE_CODE_C;break;default:throw new S}for(var f=!1,l=!1,d="",p=a[0],g=a[1],y=Int32Array.from([0,0,0,0,0,0]),w=0,v=0,C=s,_=0,A=!0,m=!1,I=!1;!f;){var T=l;switch(l=!1,w=v,v=e.decodeCode(r,y,g),c[u++]=v,v!==e.CODE_STOP&&(A=!0),v!==e.CODE_STOP&&(C+=++_*v),p=g,g+=y.reduce((function(t,e){return t+e}),0),v){case e.CODE_START_A:case e.CODE_START_B:case e.CODE_START_C:throw new S}switch(o){case e.CODE_CODE_A:if(v<64)d+=I===m?String.fromCharCode(" ".charCodeAt(0)+v):String.fromCharCode(" ".charCodeAt(0)+v+128),I=!1;else if(v<96)d+=I===m?String.fromCharCode(v-64):String.fromCharCode(v+64),I=!1;else switch(v!==e.CODE_STOP&&(A=!1),v){case e.CODE_FNC_1:i&&(0===d.length?d+="]C1":d+=String.fromCharCode(29));break;case e.CODE_FNC_2:case e.CODE_FNC_3:break;case e.CODE_FNC_4_A:!m&&I?(m=!0,I=!1):m&&I?(m=!1,I=!1):I=!0;break;case e.CODE_SHIFT:l=!0,o=e.CODE_CODE_B;break;case e.CODE_CODE_B:o=e.CODE_CODE_B;break;case e.CODE_CODE_C:o=e.CODE_CODE_C;break;case e.CODE_STOP:f=!0}break;case e.CODE_CODE_B:if(v<96)d+=I===m?String.fromCharCode(" ".charCodeAt(0)+v):String.fromCharCode(" ".charCodeAt(0)+v+128),I=!1;else switch(v!==e.CODE_STOP&&(A=!1),v){case e.CODE_FNC_1:i&&(0===d.length?d+="]C1":d+=String.fromCharCode(29));break;case e.CODE_FNC_2:case e.CODE_FNC_3:break;case e.CODE_FNC_4_B:!m&&I?(m=!0,I=!1):m&&I?(m=!1,I=!1):I=!0;break;case e.CODE_SHIFT:l=!0,o=e.CODE_CODE_A;break;case e.CODE_CODE_A:o=e.CODE_CODE_A;break;case e.CODE_CODE_C:o=e.CODE_CODE_C;break;case e.CODE_STOP:f=!0}break;case e.CODE_CODE_C:if(v<100)v<10&&(d+="0"),d+=v;else switch(v!==e.CODE_STOP&&(A=!1),v){case e.CODE_FNC_1:i&&(0===d.length?d+="]C1":d+=String.fromCharCode(29));break;case e.CODE_CODE_A:o=e.CODE_CODE_A;break;case e.CODE_CODE_B:o=e.CODE_CODE_B;break;case e.CODE_STOP:f=!0}}T&&(o=o===e.CODE_CODE_A?e.CODE_CODE_B:e.CODE_CODE_A)}var O=g-p;if(g=r.getNextUnset(g),!r.isRange(g,Math.min(r.getSize(),g+(g-p)/2),!1))throw new F;if((C-=_*w)%103!==w)throw new h;var b=d.length;if(0===b)throw new F;b>0&&A&&(d=o===e.CODE_CODE_C?d.substring(0,b-2):d.substring(0,b-1));for(var R=(a[1]+a[0])/2,N=p+O/2,D=c.length,M=new Uint8Array(D),P=0;P=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},xt=function(t){function e(e,r){void 0===e&&(e=!1),void 0===r&&(r=!1);var n=t.call(this)||this;return n.usingCheckDigit=e,n.extendedMode=r,n.decodeRowResult="",n.counters=new Int32Array(9),n}return Lt(e,t),e.prototype.decodeRow=function(t,r,n){var o,i,a,s,u=this.counters;u.fill(0),this.decodeRowResult="";var c,f,l=e.findAsteriskPattern(r,u),d=r.getNextSet(l[1]),p=r.getSize();do{e.recordPattern(r,d,u);var g=e.toNarrowWidePattern(u);if(g<0)throw new F;c=e.patternToChar(g),this.decodeRowResult+=c,f=d;try{for(var y=(o=void 0,Ft(u)),w=y.next();!w.done;w=y.next()){d+=w.value}}catch(t){o={error:t}}finally{try{w&&!w.done&&(i=y.return)&&i.call(y)}finally{if(o)throw o.error}}d=r.getNextSet(d)}while("*"!==c);this.decodeRowResult=this.decodeRowResult.substring(0,this.decodeRowResult.length-1);var v,C=0;try{for(var _=Ft(u),A=_.next();!A.done;A=_.next()){C+=A.value}}catch(t){a={error:t}}finally{try{A&&!A.done&&(s=_.return)&&s.call(_)}finally{if(a)throw a.error}}if(d!==p&&2*(d-f-C)i&&(a=l)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}i=a,n=0;for(var c=0,f=0,h=0;hi&&(f|=1<0;h++){var l;if((l=t[h])>i&&(n--,2*l>=c))return-1}return f}}while(n>3);return-1},e.patternToChar=function(t){for(var r=0;r="A"&&i<="Z"))throw new S;a=String.fromCharCode(i.charCodeAt(0)+32);break;case"$":if(!(i>="A"&&i<="Z"))throw new S;a=String.fromCharCode(i.charCodeAt(0)-64);break;case"%":if(i>="A"&&i<="E")a=String.fromCharCode(i.charCodeAt(0)-38);else if(i>="F"&&i<="J")a=String.fromCharCode(i.charCodeAt(0)-11);else if(i>="K"&&i<="O")a=String.fromCharCode(i.charCodeAt(0)+16);else if(i>="P"&&i<="T")a=String.fromCharCode(i.charCodeAt(0)+43);else if("U"===i)a="\0";else if("V"===i)a="@";else if("W"===i)a="`";else{if("X"!==i&&"Y"!==i&&"Z"!==i)throw new S;a=""}break;case"/":if(i>="A"&&i<="O")a=String.fromCharCode(i.charCodeAt(0)-32);else{if("Z"!==i)throw new S;a=":"}}r+=a,n++}else r+=o}return r},e.ALPHABET_STRING="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%",e.CHARACTER_ENCODINGS=[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,168,162,138,42],e.ASTERISK_ENCODING=148,e}(Mt),kt=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Vt=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Ht=function(t){function e(){var e=t.call(this)||this;return e.decodeRowResult="",e.counters=new Int32Array(6),e}return kt(e,t),e.prototype.decodeRow=function(t,r,n){var o,i,a,s,u,c,f=this.findAsteriskPattern(r),h=r.getNextSet(f[1]),l=r.getSize(),d=this.counters;d.fill(0),this.decodeRowResult="";do{e.recordPattern(r,h,d);var p=this.toPattern(d);if(p<0)throw new F;u=this.patternToChar(p),this.decodeRowResult+=u,c=h;try{for(var g=(o=void 0,Vt(d)),y=g.next();!y.done;y=g.next()){h+=y.value}}catch(t){o={error:t}}finally{try{y&&!y.done&&(i=g.return)&&i.call(g)}finally{if(o)throw o.error}}h=r.getNextSet(h)}while("*"!==u);this.decodeRowResult=this.decodeRowResult.substring(0,this.decodeRowResult.length-1);var w=0;try{for(var v=Vt(d),C=v.next();!C.done;C=v.next()){w+=C.value}}catch(t){a={error:t}}finally{try{C&&!C.done&&(s=v.return)&&s.call(v)}finally{if(a)throw a.error}}if(h===l||!r.get(h))throw new F;if(this.decodeRowResult.length<2)throw new F;this.checkChecksums(this.decodeRowResult),this.decodeRowResult=this.decodeRowResult.substring(0,this.decodeRowResult.length-2);var _=this.decodeExtended(this.decodeRowResult),A=(f[1]+f[0])/2,m=c+w/2;return new Q(_,null,0,[new wt(A,t),new wt(m,t)],$.CODE_93,(new Date).getTime())},e.prototype.findAsteriskPattern=function(t){var r=t.getSize(),n=t.getNextSet(0);this.counters.fill(0);for(var o=this.counters,i=n,a=!1,s=o.length,u=0,c=n;c4)return-1;if(0==(1&u))for(var f=0;f="a"&&o<="d"){if(n>=e-1)throw new S;var i=t.charAt(n+1),a="\0";switch(o){case"d":if(!(i>="A"&&i<="Z"))throw new S;a=String.fromCharCode(i.charCodeAt(0)+32);break;case"a":if(!(i>="A"&&i<="Z"))throw new S;a=String.fromCharCode(i.charCodeAt(0)-64);break;case"b":if(i>="A"&&i<="E")a=String.fromCharCode(i.charCodeAt(0)-38);else if(i>="F"&&i<="J")a=String.fromCharCode(i.charCodeAt(0)-11);else if(i>="K"&&i<="O")a=String.fromCharCode(i.charCodeAt(0)+16);else if(i>="P"&&i<="T")a=String.fromCharCode(i.charCodeAt(0)+43);else if("U"===i)a="\0";else if("V"===i)a="@";else if("W"===i)a="`";else{if(!(i>="X"&&i<="Z"))throw new S;a=String.fromCharCode(127)}break;case"c":if(i>="A"&&i<="O")a=String.fromCharCode(i.charCodeAt(0)-32);else{if("Z"!==i)throw new S;a=":"}}r+=a,n++}else r+=o}return r},e.prototype.checkChecksums=function(t){var e=t.length;this.checkOneChecksum(t,e-2,20),this.checkOneChecksum(t,e-1,15)},e.prototype.checkOneChecksum=function(t,r,n){for(var o=1,i=0,a=r-1;a>=0;a--)i+=o*e.ALPHABET_STRING.indexOf(t.charAt(a)),++o>n&&(o=1);if(t.charAt(r)!==e.ALPHABET_STRING[i%47])throw new h},e.ALPHABET_STRING="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*",e.CHARACTER_ENCODINGS=[276,328,324,322,296,292,290,336,274,266,424,420,418,404,402,394,360,356,354,308,282,344,332,326,300,278,436,434,428,422,406,410,364,358,310,314,302,468,466,458,366,374,430,294,474,470,306,350],e.ASTERISK_ENCODING=e.CHARACTER_ENCODINGS[47],e}(Mt),Ut=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Xt=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Gt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.narrowLineWidth=-1,e}return Ut(e,t),e.prototype.decodeRow=function(t,r,n){var o,i,a=this.decodeStart(r),s=this.decodeEnd(r),u=new P;e.decodeMiddle(r,a[1],s[0],u);var c=u.toString(),f=null;null!=n&&(f=n.get(E.ALLOWED_LENGTHS)),null==f&&(f=e.DEFAULT_ALLOWED_LENGTHS);var h=c.length,l=!1,d=0;try{for(var p=Xt(f),g=p.next();!g.done;g=p.next()){var y=g.value;if(h===y){l=!0;break}y>d&&(d=y)}}catch(t){o={error:t}}finally{try{g&&!g.done&&(i=p.return)&&i.call(p)}finally{if(o)throw o.error}}if(!l&&h>d&&(l=!0),!l)throw new S;var w=[new wt(a[1],t),new wt(s[0],t)];return new Q(c,null,0,w,$.ITF,(new Date).getTime())},e.decodeMiddle=function(t,r,n,o){var i=new Int32Array(10),a=new Int32Array(5),s=new Int32Array(5);for(i.fill(0),a.fill(0),s.fill(0);r0&&n>=0&&!t.get(n);n--)r--;if(0!==r)throw new F},e.skipWhiteSpace=function(t){var e=t.getSize(),r=t.getNextSet(0);if(r===e)throw new F;return r},e.prototype.decodeEnd=function(t){t.reverse();try{var r=e.skipWhiteSpace(t),n=void 0;try{n=e.findGuardPattern(t,r,e.END_PATTERN_REVERSED[0])}catch(o){o instanceof F&&(n=e.findGuardPattern(t,r,e.END_PATTERN_REVERSED[1]))}this.validateQuietZone(t,n[0]);var o=n[0];return n[0]=t.getSize()-n[1],n[1]=t.getSize()-o,n}finally{t.reverse()}},e.findGuardPattern=function(t,r,n){var o=n.length,i=new Int32Array(o),a=t.getSize(),s=!1,u=0,c=r;i.fill(0);for(var f=r;f=0)return n%10;throw new F},e.PATTERNS=[Int32Array.from([1,1,2,2,1]),Int32Array.from([2,1,1,1,2]),Int32Array.from([1,2,1,1,2]),Int32Array.from([2,2,1,1,1]),Int32Array.from([1,1,2,1,2]),Int32Array.from([2,1,2,1,1]),Int32Array.from([1,2,2,1,1]),Int32Array.from([1,1,1,2,2]),Int32Array.from([2,1,1,2,1]),Int32Array.from([1,2,1,2,1]),Int32Array.from([1,1,3,3,1]),Int32Array.from([3,1,1,1,3]),Int32Array.from([1,3,1,1,3]),Int32Array.from([3,3,1,1,1]),Int32Array.from([1,1,3,1,3]),Int32Array.from([3,1,3,1,1]),Int32Array.from([1,3,3,1,1]),Int32Array.from([1,1,1,3,3]),Int32Array.from([3,1,1,3,1]),Int32Array.from([1,3,1,3,1])],e.MAX_AVG_VARIANCE=.38,e.MAX_INDIVIDUAL_VARIANCE=.5,e.DEFAULT_ALLOWED_LENGTHS=[6,8,10,12,14],e.START_PATTERN=Int32Array.from([1,1,1,1]),e.END_PATTERN_REVERSED=[Int32Array.from([1,1,2]),Int32Array.from([1,1,3])],e}(Mt),Wt=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),zt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.decodeRowStringBuffer="",e}return Wt(e,t),e.findStartGuardPattern=function(t){for(var r,n=!1,o=0,i=Int32Array.from([0,0,0]);!n;){i=Int32Array.from([0,0,0]);var a=(r=e.findGuardPattern(t,o,!1,this.START_END_PATTERN,i))[0],s=a-((o=r[1])-a);s>=0&&(n=t.isRange(s,a,!1))}return r},e.checkChecksum=function(t){return e.checkStandardUPCEANChecksum(t)},e.checkStandardUPCEANChecksum=function(t){var r=t.length;if(0===r)return!1;var n=parseInt(t.charAt(r-1),10);return e.getStandardUPCEANChecksum(t.substring(0,r-1))===n},e.getStandardUPCEANChecksum=function(t){for(var e=t.length,r=0,n=e-1;n>=0;n-=2){if((o=t.charAt(n).charCodeAt(0)-"0".charCodeAt(0))<0||o>9)throw new S;r+=o}r*=3;for(n=e-2;n>=0;n-=2){var o;if((o=t.charAt(n).charCodeAt(0)-"0".charCodeAt(0))<0||o>9)throw new S;r+=o}return(1e3-r)%10},e.decodeEnd=function(t,r){return e.findGuardPattern(t,r,!1,e.START_END_PATTERN,new Int32Array(e.START_END_PATTERN.length).fill(0))},e.findGuardPatternWithoutCounters=function(t,e,r,n){return this.findGuardPattern(t,e,r,n,new Int32Array(n.length))},e.findGuardPattern=function(t,r,n,o,i){for(var a=t.getSize(),s=0,u=r=n?t.getNextUnset(r):t.getNextSet(r),c=o.length,f=n,h=r;h=0)return a;throw new F},e.MAX_AVG_VARIANCE=.48,e.MAX_INDIVIDUAL_VARIANCE=.7,e.START_END_PATTERN=Int32Array.from([1,1,1]),e.MIDDLE_PATTERN=Int32Array.from([1,1,1,1,1]),e.END_PATTERN=Int32Array.from([1,1,1,1,1,1]),e.L_PATTERNS=[Int32Array.from([3,2,1,1]),Int32Array.from([2,2,2,1]),Int32Array.from([2,1,2,2]),Int32Array.from([1,4,1,1]),Int32Array.from([1,1,3,2]),Int32Array.from([1,2,3,1]),Int32Array.from([1,1,1,4]),Int32Array.from([1,3,1,2]),Int32Array.from([1,2,1,3]),Int32Array.from([3,1,1,2])],e}(Mt),jt=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Yt=function(){function t(){this.CHECK_DIGIT_ENCODINGS=[24,20,18,17,12,6,3,10,9,5],this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}return t.prototype.decodeRow=function(e,r,n){var o=this.decodeRowStringBuffer,i=this.decodeMiddle(r,n,o),a=o.toString(),s=t.parseExtensionString(a),u=[new wt((n[0]+n[1])/2,e),new wt(i,e)],c=new Q(a,null,0,u,$.UPC_EAN_EXTENSION,(new Date).getTime());return null!=s&&c.putAllMetadata(s),c},t.prototype.decodeMiddle=function(e,r,n){var o,i,a=this.decodeMiddleCounters;a[0]=0,a[1]=0,a[2]=0,a[3]=0;for(var s=e.getSize(),u=r[1],c=0,f=0;f<5&&u=10&&(c|=1<<4-f),4!==f&&(u=e.getNextSet(u),u=e.getNextUnset(u))}if(5!==n.length)throw new F;var p=this.determineCheckDigit(c);if(t.extensionChecksum(n.toString())!==p)throw new F;return u},t.extensionChecksum=function(t){for(var e=t.length,r=0,n=e-2;n>=0;n-=2)r+=t.charAt(n).charCodeAt(0)-"0".charCodeAt(0);r*=3;for(n=e-1;n>=0;n-=2)r+=t.charAt(n).charCodeAt(0)-"0".charCodeAt(0);return(r*=3)%10},t.prototype.determineCheckDigit=function(t){for(var e=0;e<10;e++)if(t===this.CHECK_DIGIT_ENCODINGS[e])return e;throw new F},t.parseExtensionString=function(e){if(5!==e.length)return null;var r=t.parseExtension5String(e);return null==r?null:new Map([[et.SUGGESTED_PRICE,r]])},t.parseExtension5String=function(t){var e;switch(t.charAt(0)){case"0":e="£";break;case"5":e="$";break;case"9":switch(t){case"90000":return null;case"99991":return"0.00";case"99990":return"Used"}e="";break;default:e=""}var r=parseInt(t.substring(1)),n=r%100;return e+(r/100).toString()+"."+(n<10?"0"+n:n.toString())},t}(),Zt=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Kt=function(){function t(){this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}return t.prototype.decodeRow=function(e,r,n){var o=this.decodeRowStringBuffer,i=this.decodeMiddle(r,n,o),a=o.toString(),s=t.parseExtensionString(a),u=[new wt((n[0]+n[1])/2,e),new wt(i,e)],c=new Q(a,null,0,u,$.UPC_EAN_EXTENSION,(new Date).getTime());return null!=s&&c.putAllMetadata(s),c},t.prototype.decodeMiddle=function(t,e,r){var n,o,i=this.decodeMiddleCounters;i[0]=0,i[1]=0,i[2]=0,i[3]=0;for(var a=t.getSize(),s=e[1],u=0,c=0;c<2&&s=10&&(u|=1<<1-c),1!==c&&(s=t.getNextSet(s),s=t.getNextUnset(s))}if(2!==r.length)throw new F;if(parseInt(r.toString())%4!==u)throw new F;return s},t.parseExtensionString=function(t){return 2!==t.length?null:new Map([[et.ISSUE_NUMBER,parseInt(t)]])},t}(),qt=function(){function t(){}return t.decodeRow=function(t,e,r){var n=zt.findGuardPattern(e,r,!1,this.EXTENSION_START_PATTERN,new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));try{return(new Yt).decodeRow(t,e,n)}catch(r){return(new Kt).decodeRow(t,e,n)}},t.EXTENSION_START_PATTERN=Int32Array.from([1,1,2]),t}(),Qt=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Jt=function(t){function e(){var r=t.call(this)||this;r.decodeRowStringBuffer="",e.L_AND_G_PATTERNS=e.L_PATTERNS.map((function(t){return Int32Array.from(t)}));for(var n=10;n<20;n++){for(var o=e.L_PATTERNS[n-10],i=new Int32Array(o.length),a=0;a=r.getSize()||!r.isRange(p,g,!1))throw new F;var y=c.toString();if(y.length<8)throw new S;if(!e.checkChecksum(y))throw new h;var w=(o[1]+o[0])/2,v=(l[1]+l[0])/2,C=this.getBarcodeFormat(),_=[new wt(w,t),new wt(v,t)],A=new Q(y,null,0,_,C,(new Date).getTime()),m=0;try{var I=qt.decodeRow(t,r,l[1]);A.putMetadata(et.UPC_EAN_EXTENSION,I.getText()),A.putAllMetadata(I.getResultMetadata()),A.addResultPoints(I.getResultPoints()),m=I.getText().length}catch(t){}var T=null==n?null:n.get(E.ALLOWED_EAN_EXTENSIONS);if(null!=T){var O=!1;for(var b in T)if(m.toString()===b){O=!0;break}if(!O)throw new F}return C===$.EAN_13||$.UPC_A,A},e.checkChecksum=function(t){return e.checkStandardUPCEANChecksum(t)},e.checkStandardUPCEANChecksum=function(t){var r=t.length;if(0===r)return!1;var n=parseInt(t.charAt(r-1),10);return e.getStandardUPCEANChecksum(t.substring(0,r-1))===n},e.getStandardUPCEANChecksum=function(t){for(var e=t.length,r=0,n=e-1;n>=0;n-=2){if((o=t.charAt(n).charCodeAt(0)-"0".charCodeAt(0))<0||o>9)throw new S;r+=o}r*=3;for(n=e-2;n>=0;n-=2){var o;if((o=t.charAt(n).charCodeAt(0)-"0".charCodeAt(0))<0||o>9)throw new S;r+=o}return(1e3-r)%10},e.decodeEnd=function(t,r){return e.findGuardPattern(t,r,!1,e.START_END_PATTERN,new Int32Array(e.START_END_PATTERN.length).fill(0))},e}(zt),$t=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),te=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},ee=function(t){function e(){var e=t.call(this)||this;return e.decodeMiddleCounters=Int32Array.from([0,0,0,0]),e}return $t(e,t),e.prototype.decodeMiddle=function(t,r,n){var o,i,a,s,u=this.decodeMiddleCounters;u[0]=0,u[1]=0,u[2]=0,u[3]=0;for(var c=t.getSize(),f=r[1],h=0,l=0;l<6&&f=10&&(h|=1<<5-l)}n=e.determineFirstDigit(n,h),f=Jt.findGuardPattern(t,f,!0,Jt.MIDDLE_PATTERN,new Int32Array(Jt.MIDDLE_PATTERN.length).fill(0))[1];for(l=0;l<6&&f=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},oe=function(t){function e(){var e=t.call(this)||this;return e.decodeMiddleCounters=Int32Array.from([0,0,0,0]),e}return re(e,t),e.prototype.decodeMiddle=function(t,e,r){var n,o,i,a,s=this.decodeMiddleCounters;s[0]=0,s[1]=0,s[2]=0,s[3]=0;for(var u=t.getSize(),c=e[1],f=0;f<4&&c=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},ce=function(t){function e(){var e=t.call(this)||this;return e.decodeMiddleCounters=new Int32Array(4),e}return se(e,t),e.prototype.decodeMiddle=function(t,r,n){var o,i,a=this.decodeMiddleCounters.map((function(t){return t}));a[0]=0,a[1]=0,a[2]=0,a[3]=0;for(var s=t.getSize(),u=r[1],c=0,f=0;f<6&&u=10&&(c|=1<<5-f)}return e.determineNumSysAndCheckDigit(new P(n),c),u},e.prototype.decodeEnd=function(t,r){return e.findGuardPatternWithoutCounters(t,r,!0,e.MIDDLE_END_PATTERN)},e.prototype.checkChecksum=function(t){return Jt.checkChecksum(e.convertUPCEtoUPCA(t))},e.determineNumSysAndCheckDigit=function(t,e){for(var r=0;r<=1;r++)for(var n=0;n<10;n++)if(e===this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[r][n])return t.insert(0,"0"+r),void t.append("0"+n);throw F.getNotFoundInstance()},e.prototype.getBarcodeFormat=function(){return $.UPC_E},e.convertUPCEtoUPCA=function(t){var e=t.slice(1,7).split("").map((function(t){return t.charCodeAt(0)})),r=new P;r.append(t.charAt(0));var n=e[5];switch(n){case 0:case 1:case 2:r.appendChars(e,0,2),r.append(n),r.append("0000"),r.appendChars(e,2,3);break;case 3:r.appendChars(e,0,3),r.append("00000"),r.appendChars(e,3,2);break;case 4:r.appendChars(e,0,4),r.append("00000"),r.append(e[4]);break;default:r.appendChars(e,0,5),r.append("0000"),r.append(n)}return t.length>=8&&r.append(t.charAt(7)),r.toString()},e.MIDDLE_END_PATTERN=Int32Array.from([1,1,1,1,1,1]),e.NUMSYS_AND_CHECK_DIGIT_PATTERNS=[Int32Array.from([56,52,50,49,44,38,35,42,41,37]),Int32Array.from([7,11,13,14,19,25,28,21,22,1])],e}(Jt),fe=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),he=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},le=function(t){function e(e){var r=t.call(this)||this,n=null==e?null:e.get(E.POSSIBLE_FORMATS),o=[];return null!=n&&(n.indexOf($.EAN_13)>-1&&o.push(new ee),n.indexOf($.UPC_A)>-1&&o.push(new ae),n.indexOf($.EAN_8)>-1&&o.push(new oe),n.indexOf($.UPC_E)>-1&&o.push(new ce)),0===o.length&&(o.push(new ee),o.push(new ae),o.push(new oe),o.push(new ce)),r.readers=o,r}return fe(e,t),e.prototype.decodeRow=function(t,e,r){var n,o;try{for(var i=he(this.readers),a=i.next();!a.done;a=i.next()){var s=a.value;try{var u=s.decodeRow(t,e,r),c=u.getBarcodeFormat()===$.EAN_13&&"0"===u.getText().charAt(0),f=null==r?null:r.get(E.POSSIBLE_FORMATS),h=null==f||f.includes($.UPC_A);if(c&&h){var l=u.getRawBytes(),d=new Q(u.getText().substring(1),l,l?l.length:null,u.getResultPoints(),$.UPC_A);return d.putAllMetadata(u.getResultMetadata()),d}return u}catch(t){}}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}throw new F},e.prototype.reset=function(){var t,e;try{for(var r=he(this.readers),n=r.next();!n.done;n=r.next()){n.value.reset()}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},e}(Mt),de=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),pe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.CODA_BAR_CHAR_SET={nnnnnww:"0",nnnnwwn:"1",nnnwnnw:"2",wwnnnnn:"3",nnwnnwn:"4",wnnnnwn:"5",nwnnnnw:"6",nwnnwnn:"7",nwwnnnn:"8",wnnwnnn:"9",nnnwwnn:"-",nnwwnnn:"$",wnnnwnw:":",wnwnnnw:"/",wnwnwnn:".",nnwwwww:"+",nnwwnwn:"A",nwnwnnw:"B",nnnwnww:"C",nnnwwwn:"D"},e}return de(e,t),e.prototype.decodeRow=function(t,e,r){var n=this.getValidRowData(e);if(!n)throw new F;var o=this.codaBarDecodeRow(n.row);if(!o)throw new F;return new Q(o,null,0,[new wt(n.left,t),new wt(n.right,t)],$.CODABAR,(new Date).getTime())},e.prototype.getValidRowData=function(t){var e=t.toArray(),r=e.indexOf(!0);if(-1===r)return null;var n=e.lastIndexOf(!0);if(n<=r)return null;for(var o=[],i=(e=e.slice(r,n+1))[0],a=1,s=1;s0;){var n=t.splice(0,8).splice(0,7).map((function(t){return t=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},we=function(t){function e(){var e=t.call(this)||this;return e.decodeFinderCounters=new Int32Array(4),e.dataCharacterCounters=new Int32Array(8),e.oddRoundingErrors=new Array(4),e.evenRoundingErrors=new Array(4),e.oddCounts=new Array(e.dataCharacterCounters.length/2),e.evenCounts=new Array(e.dataCharacterCounters.length/2),e}return ge(e,t),e.prototype.getDecodeFinderCounters=function(){return this.decodeFinderCounters},e.prototype.getDataCharacterCounters=function(){return this.dataCharacterCounters},e.prototype.getOddRoundingErrors=function(){return this.oddRoundingErrors},e.prototype.getEvenRoundingErrors=function(){return this.evenRoundingErrors},e.prototype.getOddCounts=function(){return this.oddCounts},e.prototype.getEvenCounts=function(){return this.evenCounts},e.prototype.parseFinderValue=function(t,r){for(var n=0;nn&&(n=e[o],r=o);t[r]++},e.decrement=function(t,e){for(var r=0,n=e[0],o=1;o=e.MIN_FINDER_PATTERN_RATIO&&i<=e.MAX_FINDER_PATTERN_RATIO){var a=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER;try{for(var u=ye(t),c=u.next();!c.done;c=u.next()){var f=c.value;f>s&&(s=f),f=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Ae=function(){function t(){}return t.getRSSvalue=function(e,r,n){var o,i,a=0;try{for(var s=_e(e),u=s.next();!u.done;u=s.next()){a+=u.value}}catch(t){o={error:t}}finally{try{u&&!u.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}for(var c=0,f=0,h=e.length,l=0;l=h-l-1&&(p-=t.combins(a-d-(h-l),h-l-2)),h-l-1>1){for(var g=0,y=a-d-(h-l-2);y>r;y--)g+=t.combins(a-d-y-1,h-l-3);p-=g*(h-1-l)}else a-d>r&&p--;c+=p}a-=d}return c},t.combins=function(t,e){var r,n;t-e>e?(n=e,r=t-e):(n=t-e,r=e);for(var o=1,i=1,a=t;a>r;a--)o*=a,i<=n&&(o/=i,i++);for(;i<=n;)o/=i,i++;return o},t}(),me=function(){function t(){}return t.buildBitArray=function(t){var e=2*t.length-1;null==t[t.length-1].getRightChar()&&(e-=1);for(var r=new A(12*e),n=0,o=t[0].getRightChar().getValue(),i=11;i>=0;--i)0!=(o&1<=0;--u)0!=(s&1<=0;--u)0!=(c&1<10||n<0||n>10)throw new S;return o.firstDigit=r,o.secondDigit=n,o}return Re(e,t),e.prototype.getFirstDigit=function(){return this.firstDigit},e.prototype.getSecondDigit=function(){return this.secondDigit},e.prototype.getValue=function(){return 10*this.firstDigit+this.secondDigit},e.prototype.isFirstDigitFNC1=function(){return this.firstDigit===e.FNC1},e.prototype.isSecondDigitFNC1=function(){return this.secondDigit===e.FNC1},e.prototype.isAnyFNC1=function(){return this.firstDigit===e.FNC1||this.secondDigit===e.FNC1},e.FNC1=10,e}(Ie),De=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Me=function(){function t(){}return t.parseFieldsInGeneralPurpose=function(e){var r,n,o,i,a,s,u,c;if(!e)return null;if(e.length<2)throw new F;var f=e.substring(0,2);try{for(var h=De(t.TWO_DIGIT_DATA_LENGTH),l=h.next();!l.done;l=h.next()){if((A=l.value)[0]===f)return A[1]===t.VARIABLE_LENGTH?t.processVariableAI(2,A[2],e):t.processFixedAI(2,A[1],e)}}catch(t){r={error:t}}finally{try{l&&!l.done&&(n=h.return)&&n.call(h)}finally{if(r)throw r.error}}if(e.length<3)throw new F;var d=e.substring(0,3);try{for(var p=De(t.THREE_DIGIT_DATA_LENGTH),g=p.next();!g.done;g=p.next()){if((A=g.value)[0]===d)return A[1]===t.VARIABLE_LENGTH?t.processVariableAI(3,A[2],e):t.processFixedAI(3,A[1],e)}}catch(t){o={error:t}}finally{try{g&&!g.done&&(i=p.return)&&i.call(p)}finally{if(o)throw o.error}}try{for(var y=De(t.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH),w=y.next();!w.done;w=y.next()){if((A=w.value)[0]===d)return A[1]===t.VARIABLE_LENGTH?t.processVariableAI(4,A[2],e):t.processFixedAI(4,A[1],e)}}catch(t){a={error:t}}finally{try{w&&!w.done&&(s=y.return)&&s.call(y)}finally{if(a)throw a.error}}if(e.length<4)throw new F;var v=e.substring(0,4);try{for(var C=De(t.FOUR_DIGIT_DATA_LENGTH),_=C.next();!_.done;_=C.next()){var A;if((A=_.value)[0]===v)return A[1]===t.VARIABLE_LENGTH?t.processVariableAI(4,A[2],e):t.processFixedAI(4,A[1],e)}}catch(t){u={error:t}}finally{try{_&&!_.done&&(c=C.return)&&c.call(C)}finally{if(u)throw u.error}}throw new F},t.processFixedAI=function(e,r,n){if(n.lengththis.information.getSize())return t+4<=this.information.getSize();for(var e=t;ethis.information.getSize()){var e=this.extractNumericValueFromBitArray(t,4);return new Ne(this.information.getSize(),0===e?Ne.FNC1:e-1,Ne.FNC1)}var r=this.extractNumericValueFromBitArray(t,7);return new Ne(t+7,(r-8)/11,(r-8)%11)},t.prototype.extractNumericValueFromBitArray=function(e,r){return t.extractNumericValueFromBitArray(this.information,e,r)},t.extractNumericValueFromBitArray=function(t,e,r){for(var n=0,o=0;othis.information.getSize())return!1;var e=this.extractNumericValueFromBitArray(t,5);if(e>=5&&e<16)return!0;if(t+7>this.information.getSize())return!1;var r=this.extractNumericValueFromBitArray(t,7);if(r>=64&&r<116)return!0;if(t+8>this.information.getSize())return!1;var n=this.extractNumericValueFromBitArray(t,8);return n>=232&&n<253},t.prototype.decodeIsoIec646=function(t){var e=this.extractNumericValueFromBitArray(t,5);if(15===e)return new Te(t+5,Te.FNC1);if(e>=5&&e<15)return new Te(t+5,"0"+(e-5));var r,n=this.extractNumericValueFromBitArray(t,7);if(n>=64&&n<90)return new Te(t+7,""+(n+1));if(n>=90&&n<116)return new Te(t+7,""+(n+7));switch(this.extractNumericValueFromBitArray(t,8)){case 232:r="!";break;case 233:r='"';break;case 234:r="%";break;case 235:r="&";break;case 236:r="'";break;case 237:r="(";break;case 238:r=")";break;case 239:r="*";break;case 240:r="+";break;case 241:r=",";break;case 242:r="-";break;case 243:r=".";break;case 244:r="/";break;case 245:r=":";break;case 246:r=";";break;case 247:r="<";break;case 248:r="=";break;case 249:r=">";break;case 250:r="?";break;case 251:r="_";break;case 252:r=" ";break;default:throw new S}return new Te(t+8,r)},t.prototype.isStillAlpha=function(t){if(t+5>this.information.getSize())return!1;var e=this.extractNumericValueFromBitArray(t,5);if(e>=5&&e<16)return!0;if(t+6>this.information.getSize())return!1;var r=this.extractNumericValueFromBitArray(t,6);return r>=16&&r<63},t.prototype.decodeAlphanumeric=function(t){var e=this.extractNumericValueFromBitArray(t,5);if(15===e)return new Te(t+5,Te.FNC1);if(e>=5&&e<15)return new Te(t+5,"0"+(e-5));var r,n=this.extractNumericValueFromBitArray(t,6);if(n>=32&&n<58)return new Te(t+6,""+(n+33));switch(n){case 58:r="*";break;case 59:r=",";break;case 60:r="-";break;case 61:r=".";break;case 62:r="/";break;default:throw new lt("Decoding invalid alphanumeric value: "+n)}return new Te(t+6,r)},t.prototype.isAlphaTo646ToAlphaLatch=function(t){if(t+1>this.information.getSize())return!1;for(var e=0;e<5&&e+tthis.information.getSize())return!1;for(var e=t;ethis.information.getSize())return!1;for(var e=0;e<4&&e+t=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},sr=function(t){function e(){var r=null!==t&&t.apply(this,arguments)||this;return r.pairs=new Array(e.MAX_PAIRS),r.rows=new Array,r.startEnd=[2],r}return ir(e,t),e.prototype.decodeRow=function(t,r,n){this.pairs.length=0,this.startFromEven=!1;try{return e.constructResult(this.decodeRow2pairs(t,r))}catch(t){}return this.pairs.length=0,this.startFromEven=!0,e.constructResult(this.decodeRow2pairs(t,r))},e.prototype.reset=function(){this.pairs.length=0,this.rows.length=0},e.prototype.decodeRow2pairs=function(t,e){for(var r,n=!1;!n;)try{this.pairs.push(this.retrieveNextPair(e,this.pairs,t))}catch(t){if(t instanceof F){if(!this.pairs.length)throw new F;n=!0}}if(this.checkChecksum())return this.pairs;if(r=!!this.rows.length,this.storeRow(t,!1),r){var o=this.checkRowsBoolean(!1);if(null!=o)return o;if(null!=(o=this.checkRowsBoolean(!0)))return o}throw new F},e.prototype.checkRowsBoolean=function(t){if(this.rows.length>25)return this.rows.length=0,null;this.pairs.length=0,t&&(this.rows=this.rows.reverse());var e=null;try{e=this.checkRows(new Array,0)}catch(t){console.log(t)}return t&&(this.rows=this.rows.reverse()),e},e.prototype.checkRows=function(t,r){for(var n,o,i=r;ia.length)){for(var s=!0,u=0;ut){i=a.isEquivalent(this.pairs);break}o=a.isEquivalent(this.pairs),n++}i||o||e.isPartialRow(this.pairs,this.rows)||(this.rows.push(n,new or(this.pairs,t,r)),this.removePartialRows(this.pairs,this.rows))},e.prototype.removePartialRows=function(t,e){var r,n,o,i,a,s;try{for(var u=ar(e),c=u.next();!c.done;c=u.next()){var f=c.value;if(f.getPairs().length!==t.length){try{for(var h=(o=void 0,ar(f.getPairs())),l=h.next();!l.done;l=h.next()){var d=l.value,p=!1;try{for(var g=(a=void 0,ar(t)),y=g.next();!y.done;y=g.next()){var w=y.value;if(nr.equals(d,w)){p=!0;break}}}catch(t){a={error:t}}finally{try{y&&!y.done&&(s=g.return)&&s.call(g)}finally{if(a)throw a.error}}p||!1}}catch(t){o={error:t}}finally{try{l&&!l.done&&(i=h.return)&&i.call(h)}finally{if(o)throw o.error}}}}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}},e.isPartialRow=function(t,e){var r,n,o,i,a,s;try{for(var u=ar(e),c=u.next();!c.done;c=u.next()){var f=c.value,h=!0;try{for(var l=(o=void 0,ar(t)),d=l.next();!d.done;d=l.next()){var p=d.value,g=!1;try{for(var y=(a=void 0,ar(f.getPairs())),w=y.next();!w.done;w=y.next()){var v=w.value;if(p.equals(v)){g=!0;break}}}catch(t){a={error:t}}finally{try{w&&!w.done&&(s=y.return)&&s.call(y)}finally{if(a)throw a.error}}if(!g){h=!1;break}}}catch(t){o={error:t}}finally{try{d&&!d.done&&(i=l.return)&&i.call(l)}finally{if(o)throw o.error}}if(h)return!0}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}return!1},e.prototype.getRows=function(){return this.rows},e.constructResult=function(t){var e=er(me.buildBitArray(t)).parseInformation(),r=t[0].getFinderPattern().getResultPoints(),n=t[t.length-1].getFinderPattern().getResultPoints(),o=[r[0],r[1],n[0],n[1]];return new Q(e,null,null,o,$.RSS_EXPANDED,null)},e.prototype.checkChecksum=function(){var t=this.pairs.get(0),e=t.getLeftChar(),r=t.getRightChar();if(null===r)return!1;for(var n=r.getChecksumPortion(),o=2,i=1;i=0)i=n;else if(this.isEmptyPair(r))i=0;else{i=r[r.length-1].getFinderPattern().getStartEnd()[1]}var s=r.length%2!=0;this.startFromEven&&(s=!s);for(var u=!1;i=0&&!t.get(s);)s--;s++,o=this.startEnd[0]-s,i=s,a=this.startEnd[1]}else i=this.startEnd[0],o=(a=t.getNextUnset(this.startEnd[1]+1))-this.startEnd[1];var u,c=this.getDecodeFinderCounters();d.arraycopy(c,0,c,1,c.length-1),c[0]=o;try{u=this.parseFinderValue(c,e.FINDER_PATTERNS)}catch(t){return null}return new Ce(u,[i,a],i,a,r)},e.prototype.decodeDataCharacter=function(t,r,n,o){for(var i=this.getDataCharacterCounters(),a=0;a.3)throw new F;var l=this.getOddCounts(),d=this.getEvenCounts(),p=this.getOddRoundingErrors(),g=this.getEvenRoundingErrors();for(s=0;s8){if(y>8.7)throw new F;w=8}var v=s/2;0==(1&s)?(l[v]=w,p[v]=y-w):(d[v]=w,g[v]=y-w)}this.adjustOddEvenCounts(17);var C=4*r.getValue()+(n?0:2)+(o?0:1)-1,_=0,A=0;for(s=l.length-1;s>=0;s--){if(e.isNotA1left(r,n,o)){var m=e.WEIGHTS[C][2*s];A+=l[s]*m}_+=l[s]}var E=0;for(s=d.length-1;s>=0;s--)if(e.isNotA1left(r,n,o)){m=e.WEIGHTS[C][2*s+1];E+=d[s]*m}var I=A+E;if(0!=(1&_)||_>13||_<4)throw new F;var S=(13-_)/2,T=e.SYMBOL_WIDEST[S],O=9-T,b=Ae.getRSSvalue(l,T,!0),R=Ae.getRSSvalue(d,O,!1),N=e.EVEN_TOTAL_SUBSET[S],D=e.GSUM[S];return new ve(b*N+R+D,I)},e.isNotA1left=function(t,e,r){return!(0===t.getValue()&&e&&r)},e.prototype.adjustOddEvenCounts=function(t){var r=gt.sum(new Int32Array(this.getOddCounts())),n=gt.sum(new Int32Array(this.getEvenCounts())),o=!1,i=!1;r>13?i=!0:r<4&&(o=!0);var a=!1,s=!1;n>13?s=!0:n<4&&(a=!0);var u=r+n-t,c=1==(1&r),f=0==(1&n);if(1===u)if(c){if(f)throw new F;i=!0}else{if(!f)throw new F;s=!0}else if(-1===u)if(c){if(f)throw new F;o=!0}else{if(!f)throw new F;a=!0}else{if(0!==u)throw new F;if(c){if(!f)throw new F;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},lr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.possibleLeftPairs=[],e.possibleRightPairs=[],e}return fr(e,t),e.prototype.decodeRow=function(t,r,n){var o,i,a,s,u=this.decodePair(r,!1,t,n);e.addOrTally(this.possibleLeftPairs,u),r.reverse();var c=this.decodePair(r,!0,t,n);e.addOrTally(this.possibleRightPairs,c),r.reverse();try{for(var f=hr(this.possibleLeftPairs),h=f.next();!h.done;h=f.next()){var l=h.value;if(l.getCount()>1)try{for(var d=(a=void 0,hr(this.possibleRightPairs)),p=d.next();!p.done;p=d.next()){var g=p.value;if(g.getCount()>1&&e.checkChecksum(l,g))return e.constructResult(l,g)}}catch(t){a={error:t}}finally{try{p&&!p.done&&(s=d.return)&&s.call(d)}finally{if(a)throw a.error}}}}catch(t){o={error:t}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(o)throw o.error}}throw new F},e.addOrTally=function(t,e){var r,n;if(null!=e){var o=!1;try{for(var i=hr(t),a=i.next();!a.done;a=i.next()){var s=a.value;if(s.getValue()===e.getValue()){s.incrementCount(),o=!0;break}}}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}o||t.push(e)}},e.prototype.reset=function(){this.possibleLeftPairs.length=0,this.possibleRightPairs.length=0},e.constructResult=function(t,e){for(var r=4537077*t.getValue()+e.getValue(),n=new String(r).toString(),o=new P,i=13-n.length;i>0;i--)o.append("0");o.append(n);var a=0;for(i=0;i<13;i++){var s=o.charAt(i).charCodeAt(0)-"0".charCodeAt(0);a+=0==(1&i)?3*s:s}10===(a=10-a%10)&&(a=0),o.append(a.toString());var u=t.getFinderPattern().getResultPoints(),c=e.getFinderPattern().getResultPoints();return new Q(o.toString(),null,0,[u[0],u[1],c[0],c[1]],$.RSS_14,(new Date).getTime())},e.checkChecksum=function(t,e){var r=(t.getChecksumPortion()+16*e.getChecksumPortion())%79,n=9*t.getFinderPattern().getValue()+e.getFinderPattern().getValue();return n>72&&n--,n>8&&n--,r===n},e.prototype.decodePair=function(t,e,r,n){try{var o=this.findFinderPattern(t,e),i=this.parseFoundFinderPattern(t,r,e,o),a=null==n?null:n.get(E.NEED_RESULT_POINT_CALLBACK);if(null!=a){var s=(o[0]+o[1])/2;e&&(s=t.getSize()-1-s),a.foundPossibleResultPoint(new wt(s,r))}var u=this.decodeDataCharacter(t,i,!0),c=this.decodeDataCharacter(t,i,!1);return new cr(1597*u.getValue()+c.getValue(),u.getChecksumPortion()+4*c.getChecksumPortion(),i)}catch(t){return null}},e.prototype.decodeDataCharacter=function(t,r,n){for(var o=this.getDataCharacterCounters(),i=0;i8&&(y=8);var w=Math.floor(a/2);0==(1&a)?(h[w]=y,d[w]=g-y):(l[w]=y,p[w]=g-y)}this.adjustOddEvenCounts(n,c);var v=0,C=0;for(a=h.length-1;a>=0;a--)C*=9,C+=h[a],v+=h[a];var _=0,A=0;for(a=l.length-1;a>=0;a--)_*=9,_+=l[a],A+=l[a];var m=C+3*_;if(n){if(0!=(1&v)||v>12||v<4)throw new F;var E=(12-v)/2,I=9-(R=e.OUTSIDE_ODD_WIDEST[E]),S=Ae.getRSSvalue(h,R,!1),T=Ae.getRSSvalue(l,I,!0),O=e.OUTSIDE_EVEN_TOTAL_SUBSET[E],b=e.OUTSIDE_GSUM[E];return new ve(S*O+T+b,m)}if(0!=(1&A)||A>10||A<4)throw new F;E=(10-A)/2,I=9-(R=e.INSIDE_ODD_WIDEST[E]),S=Ae.getRSSvalue(h,R,!0),T=Ae.getRSSvalue(l,I,!1);var R,N=e.INSIDE_ODD_TOTAL_SUBSET[E];b=e.INSIDE_GSUM[E];return new ve(T*N+S+b,m)},e.prototype.findFinderPattern=function(t,e){var r=this.getDecodeFinderCounters();r[0]=0,r[1]=0,r[2]=0,r[3]=0;for(var n=t.getSize(),o=!1,i=0;i=0&&i!==t.get(a);)a--;a++;var s=o[0]-a,u=this.getDecodeFinderCounters(),c=new Int32Array(u.length);d.arraycopy(u,0,c,1,u.length-1),c[0]=s;var f=this.parseFinderValue(c,e.FINDER_PATTERNS),h=a,l=o[1];return n&&(h=t.getSize()-1-h,l=t.getSize()-1-l),new Ce(f,[a,o[1]],h,l,r)},e.prototype.adjustOddEvenCounts=function(t,e){var r=gt.sum(new Int32Array(this.getOddCounts())),n=gt.sum(new Int32Array(this.getEvenCounts())),o=!1,i=!1,a=!1,s=!1;t?(r>12?i=!0:r<4&&(o=!0),n>12?s=!0:n<4&&(a=!0)):(r>11?i=!0:r<5&&(o=!0),n>10?s=!0:n<4&&(a=!0));var u=r+n-e,c=(1&r)==(t?1:0),f=1==(1&n);if(1===u)if(c){if(f)throw new F;i=!0}else{if(!f)throw new F;s=!0}else if(-1===u)if(c){if(f)throw new F;o=!0}else{if(!f)throw new F;a=!0}else{if(0!==u)throw new F;if(c){if(!f)throw new F;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},vr=function(){function t(t,e,r){this.ecCodewords=t,this.ecBlocks=[e],r&&this.ecBlocks.push(r)}return t.prototype.getECCodewords=function(){return this.ecCodewords},t.prototype.getECBlocks=function(){return this.ecBlocks},t}(),Cr=function(){function t(t,e){this.count=t,this.dataCodewords=e}return t.prototype.getCount=function(){return this.count},t.prototype.getDataCodewords=function(){return this.dataCodewords},t}(),_r=function(){function t(t,e,r,n,o,i){var a,s;this.versionNumber=t,this.symbolSizeRows=e,this.symbolSizeColumns=r,this.dataRegionSizeRows=n,this.dataRegionSizeColumns=o,this.ecBlocks=i;var u=0,c=i.getECCodewords(),f=i.getECBlocks();try{for(var h=wr(f),l=h.next();!l.done;l=h.next()){var d=l.value;u+=d.getCount()*(d.getDataCodewords()+c)}}catch(t){a={error:t}}finally{try{l&&!l.done&&(s=h.return)&&s.call(h)}finally{if(a)throw a.error}}this.totalCodewords=u}return t.prototype.getVersionNumber=function(){return this.versionNumber},t.prototype.getSymbolSizeRows=function(){return this.symbolSizeRows},t.prototype.getSymbolSizeColumns=function(){return this.symbolSizeColumns},t.prototype.getDataRegionSizeRows=function(){return this.dataRegionSizeRows},t.prototype.getDataRegionSizeColumns=function(){return this.dataRegionSizeColumns},t.prototype.getTotalCodewords=function(){return this.totalCodewords},t.prototype.getECBlocks=function(){return this.ecBlocks},t.getVersionForDimensions=function(e,r){var n,o;if(0!=(1&e)||0!=(1&r))throw new S;try{for(var i=wr(t.VERSIONS),a=i.next();!a.done;a=i.next()){var s=a.value;if(s.symbolSizeRows===e&&s.symbolSizeColumns===r)return s}}catch(t){n={error:t}}finally{try{a&&!a.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}throw new S},t.prototype.toString=function(){return""+this.versionNumber},t.buildVersions=function(){return[new t(1,10,10,8,8,new vr(5,new Cr(1,3))),new t(2,12,12,10,10,new vr(7,new Cr(1,5))),new t(3,14,14,12,12,new vr(10,new Cr(1,8))),new t(4,16,16,14,14,new vr(12,new Cr(1,12))),new t(5,18,18,16,16,new vr(14,new Cr(1,18))),new t(6,20,20,18,18,new vr(18,new Cr(1,22))),new t(7,22,22,20,20,new vr(20,new Cr(1,30))),new t(8,24,24,22,22,new vr(24,new Cr(1,36))),new t(9,26,26,24,24,new vr(28,new Cr(1,44))),new t(10,32,32,14,14,new vr(36,new Cr(1,62))),new t(11,36,36,16,16,new vr(42,new Cr(1,86))),new t(12,40,40,18,18,new vr(48,new Cr(1,114))),new t(13,44,44,20,20,new vr(56,new Cr(1,144))),new t(14,48,48,22,22,new vr(68,new Cr(1,174))),new t(15,52,52,24,24,new vr(42,new Cr(2,102))),new t(16,64,64,14,14,new vr(56,new Cr(2,140))),new t(17,72,72,16,16,new vr(36,new Cr(4,92))),new t(18,80,80,18,18,new vr(48,new Cr(4,114))),new t(19,88,88,20,20,new vr(56,new Cr(4,144))),new t(20,96,96,22,22,new vr(68,new Cr(4,174))),new t(21,104,104,24,24,new vr(56,new Cr(6,136))),new t(22,120,120,18,18,new vr(68,new Cr(6,175))),new t(23,132,132,20,20,new vr(62,new Cr(8,163))),new t(24,144,144,22,22,new vr(62,new Cr(8,156),new Cr(2,155))),new t(25,8,18,6,16,new vr(7,new Cr(1,5))),new t(26,8,32,6,14,new vr(11,new Cr(1,10))),new t(27,12,26,10,24,new vr(14,new Cr(1,16))),new t(28,12,36,10,16,new vr(18,new Cr(1,22))),new t(29,16,36,14,16,new vr(24,new Cr(1,32))),new t(30,16,48,14,22,new vr(28,new Cr(1,49)))]},t.VERSIONS=t.buildVersions(),t}(),Ar=function(){function t(e){var r=e.getHeight();if(r<8||r>144||0!=(1&r))throw new S;this.version=t.readVersion(e),this.mappingBitMatrix=this.extractDataRegion(e),this.readMappingMatrix=new B(this.mappingBitMatrix.getWidth(),this.mappingBitMatrix.getHeight())}return t.prototype.getVersion=function(){return this.version},t.readVersion=function(t){var e=t.getHeight(),r=t.getWidth();return _r.getVersionForDimensions(e,r)},t.prototype.readCodewords=function(){var t=new Int8Array(this.version.getTotalCodewords()),e=0,r=4,n=0,o=this.mappingBitMatrix.getHeight(),i=this.mappingBitMatrix.getWidth(),a=!1,s=!1,u=!1,c=!1;do{if(r!==o||0!==n||a)if(r!==o-2||0!==n||0==(3&i)||s)if(r!==o+4||2!==n||0!=(7&i)||u)if(r!==o-2||0!==n||4!=(7&i)||c){do{r=0&&!this.readMappingMatrix.get(n,r)&&(t[e++]=255&this.readUtah(r,n,o,i)),r-=2,n+=2}while(r>=0&&n=0&&n=0);r+=3,n+=1}else t[e++]=255&this.readCorner4(o,i),r-=2,n+=2,c=!0;else t[e++]=255&this.readCorner3(o,i),r-=2,n+=2,u=!0;else t[e++]=255&this.readCorner2(o,i),r-=2,n+=2,s=!0;else t[e++]=255&this.readCorner1(o,i),r-=2,n+=2,a=!0}while(r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Er=function(){function t(t,e){this.numDataCodewords=t,this.codewords=e}return t.getDataBlocks=function(e,r){var n,o,i,a,s=r.getECBlocks(),c=0,f=s.getECBlocks();try{for(var h=mr(f),l=h.next();!l.done;l=h.next()){c+=(w=l.value).getCount()}}catch(t){n={error:t}}finally{try{l&&!l.done&&(o=h.return)&&o.call(h)}finally{if(n)throw n.error}}var d=new Array(c),p=0;try{for(var g=mr(f),y=g.next();!y.done;y=g.next())for(var w=y.value,v=0;v7?v-1:v;d[b].codewords[R]=e[E++]}if(E!==e.length)throw new u;return d},t.prototype.getNumDataCodewords=function(){return this.numDataCodewords},t.prototype.getCodewords=function(){return this.codewords},t}(),Ir=function(){function t(t){this.bytes=t,this.byteOffset=0,this.bitOffset=0}return t.prototype.getBitOffset=function(){return this.bitOffset},t.prototype.getByteOffset=function(){return this.byteOffset},t.prototype.readBits=function(t){if(t<1||t>32||t>this.available())throw new u(""+t);var e=0,r=this.bitOffset,n=this.byteOffset,o=this.bytes;if(r>0){var i=8-r,a=t>8-a<<(c=i-a);e=(o[n]&s)>>c,t-=a,8===(r+=a)&&(r=0,n++)}if(t>0){for(;t>=8;)e=e<<8|255&o[n],n++,t-=8;if(t>0){var c;s=255>>(c=8-t)<>c,r+=t}}return this.bitOffset=r,this.byteOffset=n,e},t.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},t}();!function(t){t[t.PAD_ENCODE=0]="PAD_ENCODE",t[t.ASCII_ENCODE=1]="ASCII_ENCODE",t[t.C40_ENCODE=2]="C40_ENCODE",t[t.TEXT_ENCODE=3]="TEXT_ENCODE",t[t.ANSIX12_ENCODE=4]="ANSIX12_ENCODE",t[t.EDIFACT_ENCODE=5]="EDIFACT_ENCODE",t[t.BASE256_ENCODE=6]="BASE256_ENCODE"}(rr||(rr={}));var Sr,Tr=function(){function t(){}return t.decode=function(t){var e=new Ir(t),r=new P,n=new P,o=new Array,i=rr.ASCII_ENCODE;do{if(i===rr.ASCII_ENCODE)i=this.decodeAsciiSegment(e,r,n);else{switch(i){case rr.C40_ENCODE:this.decodeC40Segment(e,r);break;case rr.TEXT_ENCODE:this.decodeTextSegment(e,r);break;case rr.ANSIX12_ENCODE:this.decodeAnsiX12Segment(e,r);break;case rr.EDIFACT_ENCODE:this.decodeEdifactSegment(e,r);break;case rr.BASE256_ENCODE:this.decodeBase256Segment(e,r,o);break;default:throw new S}i=rr.ASCII_ENCODE}}while(i!==rr.PAD_ENCODE&&e.available()>0);return n.length()>0&&r.append(n.toString()),new rt(t,r.toString(),0===o.length?null:o,null)},t.decodeAsciiSegment=function(t,e,r){var n=!1;do{var o=t.readBits(8);if(0===o)throw new S;if(o<=128)return n&&(o+=128),e.append(String.fromCharCode(o-1)),rr.ASCII_ENCODE;if(129===o)return rr.PAD_ENCODE;if(o<=229){var i=o-130;i<10&&e.append("0"),e.append(""+i)}else switch(o){case 230:return rr.C40_ENCODE;case 231:return rr.BASE256_ENCODE;case 232:e.append(String.fromCharCode(29));break;case 233:case 234:case 241:break;case 235:n=!0;break;case 236:e.append("[)>05"),r.insert(0,"");break;case 237:e.append("[)>06"),r.insert(0,"");break;case 238:return rr.ANSIX12_ENCODE;case 239:return rr.TEXT_ENCODE;case 240:return rr.EDIFACT_ENCODE;default:if(254!==o||0!==t.available())throw new S}}while(t.available()>0);return rr.ASCII_ENCODE},t.decodeC40Segment=function(t,e){var r=!1,n=[],o=0;do{if(8===t.available())return;var i=t.readBits(8);if(254===i)return;this.parseTwoBytes(i,t.readBits(8),n);for(var a=0;a<3;a++){var s=n[a];switch(o){case 0:if(s<3)o=s+1;else{if(!(s0)},t.decodeTextSegment=function(t,e){var r=!1,n=[],o=0;do{if(8===t.available())return;var i=t.readBits(8);if(254===i)return;this.parseTwoBytes(i,t.readBits(8),n);for(var a=0;a<3;a++){var s=n[a];switch(o){case 0:if(s<3)o=s+1;else{if(!(s0)},t.decodeAnsiX12Segment=function(t,e){var r=[];do{if(8===t.available())return;var n=t.readBits(8);if(254===n)return;this.parseTwoBytes(n,t.readBits(8),r);for(var o=0;o<3;o++){var i=r[o];switch(i){case 0:e.append("\r");break;case 1:e.append("*");break;case 2:e.append(">");break;case 3:e.append(" ");break;default:if(i<14)e.append(String.fromCharCode(i+44));else{if(!(i<40))throw new S;e.append(String.fromCharCode(i+51))}}}}while(t.available()>0)},t.parseTwoBytes=function(t,e,r){var n=(t<<8)+e-1,o=Math.floor(n/1600);r[0]=o,n-=1600*o,o=Math.floor(n/40),r[1]=o,r[2]=n-40*o},t.decodeEdifactSegment=function(t,e){do{if(t.available()<=16)return;for(var r=0;r<4;r++){var n=t.readBits(6);if(31===n){var o=8-t.getBitOffset();return void(8!==o&&t.readBits(o))}0==(32&n)&&(n|=64),e.append(String.fromCharCode(n))}}while(t.available()>0)},t.decodeBase256Segment=function(t,e,r){var n,o=1+t.getByteOffset(),i=this.unrandomize255State(t.readBits(8),o++);if((n=0===i?t.available()/8|0:i<250?i:250*(i-249)+this.unrandomize255State(t.readBits(8),o++))<0)throw new S;for(var a=new Uint8Array(n),s=0;s=0?r:r+256},t.C40_BASIC_SET_CHARS=["*","*","*"," ","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],t.C40_SHIFT2_SET_CHARS=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_"],t.TEXT_BASIC_SET_CHARS=["*","*","*"," ","0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],t.TEXT_SHIFT2_SET_CHARS=t.C40_SHIFT2_SET_CHARS,t.TEXT_SHIFT3_SET_CHARS=["`","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","{","|","}","~",String.fromCharCode(127)],t}(),Or=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},br=function(){function t(){this.rsDecoder=new dt(ut.DATA_MATRIX_FIELD_256)}return t.prototype.decode=function(t){var e,r,n=new Ar(t),o=n.getVersion(),i=n.readCodewords(),a=Er.getDataBlocks(i,o),s=0;try{for(var u=Or(a),c=u.next();!c.done;c=u.next()){s+=c.value.getNumDataCodewords()}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(e)throw e.error}}for(var f=new Uint8Array(s),h=a.length,l=0;la&&(c=a,f[0]=e,f[1]=r,f[2]=n,f[3]=o),c>s&&(c=s,f[0]=r,f[1]=n,f[2]=o,f[3]=e),c>u&&(f[0]=n,f[1]=o,f[2]=e,f[3]=r),f},t.prototype.detectSolid2=function(e){var r=e[0],n=e[1],o=e[2],i=e[3],a=this.transitionsBetween(r,i),s=t.shiftPoint(n,o,4*(a+1)),u=t.shiftPoint(o,n,4*(a+1));return this.transitionsBetween(s,r)this.transitionsBetween(u,h)+this.transitionsBetween(c,h)?f:h:f:this.isValid(h)?h:null},t.prototype.shiftToModuleCenter=function(e){var r=e[0],n=e[1],o=e[2],i=e[3],a=this.transitionsBetween(r,i)+1,s=this.transitionsBetween(o,i)+1,u=t.shiftPoint(r,n,4*s),c=t.shiftPoint(o,n,4*a);1==(1&(a=this.transitionsBetween(u,i)+1))&&(a+=1),1==(1&(s=this.transitionsBetween(c,i)+1))&&(s+=1);var f,h,l=(r.getX()+n.getX()+o.getX()+i.getX())/4,d=(r.getY()+n.getY()+o.getY()+i.getY())/4;return r=t.moveAway(r,l,d),n=t.moveAway(n,l,d),o=t.moveAway(o,l,d),i=t.moveAway(i,l,d),u=t.shiftPoint(r,n,4*s),u=t.shiftPoint(u,i,4*a),f=t.shiftPoint(n,r,4*s),f=t.shiftPoint(f,o,4*a),c=t.shiftPoint(o,i,4*s),c=t.shiftPoint(c,n,4*a),h=t.shiftPoint(i,o,4*s),[u,f,c,h=t.shiftPoint(h,r,4*a)]},t.prototype.isValid=function(t){return t.getX()>=0&&t.getX()0&&t.getY()Math.abs(o-r);if(a){var s=r;r=n,n=s,s=o,o=i,i=s}for(var u=Math.abs(o-r),c=Math.abs(i-n),f=-u/2,h=n0){if(y===i)break;y+=h,f-=u}}return d},t}(),Nr=function(){function t(){this.decoder=new br}return t.prototype.decode=function(e,r){var n,o;if(void 0===r&&(r=null),null!=r&&r.has(E.PURE_BARCODE)){var i=t.extractPureBits(e.getBlackMatrix());n=this.decoder.decode(i),o=t.NO_POINTS}else{var a=new Rr(e.getBlackMatrix()).detect();n=this.decoder.decode(a.getBits()),o=a.getPoints()}var s=n.getRawBytes(),u=new Q(n.getText(),s,8*s.length,o,$.DATA_MATRIX,d.currentTimeMillis()),c=n.getByteSegments();null!=c&&u.putMetadata(et.BYTE_SEGMENTS,c);var f=n.getECLevel();return null!=f&&u.putMetadata(et.ERROR_CORRECTION_LEVEL,f),u},t.prototype.reset=function(){},t.extractPureBits=function(t){var e=t.getTopLeftOnBit(),r=t.getBottomRightOnBit();if(null==e||null==r)throw new F;var n=this.moduleSize(e,t),o=e[1],i=r[1],a=e[0],s=(r[0]-a+1)/n,u=(i-o+1)/n;if(s<=0||u<=0)throw new F;var c=n/2;o+=c,a+=c;for(var f=new B(s,u),h=0;h=t.FOR_BITS.size)throw new u;return t.FOR_BITS.get(e)},t.FOR_BITS=new Map,t.FOR_VALUE=new Map,t.L=new t(Sr.L,"L",1),t.M=new t(Sr.M,"M",0),t.Q=new t(Sr.Q,"Q",3),t.H=new t(Sr.H,"H",2),t}(),Lr=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Fr=function(){function t(t){this.errorCorrectionLevel=Br.forBits(t>>3&3),this.dataMask=7&t}return t.numBitsDiffering=function(t,e){return _.bitCount(t^e)},t.decodeFormatInformation=function(e,r){var n=t.doDecodeFormatInformation(e,r);return null!==n?n:t.doDecodeFormatInformation(e^t.FORMAT_INFO_MASK_QR,r^t.FORMAT_INFO_MASK_QR)},t.doDecodeFormatInformation=function(e,r){var n,o,i=Number.MAX_SAFE_INTEGER,a=0;try{for(var s=Lr(t.FORMAT_INFO_DECODE_LOOKUP),u=s.next();!u.done;u=s.next()){var c=u.value,f=c[0];if(f===e||f===r)return new t(c[1]);var h=t.numBitsDiffering(e,f);h=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},kr=function(){function t(t){for(var e=[],r=1;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Ur=function(){function t(t,e){for(var r,n,o=[],i=2;i40)throw new u;return t.VERSIONS[e-1]},t.decodeVersionInformation=function(e){for(var r=Number.MAX_SAFE_INTEGER,n=0,o=0;o6&&(e.setRegion(t-11,0,3,6),e.setRegion(0,t-11,6,3)),e},t.prototype.toString=function(){return""+this.versionNumber},t.VERSION_DECODE_INFO=Int32Array.from([31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017]),t.VERSIONS=[new t(1,new Int32Array(0),new kr(7,new Vr(1,19)),new kr(10,new Vr(1,16)),new kr(13,new Vr(1,13)),new kr(17,new Vr(1,9))),new t(2,Int32Array.from([6,18]),new kr(10,new Vr(1,34)),new kr(16,new Vr(1,28)),new kr(22,new Vr(1,22)),new kr(28,new Vr(1,16))),new t(3,Int32Array.from([6,22]),new kr(15,new Vr(1,55)),new kr(26,new Vr(1,44)),new kr(18,new Vr(2,17)),new kr(22,new Vr(2,13))),new t(4,Int32Array.from([6,26]),new kr(20,new Vr(1,80)),new kr(18,new Vr(2,32)),new kr(26,new Vr(2,24)),new kr(16,new Vr(4,9))),new t(5,Int32Array.from([6,30]),new kr(26,new Vr(1,108)),new kr(24,new Vr(2,43)),new kr(18,new Vr(2,15),new Vr(2,16)),new kr(22,new Vr(2,11),new Vr(2,12))),new t(6,Int32Array.from([6,34]),new kr(18,new Vr(2,68)),new kr(16,new Vr(4,27)),new kr(24,new Vr(4,19)),new kr(28,new Vr(4,15))),new t(7,Int32Array.from([6,22,38]),new kr(20,new Vr(2,78)),new kr(18,new Vr(4,31)),new kr(18,new Vr(2,14),new Vr(4,15)),new kr(26,new Vr(4,13),new Vr(1,14))),new t(8,Int32Array.from([6,24,42]),new kr(24,new Vr(2,97)),new kr(22,new Vr(2,38),new Vr(2,39)),new kr(22,new Vr(4,18),new Vr(2,19)),new kr(26,new Vr(4,14),new Vr(2,15))),new t(9,Int32Array.from([6,26,46]),new kr(30,new Vr(2,116)),new kr(22,new Vr(3,36),new Vr(2,37)),new kr(20,new Vr(4,16),new Vr(4,17)),new kr(24,new Vr(4,12),new Vr(4,13))),new t(10,Int32Array.from([6,28,50]),new kr(18,new Vr(2,68),new Vr(2,69)),new kr(26,new Vr(4,43),new Vr(1,44)),new kr(24,new Vr(6,19),new Vr(2,20)),new kr(28,new Vr(6,15),new Vr(2,16))),new t(11,Int32Array.from([6,30,54]),new kr(20,new Vr(4,81)),new kr(30,new Vr(1,50),new Vr(4,51)),new kr(28,new Vr(4,22),new Vr(4,23)),new kr(24,new Vr(3,12),new Vr(8,13))),new t(12,Int32Array.from([6,32,58]),new kr(24,new Vr(2,92),new Vr(2,93)),new kr(22,new Vr(6,36),new Vr(2,37)),new kr(26,new Vr(4,20),new Vr(6,21)),new kr(28,new Vr(7,14),new Vr(4,15))),new t(13,Int32Array.from([6,34,62]),new kr(26,new Vr(4,107)),new kr(22,new Vr(8,37),new Vr(1,38)),new kr(24,new Vr(8,20),new Vr(4,21)),new kr(22,new Vr(12,11),new Vr(4,12))),new t(14,Int32Array.from([6,26,46,66]),new kr(30,new Vr(3,115),new Vr(1,116)),new kr(24,new Vr(4,40),new Vr(5,41)),new kr(20,new Vr(11,16),new Vr(5,17)),new kr(24,new Vr(11,12),new Vr(5,13))),new t(15,Int32Array.from([6,26,48,70]),new kr(22,new Vr(5,87),new Vr(1,88)),new kr(24,new Vr(5,41),new Vr(5,42)),new kr(30,new Vr(5,24),new Vr(7,25)),new kr(24,new Vr(11,12),new Vr(7,13))),new t(16,Int32Array.from([6,26,50,74]),new kr(24,new Vr(5,98),new Vr(1,99)),new kr(28,new Vr(7,45),new Vr(3,46)),new kr(24,new Vr(15,19),new Vr(2,20)),new kr(30,new Vr(3,15),new Vr(13,16))),new t(17,Int32Array.from([6,30,54,78]),new kr(28,new Vr(1,107),new Vr(5,108)),new kr(28,new Vr(10,46),new Vr(1,47)),new kr(28,new Vr(1,22),new Vr(15,23)),new kr(28,new Vr(2,14),new Vr(17,15))),new t(18,Int32Array.from([6,30,56,82]),new kr(30,new Vr(5,120),new Vr(1,121)),new kr(26,new Vr(9,43),new Vr(4,44)),new kr(28,new Vr(17,22),new Vr(1,23)),new kr(28,new Vr(2,14),new Vr(19,15))),new t(19,Int32Array.from([6,30,58,86]),new kr(28,new Vr(3,113),new Vr(4,114)),new kr(26,new Vr(3,44),new Vr(11,45)),new kr(26,new Vr(17,21),new Vr(4,22)),new kr(26,new Vr(9,13),new Vr(16,14))),new t(20,Int32Array.from([6,34,62,90]),new kr(28,new Vr(3,107),new Vr(5,108)),new kr(26,new Vr(3,41),new Vr(13,42)),new kr(30,new Vr(15,24),new Vr(5,25)),new kr(28,new Vr(15,15),new Vr(10,16))),new t(21,Int32Array.from([6,28,50,72,94]),new kr(28,new Vr(4,116),new Vr(4,117)),new kr(26,new Vr(17,42)),new kr(28,new Vr(17,22),new Vr(6,23)),new kr(30,new Vr(19,16),new Vr(6,17))),new t(22,Int32Array.from([6,26,50,74,98]),new kr(28,new Vr(2,111),new Vr(7,112)),new kr(28,new Vr(17,46)),new kr(30,new Vr(7,24),new Vr(16,25)),new kr(24,new Vr(34,13))),new t(23,Int32Array.from([6,30,54,78,102]),new kr(30,new Vr(4,121),new Vr(5,122)),new kr(28,new Vr(4,47),new Vr(14,48)),new kr(30,new Vr(11,24),new Vr(14,25)),new kr(30,new Vr(16,15),new Vr(14,16))),new t(24,Int32Array.from([6,28,54,80,106]),new kr(30,new Vr(6,117),new Vr(4,118)),new kr(28,new Vr(6,45),new Vr(14,46)),new kr(30,new Vr(11,24),new Vr(16,25)),new kr(30,new Vr(30,16),new Vr(2,17))),new t(25,Int32Array.from([6,32,58,84,110]),new kr(26,new Vr(8,106),new Vr(4,107)),new kr(28,new Vr(8,47),new Vr(13,48)),new kr(30,new Vr(7,24),new Vr(22,25)),new kr(30,new Vr(22,15),new Vr(13,16))),new t(26,Int32Array.from([6,30,58,86,114]),new kr(28,new Vr(10,114),new Vr(2,115)),new kr(28,new Vr(19,46),new Vr(4,47)),new kr(28,new Vr(28,22),new Vr(6,23)),new kr(30,new Vr(33,16),new Vr(4,17))),new t(27,Int32Array.from([6,34,62,90,118]),new kr(30,new Vr(8,122),new Vr(4,123)),new kr(28,new Vr(22,45),new Vr(3,46)),new kr(30,new Vr(8,23),new Vr(26,24)),new kr(30,new Vr(12,15),new Vr(28,16))),new t(28,Int32Array.from([6,26,50,74,98,122]),new kr(30,new Vr(3,117),new Vr(10,118)),new kr(28,new Vr(3,45),new Vr(23,46)),new kr(30,new Vr(4,24),new Vr(31,25)),new kr(30,new Vr(11,15),new Vr(31,16))),new t(29,Int32Array.from([6,30,54,78,102,126]),new kr(30,new Vr(7,116),new Vr(7,117)),new kr(28,new Vr(21,45),new Vr(7,46)),new kr(30,new Vr(1,23),new Vr(37,24)),new kr(30,new Vr(19,15),new Vr(26,16))),new t(30,Int32Array.from([6,26,52,78,104,130]),new kr(30,new Vr(5,115),new Vr(10,116)),new kr(28,new Vr(19,47),new Vr(10,48)),new kr(30,new Vr(15,24),new Vr(25,25)),new kr(30,new Vr(23,15),new Vr(25,16))),new t(31,Int32Array.from([6,30,56,82,108,134]),new kr(30,new Vr(13,115),new Vr(3,116)),new kr(28,new Vr(2,46),new Vr(29,47)),new kr(30,new Vr(42,24),new Vr(1,25)),new kr(30,new Vr(23,15),new Vr(28,16))),new t(32,Int32Array.from([6,34,60,86,112,138]),new kr(30,new Vr(17,115)),new kr(28,new Vr(10,46),new Vr(23,47)),new kr(30,new Vr(10,24),new Vr(35,25)),new kr(30,new Vr(19,15),new Vr(35,16))),new t(33,Int32Array.from([6,30,58,86,114,142]),new kr(30,new Vr(17,115),new Vr(1,116)),new kr(28,new Vr(14,46),new Vr(21,47)),new kr(30,new Vr(29,24),new Vr(19,25)),new kr(30,new Vr(11,15),new Vr(46,16))),new t(34,Int32Array.from([6,34,62,90,118,146]),new kr(30,new Vr(13,115),new Vr(6,116)),new kr(28,new Vr(14,46),new Vr(23,47)),new kr(30,new Vr(44,24),new Vr(7,25)),new kr(30,new Vr(59,16),new Vr(1,17))),new t(35,Int32Array.from([6,30,54,78,102,126,150]),new kr(30,new Vr(12,121),new Vr(7,122)),new kr(28,new Vr(12,47),new Vr(26,48)),new kr(30,new Vr(39,24),new Vr(14,25)),new kr(30,new Vr(22,15),new Vr(41,16))),new t(36,Int32Array.from([6,24,50,76,102,128,154]),new kr(30,new Vr(6,121),new Vr(14,122)),new kr(28,new Vr(6,47),new Vr(34,48)),new kr(30,new Vr(46,24),new Vr(10,25)),new kr(30,new Vr(2,15),new Vr(64,16))),new t(37,Int32Array.from([6,28,54,80,106,132,158]),new kr(30,new Vr(17,122),new Vr(4,123)),new kr(28,new Vr(29,46),new Vr(14,47)),new kr(30,new Vr(49,24),new Vr(10,25)),new kr(30,new Vr(24,15),new Vr(46,16))),new t(38,Int32Array.from([6,32,58,84,110,136,162]),new kr(30,new Vr(4,122),new Vr(18,123)),new kr(28,new Vr(13,46),new Vr(32,47)),new kr(30,new Vr(48,24),new Vr(14,25)),new kr(30,new Vr(42,15),new Vr(32,16))),new t(39,Int32Array.from([6,26,54,82,110,138,166]),new kr(30,new Vr(20,117),new Vr(4,118)),new kr(28,new Vr(40,47),new Vr(7,48)),new kr(30,new Vr(43,24),new Vr(22,25)),new kr(30,new Vr(10,15),new Vr(67,16))),new t(40,Int32Array.from([6,30,58,86,114,142,170]),new kr(30,new Vr(19,118),new Vr(6,119)),new kr(28,new Vr(18,47),new Vr(31,48)),new kr(30,new Vr(34,24),new Vr(34,25)),new kr(30,new Vr(20,15),new Vr(61,16)))],t}();!function(t){t[t.DATA_MASK_000=0]="DATA_MASK_000",t[t.DATA_MASK_001=1]="DATA_MASK_001",t[t.DATA_MASK_010=2]="DATA_MASK_010",t[t.DATA_MASK_011=3]="DATA_MASK_011",t[t.DATA_MASK_100=4]="DATA_MASK_100",t[t.DATA_MASK_101=5]="DATA_MASK_101",t[t.DATA_MASK_110=6]="DATA_MASK_110",t[t.DATA_MASK_111=7]="DATA_MASK_111"}(Pr||(Pr={}));var Xr,Gr=function(){function t(t,e){this.value=t,this.isMasked=e}return t.prototype.unmaskBitMatrix=function(t,e){for(var r=0;r=0;r--)t=this.copyBit(8,r,t);var n=this.bitMatrix.getHeight(),o=0,i=n-7;for(r=n-1;r>=i;r--)o=this.copyBit(8,r,o);for(e=n-8;e=0;o--)for(var i=t-9;i>=n;i--)r=this.copyBit(i,o,r);var a=Ur.decodeVersionInformation(r);if(null!==a&&a.getDimensionForVersion()===t)return this.parsedVersion=a,a;r=0;for(i=5;i>=0;i--)for(o=t-9;o>=n;o--)r=this.copyBit(i,o,r);if(null!==(a=Ur.decodeVersionInformation(r))&&a.getDimensionForVersion()===t)return this.parsedVersion=a,a;throw new S},t.prototype.copyBit=function(t,e,r){return(this.isMirror?this.bitMatrix.get(e,t):this.bitMatrix.get(t,e))?r<<1|1:r<<1},t.prototype.readCodewords=function(){var t=this.readFormatInformation(),e=this.readVersion(),r=Gr.values.get(t.getDataMask()),n=this.bitMatrix.getHeight();r.unmaskBitMatrix(this.bitMatrix,n);for(var o=e.buildFunctionPattern(),i=!0,a=new Uint8Array(e.getTotalCodewords()),s=0,u=0,c=0,f=n-1;f>0;f-=2){6===f&&f--;for(var h=0;h=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},jr=function(){function t(t,e){this.numDataCodewords=t,this.codewords=e}return t.getDataBlocks=function(e,r,n){var o,i,a,s;if(e.length!==r.getTotalCodewords())throw new u;var c=r.getECBlocksForLevel(n),f=0,h=c.getECBlocks();try{for(var l=zr(h),d=l.next();!d.done;d=l.next()){f+=(v=d.value).getCount()}}catch(t){o={error:t}}finally{try{d&&!d.done&&(i=l.return)&&i.call(l)}finally{if(o)throw o.error}}var p=new Array(f),g=0;try{for(var y=zr(h),w=y.next();!w.done;w=y.next())for(var v=w.value,C=0;C=0;){if(p[E].codewords.length===m)break;E--}E++;var I=m-c.getECCodewordsPerBlock(),S=0;for(C=0;Ct.available())throw new S;for(var n=new Uint8Array(2*r),o=0;r>0;){var i=t.readBits(13),a=i/96<<8&4294967295|i%96;a+=a<959?41377:42657,n[o]=a>>8&255,n[o+1]=255&a,o+=2,r--}try{e.append(D.decode(n,M.GB2312))}catch(t){throw new S(t)}},t.decodeKanjiSegment=function(t,e,r){if(13*r>t.available())throw new S;for(var n=new Uint8Array(2*r),o=0;r>0;){var i=t.readBits(13),a=i/192<<8&4294967295|i%192;a+=a<7936?33088:49472,n[o]=a>>8,n[o+1]=a,o+=2,r--}try{e.append(D.decode(n,M.SHIFT_JIS))}catch(t){throw new S(t)}},t.decodeByteSegment=function(t,e,r,n,o,i){if(8*r>t.available())throw new S;for(var a,s=new Uint8Array(r),u=0;u=t.ALPHANUMERIC_CHARS.length)throw new S;return t.ALPHANUMERIC_CHARS[e]},t.decodeAlphanumericSegment=function(e,r,n,o){for(var i=r.length();n>1;){if(e.available()<11)throw new S;var a=e.readBits(11);r.append(t.toAlphaNumericChar(Math.floor(a/45))),r.append(t.toAlphaNumericChar(a%45)),n-=2}if(1===n){if(e.available()<6)throw new S;r.append(t.toAlphaNumericChar(e.readBits(6)))}if(o)for(var s=i;s=3;){if(e.available()<10)throw new S;var o=e.readBits(10);if(o>=1e3)throw new S;r.append(t.toAlphaNumericChar(Math.floor(o/100))),r.append(t.toAlphaNumericChar(Math.floor(o/10)%10)),r.append(t.toAlphaNumericChar(o%10)),n-=3}if(2===n){if(e.available()<7)throw new S;var i=e.readBits(7);if(i>=100)throw new S;r.append(t.toAlphaNumericChar(Math.floor(i/10))),r.append(t.toAlphaNumericChar(i%10))}else if(1===n){if(e.available()<4)throw new S;var a=e.readBits(4);if(a>=10)throw new S;r.append(t.toAlphaNumericChar(a))}},t.parseECIValue=function(t){var e=t.readBits(8);if(0==(128&e))return 127&e;if(128==(192&e))return(63&e)<<8&4294967295|t.readBits(8);if(192==(224&e))return(31&e)<<16&4294967295|t.readBits(16);throw new S},t.ALPHANUMERIC_CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",t.GB2312_SUBSET=1,t}(),Qr=function(){function t(t){this.mirrored=t}return t.prototype.isMirrored=function(){return this.mirrored},t.prototype.applyMirroredCorrection=function(t){if(this.mirrored&&null!==t&&!(t.length<3)){var e=t[0];t[0]=t[2],t[2]=e}},t}(),Jr=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},$r=function(){function t(){this.rsDecoder=new dt(ut.QR_CODE_FIELD_256)}return t.prototype.decodeBooleanArray=function(t,e){return this.decodeBitMatrix(B.parseFromBooleanArray(t),e)},t.prototype.decodeBitMatrix=function(t,e){var r=new Wr(t),n=null;try{return this.decodeBitMatrixParser(r,e)}catch(t){n=t}try{r.remask(),r.setMirror(!0),r.readVersion(),r.readFormatInformation(),r.mirror();var o=this.decodeBitMatrixParser(r,e);return o.setOther(new Qr(!0)),o}catch(t){if(null!==n)throw n;throw t}},t.prototype.decodeBitMatrixParser=function(t,e){var r,n,o,i,a=t.readVersion(),s=t.readFormatInformation().getErrorCorrectionLevel(),u=t.readCodewords(),c=jr.getDataBlocks(u,a,s),f=0;try{for(var h=Jr(c),l=h.next();!l.done;l=h.next()){f+=(w=l.value).getNumDataCodewords()}}catch(t){r={error:t}}finally{try{l&&!l.done&&(n=h.return)&&n.call(h)}finally{if(r)throw r.error}}var d=new Uint8Array(f),p=0;try{for(var g=Jr(c),y=g.next();!y.done;y=g.next()){var w,v=(w=y.value).getCodewords(),C=w.getNumDataCodewords();this.correctErrors(v,C);for(var _=0;_=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},nn=function(){function t(t,e,r,n,o,i,a){this.image=t,this.startX=e,this.startY=r,this.width=n,this.height=o,this.moduleSize=i,this.resultPointCallback=a,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(3)}return t.prototype.find=function(){for(var t=this.startX,e=this.height,r=t+this.width,n=this.startY+e/2,o=new Int32Array(3),i=this.image,a=0;a=r)return!1;return!0},t.prototype.crossCheckVertical=function(e,r,n,o){var i=this.image,a=i.getHeight(),s=this.crossCheckStateCount;s[0]=0,s[1]=0,s[2]=0;for(var u=e;u>=0&&i.get(r,u)&&s[1]<=n;)s[1]++,u--;if(u<0||s[1]>n)return NaN;for(;u>=0&&!i.get(r,u)&&s[0]<=n;)s[0]++,u--;if(s[0]>n)return NaN;for(u=e+1;un)return NaN;for(;un)return NaN;var c=s[0]+s[1]+s[2];return 5*Math.abs(c-o)>=2*o?NaN:this.foundPatternCross(s)?t.centerFromEnd(s,u):NaN},t.prototype.handlePossibleCenter=function(e,r,n){var o,i,a=e[0]+e[1]+e[2],s=t.centerFromEnd(e,n),u=this.crossCheckVertical(r,s,2*e[1],a);if(!isNaN(u)){var c=(e[0]+e[1]+e[2])/3;try{for(var f=rn(this.possibleCenters),h=f.next();!h.done;h=f.next()){var l=h.value;if(l.aboutEquals(c,u,s))return l.combineEstimate(u,s,c)}}catch(t){o={error:t}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(o)throw o.error}}var d=new en(s,u,c);this.possibleCenters.push(d),null!==this.resultPointCallback&&void 0!==this.resultPointCallback&&this.resultPointCallback.foundPossibleResultPoint(d)}return null},t}(),on=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),an=function(t){function e(e,r,n,o){var i=t.call(this,e,r)||this;return i.estimatedModuleSize=n,i.count=o,void 0===o&&(i.count=1),i}return on(e,t),e.prototype.getEstimatedModuleSize=function(){return this.estimatedModuleSize},e.prototype.getCount=function(){return this.count},e.prototype.aboutEquals=function(t,e,r){if(Math.abs(e-this.getY())<=t&&Math.abs(r-this.getX())<=t){var n=Math.abs(t-this.estimatedModuleSize);return n<=1||n<=this.estimatedModuleSize}return!1},e.prototype.combineEstimate=function(t,r,n){var o=this.count+1;return new e((this.count*this.getX()+r)/o,(this.count*this.getY()+t)/o,(this.count*this.estimatedModuleSize+n)/o,o)},e}(wt),sn=function(){function t(t){this.bottomLeft=t[0],this.topLeft=t[1],this.topRight=t[2]}return t.prototype.getBottomLeft=function(){return this.bottomLeft},t.prototype.getTopLeft=function(){return this.topLeft},t.prototype.getTopRight=function(){return this.topRight},t}(),un=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},cn=function(){function t(t,e){this.image=t,this.resultPointCallback=e,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(5),this.resultPointCallback=e}return t.prototype.getImage=function(){return this.image},t.prototype.getPossibleCenters=function(){return this.possibleCenters},t.prototype.find=function(e){var r=null!=e&&void 0!==e.get(E.TRY_HARDER),n=null!=e&&void 0!==e.get(E.PURE_BARCODE),o=this.image,i=o.getHeight(),a=o.getWidth(),s=Math.floor(3*i/(4*t.MAX_MODULES));(sc[2]&&(f+=d-c[2]-s,l=a-1)}h=0,c[0]=0,c[1]=0,c[2]=0,c[3]=0,c[4]=0}else c[0]=c[2],c[1]=c[3],c[2]=c[4],c[3]=1,c[4]=0,h=3;else c[++h]++;else c[h]++;if(t.foundPatternCross(c))!0===this.handlePossibleCenter(c,f,a,n)&&(s=c[0],this.hasSkipped&&(u=this.haveMultiplyConfirmedCenters()))}var p=this.selectBestPatterns();return wt.orderBestPatterns(p),new sn(p)},t.centerFromEnd=function(t,e){return e-t[4]-t[3]-t[2]/2},t.foundPatternCross=function(t){for(var e=0,r=0;r<5;r++){var n=t[r];if(0===n)return!1;e+=n}if(e<7)return!1;var o=e/7,i=o/2;return Math.abs(o-t[0])=a&&r>=a&&s.get(r-a,e-a);)i[2]++,a++;if(e=a&&r>=a&&!s.get(r-a,e-a)&&i[1]<=n;)i[1]++,a++;if(en)return!1;for(;e>=a&&r>=a&&s.get(r-a,e-a)&&i[0]<=n;)i[0]++,a++;if(i[0]>n)return!1;var u=s.getHeight(),c=s.getWidth();for(a=1;e+a=u||r+a>=c)return!1;for(;e+a=u||r+a>=c||i[3]>=n)return!1;for(;e+a=n)return!1;var f=i[0]+i[1]+i[2]+i[3]+i[4];return Math.abs(f-o)<2*o&&t.foundPatternCross(i)},t.prototype.crossCheckVertical=function(e,r,n,o){for(var i=this.image,a=i.getHeight(),s=this.getCrossCheckStateCount(),u=e;u>=0&&i.get(r,u);)s[2]++,u--;if(u<0)return NaN;for(;u>=0&&!i.get(r,u)&&s[1]<=n;)s[1]++,u--;if(u<0||s[1]>n)return NaN;for(;u>=0&&i.get(r,u)&&s[0]<=n;)s[0]++,u--;if(s[0]>n)return NaN;for(u=e+1;u=n)return NaN;for(;u=n)return NaN;var c=s[0]+s[1]+s[2]+s[3]+s[4];return 5*Math.abs(c-o)>=2*o?NaN:t.foundPatternCross(s)?t.centerFromEnd(s,u):NaN},t.prototype.crossCheckHorizontal=function(e,r,n,o){for(var i=this.image,a=i.getWidth(),s=this.getCrossCheckStateCount(),u=e;u>=0&&i.get(u,r);)s[2]++,u--;if(u<0)return NaN;for(;u>=0&&!i.get(u,r)&&s[1]<=n;)s[1]++,u--;if(u<0||s[1]>n)return NaN;for(;u>=0&&i.get(u,r)&&s[0]<=n;)s[0]++,u--;if(s[0]>n)return NaN;for(u=e+1;u=n)return NaN;for(;u=n)return NaN;var c=s[0]+s[1]+s[2]+s[3]+s[4];return 5*Math.abs(c-o)>=o?NaN:t.foundPatternCross(s)?t.centerFromEnd(s,u):NaN},t.prototype.handlePossibleCenter=function(e,r,n,o){var i=e[0]+e[1]+e[2]+e[3]+e[4],a=t.centerFromEnd(e,n),s=this.crossCheckVertical(r,Math.floor(a),e[2],i);if(!isNaN(s)&&(a=this.crossCheckHorizontal(Math.floor(a),Math.floor(s),e[2],i),!isNaN(a)&&(!o||this.crossCheckDiagonal(Math.floor(s),Math.floor(a),e[2],i)))){for(var u=i/7,c=!1,f=this.possibleCenters,h=0,l=f.length;h=t.CENTER_QUORUM){if(null!=n)return this.hasSkipped=!0,Math.floor((Math.abs(n.getX()-a.getX())-Math.abs(n.getY()-a.getY()))/2);n=a}}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return 0},t.prototype.haveMultiplyConfirmedCenters=function(){var e,r,n,o,i=0,a=0,s=this.possibleCenters.length;try{for(var u=un(this.possibleCenters),c=u.next();!c.done;c=u.next()){(p=c.value).getCount()>=t.CENTER_QUORUM&&(i++,a+=p.getEstimatedModuleSize())}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=u.return)&&r.call(u)}finally{if(e)throw e.error}}if(i<3)return!1;var f=a/s,h=0;try{for(var l=un(this.possibleCenters),d=l.next();!d.done;d=l.next()){var p=d.value;h+=Math.abs(p.getEstimatedModuleSize()-f)}}catch(t){n={error:t}}finally{try{d&&!d.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}return h<=.05*a},t.prototype.selectBestPatterns=function(){var t,e,r,n,o=this.possibleCenters.length;if(o<3)throw new F;var i,a=this.possibleCenters;if(o>3){var s=0,u=0;try{for(var c=un(this.possibleCenters),f=c.next();!f.done;f=c.next()){var h=f.value.getEstimatedModuleSize();s+=h,u+=h*h}}catch(e){t={error:e}}finally{try{f&&!f.done&&(e=c.return)&&e.call(c)}finally{if(t)throw t.error}}i=s/o;var l=Math.sqrt(u/o-i*i);a.sort((function(t,e){var r=Math.abs(e.getEstimatedModuleSize()-i),n=Math.abs(t.getEstimatedModuleSize()-i);return rn?1:0}));for(var d=Math.max(.2*i,l),p=0;p3;p++){var g=a[p];Math.abs(g.getEstimatedModuleSize()-i)>d&&(a.splice(p,1),p--)}}if(a.length>3){s=0;try{for(var y=un(a),w=y.next();!w.done;w=y.next()){s+=w.value.getEstimatedModuleSize()}}catch(t){r={error:t}}finally{try{w&&!w.done&&(n=y.return)&&n.call(y)}finally{if(r)throw r.error}}i=s/a.length,a.sort((function(t,e){if(e.getCount()===t.getCount()){var r=Math.abs(e.getEstimatedModuleSize()-i),n=Math.abs(t.getEstimatedModuleSize()-i);return rn?-1:0}return e.getCount()-t.getCount()})),a.splice(3)}return[a[0],a[1],a[2]]},t.CENTER_QUORUM=2,t.MIN_SKIP=3,t.MAX_MODULES=57,t}(),fn=function(){function t(t){this.image=t}return t.prototype.getImage=function(){return this.image},t.prototype.getResultPointCallback=function(){return this.resultPointCallback},t.prototype.detect=function(t){this.resultPointCallback=null==t?null:t.get(E.NEED_RESULT_POINT_CALLBACK);var e=new cn(this.image,this.resultPointCallback).find(t);return this.processFinderPatternInfo(e)},t.prototype.processFinderPatternInfo=function(e){var r=e.getTopLeft(),n=e.getTopRight(),o=e.getBottomLeft(),i=this.calculateModuleSize(r,n,o);if(i<1)throw new F("No pattern found in proccess finder.");var a=t.computeDimension(r,n,o,i),s=Ur.getProvisionalVersionForDimension(a),u=s.getDimensionForVersion()-7,c=null;if(s.getAlignmentPatternCenters().length>0)for(var f=n.getX()-r.getX()+o.getX(),h=n.getY()-r.getY()+o.getY(),l=1-3/u,d=Math.floor(r.getX()+l*(f-r.getX())),p=Math.floor(r.getY()+l*(h-r.getY())),g=4;g<=16;g<<=1)try{c=this.findAlignmentInRegion(i,d,p,g);break}catch(t){if(!(t instanceof F))throw t}var y=t.createTransform(r,n,o,c,a),w=t.sampleGrid(this.image,y,a);return new vt(w,null===c?[o,r,n]:[o,r,n,c])},t.createTransform=function(t,e,r,n,o){var i,a,s,u,c=o-3.5;return null!==n?(i=n.getX(),a=n.getY(),u=s=c-3):(i=e.getX()-t.getX()+r.getX(),a=e.getY()-t.getY()+r.getY(),s=c,u=c),Et.quadrilateralToQuadrilateral(3.5,3.5,c,3.5,s,u,3.5,c,t.getX(),t.getY(),e.getX(),e.getY(),i,a,r.getX(),r.getY())},t.sampleGrid=function(t,e,r){return Tt.getInstance().sampleGridWithTransform(t,r,r,e)},t.computeDimension=function(t,e,r,n){var o=gt.round(wt.distance(t,e)/n),i=gt.round(wt.distance(t,r)/n),a=Math.floor((o+i)/2)+7;switch(3&a){case 0:a++;break;case 2:a--;break;case 3:throw new F("Dimensions could be not found.")}return a},t.prototype.calculateModuleSize=function(t,e,r){return(this.calculateModuleSizeOneWay(t,e)+this.calculateModuleSizeOneWay(t,r))/2},t.prototype.calculateModuleSizeOneWay=function(t,e){var r=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(t.getX()),Math.floor(t.getY()),Math.floor(e.getX()),Math.floor(e.getY())),n=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(e.getX()),Math.floor(e.getY()),Math.floor(t.getX()),Math.floor(t.getY()));return isNaN(r)?n/7:isNaN(n)?r/7:(r+n)/14},t.prototype.sizeOfBlackWhiteBlackRunBothWays=function(t,e,r,n){var o=this.sizeOfBlackWhiteBlackRun(t,e,r,n),i=1,a=t-(r-t);a<0?(i=t/(t-a),a=0):a>=this.image.getWidth()&&(i=(this.image.getWidth()-1-t)/(a-t),a=this.image.getWidth()-1);var s=Math.floor(e-(n-e)*i);return i=1,s<0?(i=e/(e-s),s=0):s>=this.image.getHeight()&&(i=(this.image.getHeight()-1-e)/(s-e),s=this.image.getHeight()-1),a=Math.floor(t+(a-t)*i),(o+=this.sizeOfBlackWhiteBlackRun(t,e,a,s))-1},t.prototype.sizeOfBlackWhiteBlackRun=function(t,e,r,n){var o=Math.abs(n-e)>Math.abs(r-t);if(o){var i=t;t=e,e=i,i=r,r=n,n=i}for(var a=Math.abs(r-t),s=Math.abs(n-e),u=-a/2,c=t0){if(p===n)break;p+=f,u-=a}}return 2===h?gt.distance(r+c,n,t,e):NaN},t.prototype.findAlignmentInRegion=function(t,e,r,n){var o=Math.floor(n*t),i=Math.max(0,e-o),a=Math.min(this.image.getWidth()-1,e+o);if(a-i<3*t)throw new F("Alignment top exceeds estimated module size.");var s=Math.max(0,r-o),u=Math.min(this.image.getHeight()-1,r+o);if(u-s<3*t)throw new F("Alignment bottom exceeds estimated module size.");return new nn(this.image,i,s,a-i,u-s,t,this.resultPointCallback).find()},t}(),hn=function(){function t(){this.decoder=new $r}return t.prototype.getDecoder=function(){return this.decoder},t.prototype.decode=function(e,r){var n,o;if(null!=r&&void 0!==r.get(E.PURE_BARCODE)){var i=t.extractPureBits(e.getBlackMatrix());n=this.decoder.decodeBitMatrix(i,r),o=t.NO_POINTS}else{var a=new fn(e.getBlackMatrix()).detect(r);n=this.decoder.decodeBitMatrix(a.getBits(),r),o=a.getPoints()}n.getOther()instanceof Qr&&n.getOther().applyMirroredCorrection(o);var s=new Q(n.getText(),n.getRawBytes(),void 0,o,$.QR_CODE,void 0),u=n.getByteSegments();null!==u&&s.putMetadata(et.BYTE_SEGMENTS,u);var c=n.getECLevel();return null!==c&&s.putMetadata(et.ERROR_CORRECTION_LEVEL,c),n.hasStructuredAppend()&&(s.putMetadata(et.STRUCTURED_APPEND_SEQUENCE,n.getStructuredAppendSequenceNumber()),s.putMetadata(et.STRUCTURED_APPEND_PARITY,n.getStructuredAppendParity())),s},t.prototype.reset=function(){},t.extractPureBits=function(t){var e=t.getTopLeftOnBit(),r=t.getBottomRightOnBit();if(null===e||null===r)throw new F;var n=this.moduleSize(e,t),o=e[1],i=r[1],a=e[0],s=r[0];if(a>=s||o>=i)throw new F;if(i-o!=s-a&&(s=a+(i-o))>=t.getWidth())throw new F;var u=Math.round((s-a+1)/n),c=Math.round((i-o+1)/n);if(u<=0||c<=0)throw new F;if(c!==u)throw new F;var f=Math.floor(n/2);o+=f;var h=(a+=f)+Math.floor((u-1)*n)-s;if(h>0){if(h>f)throw new F;a-=h}var l=o+Math.floor((c-1)*n)-i;if(l>0){if(l>f)throw new F;o-=l}for(var d=new B(u,c),p=0;p=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},dn=function(){function t(){}return t.prototype.PDF417Common=function(){},t.getBitCountSum=function(t){return gt.sum(t)},t.toIntArray=function(e){var r,n;if(null==e||!e.length)return t.EMPTY_INT_ARRAY;var o=new Int32Array(e.length),i=0;try{for(var a=ln(e),s=a.next();!s.done;s=a.next()){var u=s.value;o[i++]=u}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return o},t.getCodeword=function(e){var r=C.binarySearch(t.SYMBOL_TABLE,262143&e);return r<0?-1:(t.CODEWORD_TABLE[r]-1)%t.NUMBER_OF_CODEWORDS},t.NUMBER_OF_CODEWORDS=929,t.MAX_CODEWORDS_IN_BARCODE=t.NUMBER_OF_CODEWORDS-1,t.MIN_ROWS_IN_BARCODE=3,t.MAX_ROWS_IN_BARCODE=90,t.MODULES_IN_CODEWORD=17,t.MODULES_IN_STOP_PATTERN=18,t.BARS_IN_MODULE=8,t.EMPTY_INT_ARRAY=new Int32Array([]),t.SYMBOL_TABLE=Int32Array.from([66142,66170,66206,66236,66290,66292,66350,66382,66396,66454,66470,66476,66594,66600,66614,66626,66628,66632,66640,66654,66662,66668,66682,66690,66718,66720,66748,66758,66776,66798,66802,66804,66820,66824,66832,66846,66848,66876,66880,66936,66950,66956,66968,66992,67006,67022,67036,67042,67044,67048,67062,67118,67150,67164,67214,67228,67256,67294,67322,67350,67366,67372,67398,67404,67416,67438,67474,67476,67490,67492,67496,67510,67618,67624,67650,67656,67664,67678,67686,67692,67706,67714,67716,67728,67742,67744,67772,67782,67788,67800,67822,67826,67828,67842,67848,67870,67872,67900,67904,67960,67974,67992,68016,68030,68046,68060,68066,68068,68072,68086,68104,68112,68126,68128,68156,68160,68216,68336,68358,68364,68376,68400,68414,68448,68476,68494,68508,68536,68546,68548,68552,68560,68574,68582,68588,68654,68686,68700,68706,68708,68712,68726,68750,68764,68792,68802,68804,68808,68816,68830,68838,68844,68858,68878,68892,68920,68976,68990,68994,68996,69e3,69008,69022,69024,69052,69062,69068,69080,69102,69106,69108,69142,69158,69164,69190,69208,69230,69254,69260,69272,69296,69310,69326,69340,69386,69394,69396,69410,69416,69430,69442,69444,69448,69456,69470,69478,69484,69554,69556,69666,69672,69698,69704,69712,69726,69754,69762,69764,69776,69790,69792,69820,69830,69836,69848,69870,69874,69876,69890,69918,69920,69948,69952,70008,70022,70040,70064,70078,70094,70108,70114,70116,70120,70134,70152,70174,70176,70264,70384,70412,70448,70462,70496,70524,70542,70556,70584,70594,70600,70608,70622,70630,70636,70664,70672,70686,70688,70716,70720,70776,70896,71136,71180,71192,71216,71230,71264,71292,71360,71416,71452,71480,71536,71550,71554,71556,71560,71568,71582,71584,71612,71622,71628,71640,71662,71726,71732,71758,71772,71778,71780,71784,71798,71822,71836,71864,71874,71880,71888,71902,71910,71916,71930,71950,71964,71992,72048,72062,72066,72068,72080,72094,72096,72124,72134,72140,72152,72174,72178,72180,72206,72220,72248,72304,72318,72416,72444,72456,72464,72478,72480,72508,72512,72568,72588,72600,72624,72638,72654,72668,72674,72676,72680,72694,72726,72742,72748,72774,72780,72792,72814,72838,72856,72880,72894,72910,72924,72930,72932,72936,72950,72966,72972,72984,73008,73022,73056,73084,73102,73116,73144,73156,73160,73168,73182,73190,73196,73210,73226,73234,73236,73250,73252,73256,73270,73282,73284,73296,73310,73318,73324,73346,73348,73352,73360,73374,73376,73404,73414,73420,73432,73454,73498,73518,73522,73524,73550,73564,73570,73572,73576,73590,73800,73822,73858,73860,73872,73886,73888,73916,73944,73970,73972,73992,74014,74016,74044,74048,74104,74118,74136,74160,74174,74210,74212,74216,74230,74244,74256,74270,74272,74360,74480,74502,74508,74544,74558,74592,74620,74638,74652,74680,74690,74696,74704,74726,74732,74782,74784,74812,74992,75232,75288,75326,75360,75388,75456,75512,75576,75632,75646,75650,75652,75664,75678,75680,75708,75718,75724,75736,75758,75808,75836,75840,75896,76016,76256,76736,76824,76848,76862,76896,76924,76992,77048,77296,77340,77368,77424,77438,77536,77564,77572,77576,77584,77600,77628,77632,77688,77702,77708,77720,77744,77758,77774,77788,77870,77902,77916,77922,77928,77966,77980,78008,78018,78024,78032,78046,78060,78074,78094,78136,78192,78206,78210,78212,78224,78238,78240,78268,78278,78284,78296,78322,78324,78350,78364,78448,78462,78560,78588,78600,78622,78624,78652,78656,78712,78726,78744,78768,78782,78798,78812,78818,78820,78824,78838,78862,78876,78904,78960,78974,79072,79100,79296,79352,79368,79376,79390,79392,79420,79424,79480,79600,79628,79640,79664,79678,79712,79740,79772,79800,79810,79812,79816,79824,79838,79846,79852,79894,79910,79916,79942,79948,79960,79982,79988,80006,80024,80048,80062,80078,80092,80098,80100,80104,80134,80140,80176,80190,80224,80252,80270,80284,80312,80328,80336,80350,80358,80364,80378,80390,80396,80408,80432,80446,80480,80508,80576,80632,80654,80668,80696,80752,80766,80776,80784,80798,80800,80828,80844,80856,80878,80882,80884,80914,80916,80930,80932,80936,80950,80962,80968,80976,80990,80998,81004,81026,81028,81040,81054,81056,81084,81094,81100,81112,81134,81154,81156,81160,81168,81182,81184,81212,81216,81272,81286,81292,81304,81328,81342,81358,81372,81380,81384,81398,81434,81454,81458,81460,81486,81500,81506,81508,81512,81526,81550,81564,81592,81602,81604,81608,81616,81630,81638,81644,81702,81708,81722,81734,81740,81752,81774,81778,81780,82050,82078,82080,82108,82180,82184,82192,82206,82208,82236,82240,82296,82316,82328,82352,82366,82402,82404,82408,82440,82448,82462,82464,82492,82496,82552,82672,82694,82700,82712,82736,82750,82784,82812,82830,82882,82884,82888,82896,82918,82924,82952,82960,82974,82976,83004,83008,83064,83184,83424,83468,83480,83504,83518,83552,83580,83648,83704,83740,83768,83824,83838,83842,83844,83848,83856,83872,83900,83910,83916,83928,83950,83984,84e3,84028,84032,84088,84208,84448,84928,85040,85054,85088,85116,85184,85240,85488,85560,85616,85630,85728,85756,85764,85768,85776,85790,85792,85820,85824,85880,85894,85900,85912,85936,85966,85980,86048,86080,86136,86256,86496,86976,88160,88188,88256,88312,88560,89056,89200,89214,89312,89340,89536,89592,89608,89616,89632,89664,89720,89840,89868,89880,89904,89952,89980,89998,90012,90040,90190,90204,90254,90268,90296,90306,90308,90312,90334,90382,90396,90424,90480,90494,90500,90504,90512,90526,90528,90556,90566,90572,90584,90610,90612,90638,90652,90680,90736,90750,90848,90876,90884,90888,90896,90910,90912,90940,90944,91e3,91014,91020,91032,91056,91070,91086,91100,91106,91108,91112,91126,91150,91164,91192,91248,91262,91360,91388,91584,91640,91664,91678,91680,91708,91712,91768,91888,91928,91952,91966,92e3,92028,92046,92060,92088,92098,92100,92104,92112,92126,92134,92140,92188,92216,92272,92384,92412,92608,92664,93168,93200,93214,93216,93244,93248,93304,93424,93664,93720,93744,93758,93792,93820,93888,93944,93980,94008,94064,94078,94084,94088,94096,94110,94112,94140,94150,94156,94168,94246,94252,94278,94284,94296,94318,94342,94348,94360,94384,94398,94414,94428,94440,94470,94476,94488,94512,94526,94560,94588,94606,94620,94648,94658,94660,94664,94672,94686,94694,94700,94714,94726,94732,94744,94768,94782,94816,94844,94912,94968,94990,95004,95032,95088,95102,95112,95120,95134,95136,95164,95180,95192,95214,95218,95220,95244,95256,95280,95294,95328,95356,95424,95480,95728,95758,95772,95800,95856,95870,95968,95996,96008,96016,96030,96032,96060,96064,96120,96152,96176,96190,96220,96226,96228,96232,96290,96292,96296,96310,96322,96324,96328,96336,96350,96358,96364,96386,96388,96392,96400,96414,96416,96444,96454,96460,96472,96494,96498,96500,96514,96516,96520,96528,96542,96544,96572,96576,96632,96646,96652,96664,96688,96702,96718,96732,96738,96740,96744,96758,96772,96776,96784,96798,96800,96828,96832,96888,97008,97030,97036,97048,97072,97086,97120,97148,97166,97180,97208,97220,97224,97232,97246,97254,97260,97326,97330,97332,97358,97372,97378,97380,97384,97398,97422,97436,97464,97474,97476,97480,97488,97502,97510,97516,97550,97564,97592,97648,97666,97668,97672,97680,97694,97696,97724,97734,97740,97752,97774,97830,97836,97850,97862,97868,97880,97902,97906,97908,97926,97932,97944,97968,97998,98012,98018,98020,98024,98038,98618,98674,98676,98838,98854,98874,98892,98904,98926,98930,98932,98968,99006,99042,99044,99048,99062,99166,99194,99246,99286,99350,99366,99372,99386,99398,99416,99438,99442,99444,99462,99504,99518,99534,99548,99554,99556,99560,99574,99590,99596,99608,99632,99646,99680,99708,99726,99740,99768,99778,99780,99784,99792,99806,99814,99820,99834,99858,99860,99874,99880,99894,99906,99920,99934,99962,99970,99972,99976,99984,99998,1e5,100028,100038,100044,100056,100078,100082,100084,100142,100174,100188,100246,100262,100268,100306,100308,100390,100396,100410,100422,100428,100440,100462,100466,100468,100486,100504,100528,100542,100558,100572,100578,100580,100584,100598,100620,100656,100670,100704,100732,100750,100792,100802,100808,100816,100830,100838,100844,100858,100888,100912,100926,100960,100988,101056,101112,101148,101176,101232,101246,101250,101252,101256,101264,101278,101280,101308,101318,101324,101336,101358,101362,101364,101410,101412,101416,101430,101442,101448,101456,101470,101478,101498,101506,101508,101520,101534,101536,101564,101580,101618,101620,101636,101640,101648,101662,101664,101692,101696,101752,101766,101784,101838,101858,101860,101864,101934,101938,101940,101966,101980,101986,101988,101992,102030,102044,102072,102082,102084,102088,102096,102138,102166,102182,102188,102214,102220,102232,102254,102282,102290,102292,102306,102308,102312,102326,102444,102458,102470,102476,102488,102514,102516,102534,102552,102576,102590,102606,102620,102626,102632,102646,102662,102668,102704,102718,102752,102780,102798,102812,102840,102850,102856,102864,102878,102886,102892,102906,102936,102974,103008,103036,103104,103160,103224,103280,103294,103298,103300,103312,103326,103328,103356,103366,103372,103384,103406,103410,103412,103472,103486,103520,103548,103616,103672,103920,103992,104048,104062,104160,104188,104194,104196,104200,104208,104224,104252,104256,104312,104326,104332,104344,104368,104382,104398,104412,104418,104420,104424,104482,104484,104514,104520,104528,104542,104550,104570,104578,104580,104592,104606,104608,104636,104652,104690,104692,104706,104712,104734,104736,104764,104768,104824,104838,104856,104910,104930,104932,104936,104968,104976,104990,104992,105020,105024,105080,105200,105240,105278,105312,105372,105410,105412,105416,105424,105446,105518,105524,105550,105564,105570,105572,105576,105614,105628,105656,105666,105672,105680,105702,105722,105742,105756,105784,105840,105854,105858,105860,105864,105872,105888,105932,105970,105972,106006,106022,106028,106054,106060,106072,106100,106118,106124,106136,106160,106174,106190,106210,106212,106216,106250,106258,106260,106274,106276,106280,106306,106308,106312,106320,106334,106348,106394,106414,106418,106420,106566,106572,106610,106612,106630,106636,106648,106672,106686,106722,106724,106728,106742,106758,106764,106776,106800,106814,106848,106876,106894,106908,106936,106946,106948,106952,106960,106974,106982,106988,107032,107056,107070,107104,107132,107200,107256,107292,107320,107376,107390,107394,107396,107400,107408,107422,107424,107452,107462,107468,107480,107502,107506,107508,107544,107568,107582,107616,107644,107712,107768,108016,108060,108088,108144,108158,108256,108284,108290,108292,108296,108304,108318,108320,108348,108352,108408,108422,108428,108440,108464,108478,108494,108508,108514,108516,108520,108592,108640,108668,108736,108792,109040,109536,109680,109694,109792,109820,110016,110072,110084,110088,110096,110112,110140,110144,110200,110320,110342,110348,110360,110384,110398,110432,110460,110478,110492,110520,110532,110536,110544,110558,110658,110686,110714,110722,110724,110728,110736,110750,110752,110780,110796,110834,110836,110850,110852,110856,110864,110878,110880,110908,110912,110968,110982,111e3,111054,111074,111076,111080,111108,111112,111120,111134,111136,111164,111168,111224,111344,111372,111422,111456,111516,111554,111556,111560,111568,111590,111632,111646,111648,111676,111680,111736,111856,112096,112152,112224,112252,112320,112440,112514,112516,112520,112528,112542,112544,112588,112686,112718,112732,112782,112796,112824,112834,112836,112840,112848,112870,112890,112910,112924,112952,113008,113022,113026,113028,113032,113040,113054,113056,113100,113138,113140,113166,113180,113208,113264,113278,113376,113404,113416,113424,113440,113468,113472,113560,113614,113634,113636,113640,113686,113702,113708,113734,113740,113752,113778,113780,113798,113804,113816,113840,113854,113870,113890,113892,113896,113926,113932,113944,113968,113982,114016,114044,114076,114114,114116,114120,114128,114150,114170,114194,114196,114210,114212,114216,114242,114244,114248,114256,114270,114278,114306,114308,114312,114320,114334,114336,114364,114380,114420,114458,114478,114482,114484,114510,114524,114530,114532,114536,114842,114866,114868,114970,114994,114996,115042,115044,115048,115062,115130,115226,115250,115252,115278,115292,115298,115300,115304,115318,115342,115394,115396,115400,115408,115422,115430,115436,115450,115478,115494,115514,115526,115532,115570,115572,115738,115758,115762,115764,115790,115804,115810,115812,115816,115830,115854,115868,115896,115906,115912,115920,115934,115942,115948,115962,115996,116024,116080,116094,116098,116100,116104,116112,116126,116128,116156,116166,116172,116184,116206,116210,116212,116246,116262,116268,116282,116294,116300,116312,116334,116338,116340,116358,116364,116376,116400,116414,116430,116444,116450,116452,116456,116498,116500,116514,116520,116534,116546,116548,116552,116560,116574,116582,116588,116602,116654,116694,116714,116762,116782,116786,116788,116814,116828,116834,116836,116840,116854,116878,116892,116920,116930,116936,116944,116958,116966,116972,116986,117006,117048,117104,117118,117122,117124,117136,117150,117152,117180,117190,117196,117208,117230,117234,117236,117304,117360,117374,117472,117500,117506,117508,117512,117520,117536,117564,117568,117624,117638,117644,117656,117680,117694,117710,117724,117730,117732,117736,117750,117782,117798,117804,117818,117830,117848,117874,117876,117894,117936,117950,117966,117986,117988,117992,118022,118028,118040,118064,118078,118112,118140,118172,118210,118212,118216,118224,118238,118246,118266,118306,118312,118338,118352,118366,118374,118394,118402,118404,118408,118416,118430,118432,118460,118476,118514,118516,118574,118578,118580,118606,118620,118626,118628,118632,118678,118694,118700,118730,118738,118740,118830,118834,118836,118862,118876,118882,118884,118888,118902,118926,118940,118968,118978,118980,118984,118992,119006,119014,119020,119034,119068,119096,119152,119166,119170,119172,119176,119184,119198,119200,119228,119238,119244,119256,119278,119282,119284,119324,119352,119408,119422,119520,119548,119554,119556,119560,119568,119582,119584,119612,119616,119672,119686,119692,119704,119728,119742,119758,119772,119778,119780,119784,119798,119920,119934,120032,120060,120256,120312,120324,120328,120336,120352,120384,120440,120560,120582,120588,120600,120624,120638,120672,120700,120718,120732,120760,120770,120772,120776,120784,120798,120806,120812,120870,120876,120890,120902,120908,120920,120946,120948,120966,120972,120984,121008,121022,121038,121058,121060,121064,121078,121100,121112,121136,121150,121184,121212,121244,121282,121284,121288,121296,121318,121338,121356,121368,121392,121406,121440,121468,121536,121592,121656,121730,121732,121736,121744,121758,121760,121804,121842,121844,121890,121922,121924,121928,121936,121950,121958,121978,121986,121988,121992,122e3,122014,122016,122044,122060,122098,122100,122116,122120,122128,122142,122144,122172,122176,122232,122246,122264,122318,122338,122340,122344,122414,122418,122420,122446,122460,122466,122468,122472,122510,122524,122552,122562,122564,122568,122576,122598,122618,122646,122662,122668,122694,122700,122712,122738,122740,122762,122770,122772,122786,122788,122792,123018,123026,123028,123042,123044,123048,123062,123098,123146,123154,123156,123170,123172,123176,123190,123202,123204,123208,123216,123238,123244,123258,123290,123314,123316,123402,123410,123412,123426,123428,123432,123446,123458,123464,123472,123486,123494,123500,123514,123522,123524,123528,123536,123552,123580,123590,123596,123608,123630,123634,123636,123674,123698,123700,123740,123746,123748,123752,123834,123914,123922,123924,123938,123944,123958,123970,123976,123984,123998,124006,124012,124026,124034,124036,124048,124062,124064,124092,124102,124108,124120,124142,124146,124148,124162,124164,124168,124176,124190,124192,124220,124224,124280,124294,124300,124312,124336,124350,124366,124380,124386,124388,124392,124406,124442,124462,124466,124468,124494,124508,124514,124520,124558,124572,124600,124610,124612,124616,124624,124646,124666,124694,124710,124716,124730,124742,124748,124760,124786,124788,124818,124820,124834,124836,124840,124854,124946,124948,124962,124964,124968,124982,124994,124996,125e3,125008,125022,125030,125036,125050,125058,125060,125064,125072,125086,125088,125116,125126,125132,125144,125166,125170,125172,125186,125188,125192,125200,125216,125244,125248,125304,125318,125324,125336,125360,125374,125390,125404,125410,125412,125416,125430,125444,125448,125456,125472,125504,125560,125680,125702,125708,125720,125744,125758,125792,125820,125838,125852,125880,125890,125892,125896,125904,125918,125926,125932,125978,125998,126002,126004,126030,126044,126050,126052,126056,126094,126108,126136,126146,126148,126152,126160,126182,126202,126222,126236,126264,126320,126334,126338,126340,126344,126352,126366,126368,126412,126450,126452,126486,126502,126508,126522,126534,126540,126552,126574,126578,126580,126598,126604,126616,126640,126654,126670,126684,126690,126692,126696,126738,126754,126756,126760,126774,126786,126788,126792,126800,126814,126822,126828,126842,126894,126898,126900,126934,127126,127142,127148,127162,127178,127186,127188,127254,127270,127276,127290,127302,127308,127320,127342,127346,127348,127370,127378,127380,127394,127396,127400,127450,127510,127526,127532,127546,127558,127576,127598,127602,127604,127622,127628,127640,127664,127678,127694,127708,127714,127716,127720,127734,127754,127762,127764,127778,127784,127810,127812,127816,127824,127838,127846,127866,127898,127918,127922,127924,128022,128038,128044,128058,128070,128076,128088,128110,128114,128116,128134,128140,128152,128176,128190,128206,128220,128226,128228,128232,128246,128262,128268,128280,128304,128318,128352,128380,128398,128412,128440,128450,128452,128456,128464,128478,128486,128492,128506,128522,128530,128532,128546,128548,128552,128566,128578,128580,128584,128592,128606,128614,128634,128642,128644,128648,128656,128670,128672,128700,128716,128754,128756,128794,128814,128818,128820,128846,128860,128866,128868,128872,128886,128918,128934,128940,128954,128978,128980,129178,129198,129202,129204,129238,129258,129306,129326,129330,129332,129358,129372,129378,129380,129384,129398,129430,129446,129452,129466,129482,129490,129492,129562,129582,129586,129588,129614,129628,129634,129636,129640,129654,129678,129692,129720,129730,129732,129736,129744,129758,129766,129772,129814,129830,129836,129850,129862,129868,129880,129902,129906,129908,129930,129938,129940,129954,129956,129960,129974,130010]),t.CODEWORD_TABLE=Int32Array.from([2627,1819,2622,2621,1813,1812,2729,2724,2723,2779,2774,2773,902,896,908,868,865,861,859,2511,873,871,1780,835,2493,825,2491,842,837,844,1764,1762,811,810,809,2483,807,2482,806,2480,815,814,813,812,2484,817,816,1745,1744,1742,1746,2655,2637,2635,2626,2625,2623,2628,1820,2752,2739,2737,2728,2727,2725,2730,2785,2783,2778,2777,2775,2780,787,781,747,739,736,2413,754,752,1719,692,689,681,2371,678,2369,700,697,694,703,1688,1686,642,638,2343,631,2341,627,2338,651,646,643,2345,654,652,1652,1650,1647,1654,601,599,2322,596,2321,594,2319,2317,611,610,608,606,2324,603,2323,615,614,612,1617,1616,1614,1612,616,1619,1618,2575,2538,2536,905,901,898,909,2509,2507,2504,870,867,864,860,2512,875,872,1781,2490,2489,2487,2485,1748,836,834,832,830,2494,827,2492,843,841,839,845,1765,1763,2701,2676,2674,2653,2648,2656,2634,2633,2631,2629,1821,2638,2636,2770,2763,2761,2750,2745,2753,2736,2735,2733,2731,1848,2740,2738,2786,2784,591,588,576,569,566,2296,1590,537,534,526,2276,522,2274,545,542,539,548,1572,1570,481,2245,466,2242,462,2239,492,485,482,2249,496,494,1534,1531,1528,1538,413,2196,406,2191,2188,425,419,2202,415,2199,432,430,427,1472,1467,1464,433,1476,1474,368,367,2160,365,2159,362,2157,2155,2152,378,377,375,2166,372,2165,369,2162,383,381,379,2168,1419,1418,1416,1414,385,1411,384,1423,1422,1420,1424,2461,802,2441,2439,790,786,783,794,2409,2406,2403,750,742,738,2414,756,753,1720,2367,2365,2362,2359,1663,693,691,684,2373,680,2370,702,699,696,704,1690,1687,2337,2336,2334,2332,1624,2329,1622,640,637,2344,634,2342,630,2340,650,648,645,2346,655,653,1653,1651,1649,1655,2612,2597,2595,2571,2568,2565,2576,2534,2529,2526,1787,2540,2537,907,904,900,910,2503,2502,2500,2498,1768,2495,1767,2510,2508,2506,869,866,863,2513,876,874,1782,2720,2713,2711,2697,2694,2691,2702,2672,2670,2664,1828,2678,2675,2647,2646,2644,2642,1823,2639,1822,2654,2652,2650,2657,2771,1855,2765,2762,1850,1849,2751,2749,2747,2754,353,2148,344,342,336,2142,332,2140,345,1375,1373,306,2130,299,2128,295,2125,319,314,311,2132,1354,1352,1349,1356,262,257,2101,253,2096,2093,274,273,267,2107,263,2104,280,278,275,1316,1311,1308,1320,1318,2052,202,2050,2044,2040,219,2063,212,2060,208,2055,224,221,2066,1260,1258,1252,231,1248,229,1266,1264,1261,1268,155,1998,153,1996,1994,1991,1988,165,164,2007,162,2006,159,2003,2e3,172,171,169,2012,166,2010,1186,1184,1182,1179,175,1176,173,1192,1191,1189,1187,176,1194,1193,2313,2307,2305,592,589,2294,2292,2289,578,572,568,2297,580,1591,2272,2267,2264,1547,538,536,529,2278,525,2275,547,544,541,1574,1571,2237,2235,2229,1493,2225,1489,478,2247,470,2244,465,2241,493,488,484,2250,498,495,1536,1533,1530,1539,2187,2186,2184,2182,1432,2179,1430,2176,1427,414,412,2197,409,2195,405,2193,2190,426,424,421,2203,418,2201,431,429,1473,1471,1469,1466,434,1477,1475,2478,2472,2470,2459,2457,2454,2462,803,2437,2432,2429,1726,2443,2440,792,789,785,2401,2399,2393,1702,2389,1699,2411,2408,2405,745,741,2415,758,755,1721,2358,2357,2355,2353,1661,2350,1660,2347,1657,2368,2366,2364,2361,1666,690,687,2374,683,2372,701,698,705,1691,1689,2619,2617,2610,2608,2605,2613,2593,2588,2585,1803,2599,2596,2563,2561,2555,1797,2551,1795,2573,2570,2567,2577,2525,2524,2522,2520,1786,2517,1785,2514,1783,2535,2533,2531,2528,1788,2541,2539,906,903,911,2721,1844,2715,2712,1838,1836,2699,2696,2693,2703,1827,1826,1824,2673,2671,2669,2666,1829,2679,2677,1858,1857,2772,1854,1853,1851,1856,2766,2764,143,1987,139,1986,135,133,131,1984,128,1983,125,1981,138,137,136,1985,1133,1132,1130,112,110,1974,107,1973,104,1971,1969,122,121,119,117,1977,114,1976,124,1115,1114,1112,1110,1117,1116,84,83,1953,81,1952,78,1950,1948,1945,94,93,91,1959,88,1958,85,1955,99,97,95,1961,1086,1085,1083,1081,1078,100,1090,1089,1087,1091,49,47,1917,44,1915,1913,1910,1907,59,1926,56,1925,53,1922,1919,66,64,1931,61,1929,1042,1040,1038,71,1035,70,1032,68,1048,1047,1045,1043,1050,1049,12,10,1869,1867,1864,1861,21,1880,19,1877,1874,1871,28,1888,25,1886,22,1883,982,980,977,974,32,30,991,989,987,984,34,995,994,992,2151,2150,2147,2146,2144,356,355,354,2149,2139,2138,2136,2134,1359,343,341,338,2143,335,2141,348,347,346,1376,1374,2124,2123,2121,2119,1326,2116,1324,310,308,305,2131,302,2129,298,2127,320,318,316,313,2133,322,321,1355,1353,1351,1357,2092,2091,2089,2087,1276,2084,1274,2081,1271,259,2102,256,2100,252,2098,2095,272,269,2108,266,2106,281,279,277,1317,1315,1313,1310,282,1321,1319,2039,2037,2035,2032,1203,2029,1200,1197,207,2053,205,2051,201,2049,2046,2043,220,218,2064,215,2062,211,2059,228,226,223,2069,1259,1257,1254,232,1251,230,1267,1265,1263,2316,2315,2312,2311,2309,2314,2304,2303,2301,2299,1593,2308,2306,590,2288,2287,2285,2283,1578,2280,1577,2295,2293,2291,579,577,574,571,2298,582,581,1592,2263,2262,2260,2258,1545,2255,1544,2252,1541,2273,2271,2269,2266,1550,535,532,2279,528,2277,546,543,549,1575,1573,2224,2222,2220,1486,2217,1485,2214,1482,1479,2238,2236,2234,2231,1496,2228,1492,480,477,2248,473,2246,469,2243,490,487,2251,497,1537,1535,1532,2477,2476,2474,2479,2469,2468,2466,2464,1730,2473,2471,2453,2452,2450,2448,1729,2445,1728,2460,2458,2456,2463,805,804,2428,2427,2425,2423,1725,2420,1724,2417,1722,2438,2436,2434,2431,1727,2444,2442,793,791,788,795,2388,2386,2384,1697,2381,1696,2378,1694,1692,2402,2400,2398,2395,1703,2392,1701,2412,2410,2407,751,748,744,2416,759,757,1807,2620,2618,1806,1805,2611,2609,2607,2614,1802,1801,1799,2594,2592,2590,2587,1804,2600,2598,1794,1793,1791,1789,2564,2562,2560,2557,1798,2554,1796,2574,2572,2569,2578,1847,1846,2722,1843,1842,1840,1845,2716,2714,1835,1834,1832,1830,1839,1837,2700,2698,2695,2704,1817,1811,1810,897,862,1777,829,826,838,1760,1758,808,2481,1741,1740,1738,1743,2624,1818,2726,2776,782,740,737,1715,686,679,695,1682,1680,639,628,2339,647,644,1645,1643,1640,1648,602,600,597,595,2320,593,2318,609,607,604,1611,1610,1608,1606,613,1615,1613,2328,926,924,892,886,899,857,850,2505,1778,824,823,821,819,2488,818,2486,833,831,828,840,1761,1759,2649,2632,2630,2746,2734,2732,2782,2781,570,567,1587,531,527,523,540,1566,1564,476,467,463,2240,486,483,1524,1521,1518,1529,411,403,2192,399,2189,423,416,1462,1457,1454,428,1468,1465,2210,366,363,2158,360,2156,357,2153,376,373,370,2163,1410,1409,1407,1405,382,1402,380,1417,1415,1412,1421,2175,2174,777,774,771,784,732,725,722,2404,743,1716,676,674,668,2363,665,2360,685,1684,1681,626,624,622,2335,620,2333,617,2330,641,635,649,1646,1644,1642,2566,928,925,2530,2527,894,891,888,2501,2499,2496,858,856,854,851,1779,2692,2668,2665,2645,2643,2640,2651,2768,2759,2757,2744,2743,2741,2748,352,1382,340,337,333,1371,1369,307,300,296,2126,315,312,1347,1342,1350,261,258,250,2097,246,2094,271,268,264,1306,1301,1298,276,1312,1309,2115,203,2048,195,2045,191,2041,213,209,2056,1246,1244,1238,225,1234,222,1256,1253,1249,1262,2080,2079,154,1997,150,1995,147,1992,1989,163,160,2004,156,2001,1175,1174,1172,1170,1167,170,1164,167,1185,1183,1180,1177,174,1190,1188,2025,2024,2022,587,586,564,559,556,2290,573,1588,520,518,512,2268,508,2265,530,1568,1565,461,457,2233,450,2230,446,2226,479,471,489,1526,1523,1520,397,395,2185,392,2183,389,2180,2177,410,2194,402,422,1463,1461,1459,1456,1470,2455,799,2433,2430,779,776,773,2397,2394,2390,734,728,724,746,1717,2356,2354,2351,2348,1658,677,675,673,670,667,688,1685,1683,2606,2589,2586,2559,2556,2552,927,2523,2521,2518,2515,1784,2532,895,893,890,2718,2709,2707,2689,2687,2684,2663,2662,2660,2658,1825,2667,2769,1852,2760,2758,142,141,1139,1138,134,132,129,126,1982,1129,1128,1126,1131,113,111,108,105,1972,101,1970,120,118,115,1109,1108,1106,1104,123,1113,1111,82,79,1951,75,1949,72,1946,92,89,86,1956,1077,1076,1074,1072,98,1069,96,1084,1082,1079,1088,1968,1967,48,45,1916,42,1914,39,1911,1908,60,57,54,1923,50,1920,1031,1030,1028,1026,67,1023,65,1020,62,1041,1039,1036,1033,69,1046,1044,1944,1943,1941,11,9,1868,7,1865,1862,1859,20,1878,16,1875,13,1872,970,968,966,963,29,960,26,23,983,981,978,975,33,971,31,990,988,985,1906,1904,1902,993,351,2145,1383,331,330,328,326,2137,323,2135,339,1372,1370,294,293,291,289,2122,286,2120,283,2117,309,303,317,1348,1346,1344,245,244,242,2090,239,2088,236,2085,2082,260,2099,249,270,1307,1305,1303,1300,1314,189,2038,186,2036,183,2033,2030,2026,206,198,2047,194,216,1247,1245,1243,1240,227,1237,1255,2310,2302,2300,2286,2284,2281,565,563,561,558,575,1589,2261,2259,2256,2253,1542,521,519,517,514,2270,511,533,1569,1567,2223,2221,2218,2215,1483,2211,1480,459,456,453,2232,449,474,491,1527,1525,1522,2475,2467,2465,2451,2449,2446,801,800,2426,2424,2421,2418,1723,2435,780,778,775,2387,2385,2382,2379,1695,2375,1693,2396,735,733,730,727,749,1718,2616,2615,2604,2603,2601,2584,2583,2581,2579,1800,2591,2550,2549,2547,2545,1792,2542,1790,2558,929,2719,1841,2710,2708,1833,1831,2690,2688,2686,1815,1809,1808,1774,1756,1754,1737,1736,1734,1739,1816,1711,1676,1674,633,629,1638,1636,1633,1641,598,1605,1604,1602,1600,605,1609,1607,2327,887,853,1775,822,820,1757,1755,1584,524,1560,1558,468,464,1514,1511,1508,1519,408,404,400,1452,1447,1444,417,1458,1455,2208,364,361,358,2154,1401,1400,1398,1396,374,1393,371,1408,1406,1403,1413,2173,2172,772,726,723,1712,672,669,666,682,1678,1675,625,623,621,618,2331,636,632,1639,1637,1635,920,918,884,880,889,849,848,847,846,2497,855,852,1776,2641,2742,2787,1380,334,1367,1365,301,297,1340,1338,1335,1343,255,251,247,1296,1291,1288,265,1302,1299,2113,204,196,192,2042,1232,1230,1224,214,1220,210,1242,1239,1235,1250,2077,2075,151,148,1993,144,1990,1163,1162,1160,1158,1155,161,1152,157,1173,1171,1168,1165,168,1181,1178,2021,2020,2018,2023,585,560,557,1585,516,509,1562,1559,458,447,2227,472,1516,1513,1510,398,396,393,390,2181,386,2178,407,1453,1451,1449,1446,420,1460,2209,769,764,720,712,2391,729,1713,664,663,661,659,2352,656,2349,671,1679,1677,2553,922,919,2519,2516,885,883,881,2685,2661,2659,2767,2756,2755,140,1137,1136,130,127,1125,1124,1122,1127,109,106,102,1103,1102,1100,1098,116,1107,1105,1980,80,76,73,1947,1068,1067,1065,1063,90,1060,87,1075,1073,1070,1080,1966,1965,46,43,40,1912,36,1909,1019,1018,1016,1014,58,1011,55,1008,51,1029,1027,1024,1021,63,1037,1034,1940,1939,1937,1942,8,1866,4,1863,1,1860,956,954,952,949,946,17,14,969,967,964,961,27,957,24,979,976,972,1901,1900,1898,1896,986,1905,1903,350,349,1381,329,327,324,1368,1366,292,290,287,284,2118,304,1341,1339,1337,1345,243,240,237,2086,233,2083,254,1297,1295,1293,1290,1304,2114,190,187,184,2034,180,2031,177,2027,199,1233,1231,1229,1226,217,1223,1241,2078,2076,584,555,554,552,550,2282,562,1586,507,506,504,502,2257,499,2254,515,1563,1561,445,443,441,2219,438,2216,435,2212,460,454,475,1517,1515,1512,2447,798,797,2422,2419,770,768,766,2383,2380,2376,721,719,717,714,731,1714,2602,2582,2580,2548,2546,2543,923,921,2717,2706,2705,2683,2682,2680,1771,1752,1750,1733,1732,1731,1735,1814,1707,1670,1668,1631,1629,1626,1634,1599,1598,1596,1594,1603,1601,2326,1772,1753,1751,1581,1554,1552,1504,1501,1498,1509,1442,1437,1434,401,1448,1445,2206,1392,1391,1389,1387,1384,359,1399,1397,1394,1404,2171,2170,1708,1672,1669,619,1632,1630,1628,1773,1378,1363,1361,1333,1328,1336,1286,1281,1278,248,1292,1289,2111,1218,1216,1210,197,1206,193,1228,1225,1221,1236,2073,2071,1151,1150,1148,1146,152,1143,149,1140,145,1161,1159,1156,1153,158,1169,1166,2017,2016,2014,2019,1582,510,1556,1553,452,448,1506,1500,394,391,387,1443,1441,1439,1436,1450,2207,765,716,713,1709,662,660,657,1673,1671,916,914,879,878,877,882,1135,1134,1121,1120,1118,1123,1097,1096,1094,1092,103,1101,1099,1979,1059,1058,1056,1054,77,1051,74,1066,1064,1061,1071,1964,1963,1007,1006,1004,1002,999,41,996,37,1017,1015,1012,1009,52,1025,1022,1936,1935,1933,1938,942,940,938,935,932,5,2,955,953,950,947,18,943,15,965,962,958,1895,1894,1892,1890,973,1899,1897,1379,325,1364,1362,288,285,1334,1332,1330,241,238,234,1287,1285,1283,1280,1294,2112,188,185,181,178,2028,1219,1217,1215,1212,200,1209,1227,2074,2072,583,553,551,1583,505,503,500,513,1557,1555,444,442,439,436,2213,455,451,1507,1505,1502,796,763,762,760,767,711,710,708,706,2377,718,715,1710,2544,917,915,2681,1627,1597,1595,2325,1769,1749,1747,1499,1438,1435,2204,1390,1388,1385,1395,2169,2167,1704,1665,1662,1625,1623,1620,1770,1329,1282,1279,2109,1214,1207,1222,2068,2065,1149,1147,1144,1141,146,1157,1154,2013,2011,2008,2015,1579,1549,1546,1495,1487,1433,1431,1428,1425,388,1440,2205,1705,658,1667,1664,1119,1095,1093,1978,1057,1055,1052,1062,1962,1960,1005,1003,1e3,997,38,1013,1010,1932,1930,1927,1934,941,939,936,933,6,930,3,951,948,944,1889,1887,1884,1881,959,1893,1891,35,1377,1360,1358,1327,1325,1322,1331,1277,1275,1272,1269,235,1284,2110,1205,1204,1201,1198,182,1195,179,1213,2070,2067,1580,501,1551,1548,440,437,1497,1494,1490,1503,761,709,707,1706,913,912,2198,1386,2164,2161,1621,1766,2103,1208,2058,2054,1145,1142,2005,2002,1999,2009,1488,1429,1426,2200,1698,1659,1656,1975,1053,1957,1954,1001,998,1924,1921,1918,1928,937,934,931,1879,1876,1873,1870,945,1885,1882,1323,1273,1270,2105,1202,1199,1196,1211,2061,2057,1576,1543,1540,1484,1481,1478,1491,1700]),t}(),pn=function(){function t(t,e){this.bits=t,this.points=e}return t.prototype.getBits=function(){return this.bits},t.prototype.getPoints=function(){return this.points},t}(),gn=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},yn=function(){function t(){}return t.detectMultiple=function(e,r,n){var o=e.getBlackMatrix(),i=t.detect(n,o);return i.length||((o=o.clone()).rotate180(),i=t.detect(n,o)),new pn(o,i)},t.detect=function(e,r){for(var n,o,i=new Array,a=0,s=0,u=!1;a0;){if(null==(l=t.findGuardPattern(e,i,--o,n,!1,a,c))){o++;break}d=l}s[0]=new wt(d[0],o),s[1]=new wt(d[1],o),u=!0;break}}var f=o+1;if(u){for(var h=0,l=Int32Array.from([Math.trunc(s[0].getX()),Math.trunc(s[1].getX())]);ft.SKIPPED_ROW_COUNT_MAX)break;h++}}f-=h+1,s[2]=new wt(l[0],f),s[3]=new wt(l[1],f)}return f-o0&&c++h?f-h:h-f;if(l>r)return 1/0;u+=l}return u/o},t.INDEXES_START_PATTERN=Int32Array.from([0,4,1,5]),t.INDEXES_STOP_PATTERN=Int32Array.from([6,2,7,3]),t.MAX_AVG_VARIANCE=.42,t.MAX_INDIVIDUAL_VARIANCE=.8,t.START_PATTERN=Int32Array.from([8,1,1,1,1,1,1,3]),t.STOP_PATTERN=Int32Array.from([7,1,1,3,1,1,1,2,1]),t.MAX_PIXEL_DRIFT=3,t.MAX_PATTERN_DRIFT=5,t.SKIPPED_ROW_COUNT_MAX=25,t.ROW_STEP=5,t.BARCODE_MIN_HEIGHT=10,t}(),wn=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},vn=function(){function t(t,e){if(0===e.length)throw new u;this.field=t;var r=e.length;if(r>1&&0===e[0]){for(var n=1;nn.length){var o=r;r=n,n=o}var i=new Int32Array(n.length),a=n.length-r.length;d.arraycopy(n,0,i,0,a);for(var s=a;s=0;e--){var r=this.getCoefficient(e);0!==r&&(r<0?(t.append(" - "),r=-r):t.length()>0&&t.append(" + "),0!==e&&1===r||t.append(r),0!==e&&(1===e?t.append("x"):(t.append("x^"),t.append(e))))}return t.toString()},t}(),Cn=function(){function t(){}return t.prototype.add=function(t,e){return(t+e)%this.modulus},t.prototype.subtract=function(t,e){return(this.modulus+t-e)%this.modulus},t.prototype.exp=function(t){return this.expTable[t]},t.prototype.log=function(t){if(0===t)throw new u;return this.logTable[t]},t.prototype.inverse=function(t){if(0===t)throw new at;return this.expTable[this.modulus-this.logTable[t]-1]},t.prototype.multiply=function(t,e){return 0===t||0===e?0:this.expTable[(this.logTable[t]+this.logTable[e])%(this.modulus-1)]},t.prototype.getSize=function(){return this.modulus},t.prototype.equals=function(t){return t===this},t}(),_n=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),An=function(t){function e(e,r){var n=t.call(this)||this;n.modulus=e,n.expTable=new Int32Array(e),n.logTable=new Int32Array(e);for(var o=1,i=0;i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},En=function(){function t(){this.field=An.PDF417_GF}return t.prototype.decode=function(t,e,r){for(var n,o,i=new vn(this.field,t),a=new Int32Array(e),s=!1,u=e;u>0;u--){var c=i.evaluateAt(this.field.exp(u));a[e-u]=c,0!==c&&(s=!0)}if(!s)return 0;var f=this.field.getOne();if(null!=r)try{for(var l=mn(r),d=l.next();!d.done;d=l.next()){var p=d.value,g=this.field.exp(t.length-1-p),y=new vn(this.field,new Int32Array([this.field.subtract(0,g),1]));f=f.multiply(y)}}catch(t){n={error:t}}finally{try{d&&!d.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}var w=new vn(this.field,a),v=this.runEuclideanAlgorithm(this.field.buildMonomial(e,1),w,e),C=v[0],_=v[1],A=this.findErrorLocations(C),m=this.findErrorMagnitudes(_,C,A);for(u=0;u=Math.round(r/2);){var u=o,c=a;if(a=s,(o=i).isZero())throw h.getChecksumInstance();i=u;for(var f=this.field.getZero(),l=o.getCoefficient(o.getDegree()),d=this.field.inverse(l);i.getDegree()>=o.getDegree()&&!i.isZero();){var p=i.getDegree()-o.getDegree(),g=this.field.multiply(i.getCoefficient(i.getDegree()),d);f=f.add(this.field.buildMonomial(p,g)),i=i.subtract(o.multiplyByMonomial(p,g))}s=f.multiply(a).subtract(c).negative()}var y=s.getCoefficient(0);if(0===y)throw h.getChecksumInstance();var w=this.field.inverse(y);return[s.multiply(w),i.multiply(w)]},t.prototype.findErrorLocations=function(t){for(var e=t.getDegree(),r=new Int32Array(e),n=0,o=1;o0){var u=n?this.topLeft:this.topRight,c=Math.trunc(u.getY()-e);c<0&&(c=0);var f=new wt(u.getX(),c);n?o=f:a=f}if(r>0){var h=n?this.bottomLeft:this.bottomRight,l=Math.trunc(h.getY()+r);l>=this.image.getHeight()&&(l=this.image.getHeight()-1);var d=new wt(h.getX(),l);n?i=d:s=d}return new t(this.image,o,i,a,s)},t.prototype.getMinX=function(){return this.minX},t.prototype.getMaxX=function(){return this.maxX},t.prototype.getMinY=function(){return this.minY},t.prototype.getMaxY=function(){return this.maxY},t.prototype.getTopLeft=function(){return this.topLeft},t.prototype.getTopRight=function(){return this.topRight},t.prototype.getBottomLeft=function(){return this.bottomLeft},t.prototype.getBottomRight=function(){return this.bottomRight},t}(),Sn=function(){function t(t,e,r,n){this.columnCount=t,this.errorCorrectionLevel=n,this.rowCountUpperPart=e,this.rowCountLowerPart=r,this.rowCount=e+r}return t.prototype.getColumnCount=function(){return this.columnCount},t.prototype.getErrorCorrectionLevel=function(){return this.errorCorrectionLevel},t.prototype.getRowCount=function(){return this.rowCount},t.prototype.getRowCountUpperPart=function(){return this.rowCountUpperPart},t.prototype.getRowCountLowerPart=function(){return this.rowCountLowerPart},t}(),Tn=function(){function t(){this.buffer=""}return t.form=function(t,e){var r=-1;return t.replace(/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g,(function(t,n,o,i,a,s){if("%%"===t)return"%";if(void 0!==e[++r]){t=i?parseInt(i.substr(1)):void 0;var u,c=a?parseInt(a.substr(1)):void 0;switch(s){case"s":u=e[r];break;case"c":u=e[r][0];break;case"f":u=parseFloat(e[r]).toFixed(t);break;case"p":u=parseFloat(e[r]).toPrecision(t);break;case"e":u=parseFloat(e[r]).toExponential(t);break;case"x":u=parseInt(e[r]).toString(c||16);break;case"d":u=parseFloat(parseInt(e[r],c||10).toPrecision(t)).toFixed(0)}u="object"==typeof u?JSON.stringify(u):(+u).toString(c);for(var f=parseInt(o),h=o&&o[0]+""=="0"?"0":" ";u.length=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},bn=function(){function t(t){this.boundingBox=new In(t),this.codewords=new Array(t.getMaxY()-t.getMinY()+1)}return t.prototype.getCodewordNearby=function(e){var r=this.getCodeword(e);if(null!=r)return r;for(var n=1;n=0&&null!=(r=this.codewords[o]))return r;if((o=this.imageRowToCodewordIndex(e)+n)=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Nn=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},Dn=function(){function t(){this.values=new Map}return t.prototype.setValue=function(t){t=Math.trunc(t);var e=this.values.get(t);null==e&&(e=0),e++,this.values.set(t,e)},t.prototype.getValue=function(){var t,e,r=-1,n=new Array,o=function(t,e){var o=function(){return t},i=function(){return e};i()>r?(r=i(),(n=[]).push(o())):i()===r&&n.push(o())};try{for(var i=Rn(this.values.entries()),a=i.next();!a.done;a=i.next()){var s=Nn(a.value,2);o(s[0],s[1])}}catch(e){t={error:e}}finally{try{a&&!a.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}return dn.toIntArray(n)},t.prototype.getConfidence=function(t){return this.values.get(t)},t}(),Mn=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Pn=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Bn=function(t){function e(e,r){var n=t.call(this,e)||this;return n._isLeft=r,n}return Mn(e,t),e.prototype.setRowNumbers=function(){var t,e;try{for(var r=Pn(this.getCodewords()),n=r.next();!n.done;n=r.next()){var o=n.value;null!=o&&o.setRowNumberAsRowIndicatorColumn()}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},e.prototype.adjustCompleteIndicatorColumnRowNumbers=function(t){var e=this.getCodewords();this.setRowNumbers(),this.removeIncorrectCodewords(e,t);for(var r=this.getBoundingBox(),n=this._isLeft?r.getTopLeft():r.getTopRight(),o=this._isLeft?r.getBottomLeft():r.getBottomRight(),i=this.imageRowToCodewordIndex(Math.trunc(n.getY())),a=this.imageRowToCodewordIndex(Math.trunc(o.getY())),s=-1,u=1,c=0,f=i;f=t.getRowCount()||l>f)e[f]=null;else{for(var d=void 0,p=(d=u>2?(u-2)*l:l)>=f,g=1;g<=d&&!p;g++)p=null!=e[f-g];p?e[f]=null:(s=h.getRowNumber(),c=1)}}},e.prototype.getRowHeights=function(){var t,e,r=this.getBarcodeMetadata();if(null==r)return null;this.adjustIncompleteIndicatorColumnRowNumbers(r);var n=new Int32Array(r.getRowCount());try{for(var o=Pn(this.getCodewords()),i=o.next();!i.done;i=o.next()){var a=i.value;if(null!=a){var s=a.getRowNumber();if(s>=n.length)continue;n[s]++}}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return n},e.prototype.adjustIncompleteIndicatorColumnRowNumbers=function(t){for(var e=this.getBoundingBox(),r=this._isLeft?e.getTopLeft():e.getTopRight(),n=this._isLeft?e.getBottomLeft():e.getBottomRight(),o=this.imageRowToCodewordIndex(Math.trunc(r.getY())),i=this.imageRowToCodewordIndex(Math.trunc(n.getY())),a=this.getCodewords(),s=-1,u=o;u=t.getRowCount()?a[u]=null:s=c.getRowNumber())}},e.prototype.getBarcodeMetadata=function(){var t,e,r=this.getCodewords(),n=new Dn,o=new Dn,i=new Dn,a=new Dn;try{for(var s=Pn(r),u=s.next();!u.done;u=s.next()){var c=u.value;if(null!=c){c.setRowNumberAsRowIndicatorColumn();var f=c.getValue()%30,h=c.getRowNumber();switch(this._isLeft||(h+=2),h%3){case 0:o.setValue(3*f+1);break;case 1:a.setValue(f/3),i.setValue(f%3);break;case 2:n.setValue(f+1)}}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(e=s.return)&&e.call(s)}finally{if(t)throw t.error}}if(0===n.getValue().length||0===o.getValue().length||0===i.getValue().length||0===a.getValue().length||n.getValue()[0]<1||o.getValue()[0]+i.getValue()[0]dn.MAX_ROWS_IN_BARCODE)return null;var l=new Sn(n.getValue()[0],o.getValue()[0],i.getValue()[0],a.getValue()[0]);return this.removeIncorrectCodewords(r,l),l},e.prototype.removeIncorrectCodewords=function(t,e){for(var r=0;re.getRowCount())t[r]=null;else switch(this._isLeft||(i+=2),i%3){case 0:3*o+1!==e.getRowCountUpperPart()&&(t[r]=null);break;case 1:Math.trunc(o/3)===e.getErrorCorrectionLevel()&&o%3===e.getRowCountLowerPart()||(t[r]=null);break;case 2:o+1!==e.getColumnCount()&&(t[r]=null)}}}},e.prototype.isLeft=function(){return this._isLeft},e.prototype.toString=function(){return"IsLeft: "+this._isLeft+"\n"+t.prototype.toString.call(this)},e}(bn),Ln=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Fn=function(){function t(t,e){this.ADJUST_ROW_NUMBER_SKIP=2,this.barcodeMetadata=t,this.barcodeColumnCount=t.getColumnCount(),this.boundingBox=e,this.detectionResultColumns=new Array(this.barcodeColumnCount+2)}return t.prototype.getDetectionResultColumns=function(){this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[0]),this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[this.barcodeColumnCount+1]);var t,e=dn.MAX_CODEWORDS_IN_BARCODE;do{t=e,e=this.adjustRowNumbersAndGetCount()}while(e>0&&e0&&i0&&(c[0]=n[r-1],c[4]=s[r-1],c[5]=u[r-1]),r>1&&(c[8]=n[r-2],c[10]=s[r-2],c[11]=u[r-2]),r>=1;n=1&r,t.RATIOS_TABLE[e]||(t.RATIOS_TABLE[e]=new Array(dn.BARS_IN_MODULE)),t.RATIOS_TABLE[e][dn.BARS_IN_MODULE-o-1]=Math.fround(i/dn.MODULES_IN_CODEWORD)}this.bSymbolTableReady=!0},t.getDecodedValue=function(e){var r=t.getDecodedCodewordValue(t.sampleBitCounts(e));return-1!==r?r:t.getClosestDecodedValue(e)},t.sampleBitCounts=function(t){for(var e=gt.sum(t),r=new Int32Array(dn.BARS_IN_MODULE),n=0,o=0,i=0;i1)for(var o=0;o=i)break}ut.length||r<0||e+r>t.length||e+r<0)throw new g;if(0!==r)for(var n=0;n0&&this.grow(t)},e.prototype.grow=function(t){var e=this.buf.length<<1;if(e-t<0&&(e=t),e<0){if(t<0)throw new jn;e=_.MAX_VALUE}this.buf=C.copyOfUint8Array(this.buf,e)},e.prototype.write=function(t){this.ensureCapacity(this.count+1),this.buf[this.count]=t,this.count+=1},e.prototype.writeBytesOffset=function(t,e,r){if(e<0||e>t.length||r<0||e+r-t.length>0)throw new g;this.ensureCapacity(this.count+r),d.arraycopy(t,e,this.buf,this.count,r),this.count+=r},e.prototype.writeTo=function(t){t.writeBytesOffset(this.buf,0,this.count)},e.prototype.reset=function(){this.count=0},e.prototype.toByteArray=function(){return C.copyOfUint8Array(this.buf,this.count)},e.prototype.size=function(){return this.count},e.prototype.toString=function(t){return t?"string"==typeof t?this.toString_string(t):this.toString_number(t):this.toString_void()},e.prototype.toString_void=function(){return new String(this.buf).toString()},e.prototype.toString_string=function(t){return new String(this.buf).toString()},e.prototype.toString_number=function(t){return new String(this.buf).toString()},e.prototype.close=function(){},e}(Wn);function Kn(){if("undefined"!=typeof window)return window.BigInt||null;if(void 0!==Vn)return Vn.BigInt||null;if("undefined"!=typeof self)return self.BigInt||null;throw new Error("Can't search globals for BigInt!")}function qn(t){if(void 0===Zr&&(Zr=Kn()),null===Zr)throw new Error("BigInt is not supported!");return Zr(t)}!function(t){t[t.ALPHA=0]="ALPHA",t[t.LOWER=1]="LOWER",t[t.MIXED=2]="MIXED",t[t.PUNCT=3]="PUNCT",t[t.ALPHA_SHIFT=4]="ALPHA_SHIFT",t[t.PUNCT_SHIFT=5]="PUNCT_SHIFT"}(Yr||(Yr={}));var Qn,Jn=function(){function t(){}return t.decode=function(e,r){var n=new P(""),o=b.ISO8859_1;n.enableDecoding(o);for(var i=1,a=e[i++],s=new Hn;ie[0])throw S.getFormatInstance();for(var o=new Int32Array(t.NUMBER_OF_SEQUENCE_CODEWORDS),i=0;i0){for(var l=0;l<6;++l)a.write(Number(qn(u)>>qn(8*(5-l))));u=0,s=0}}o===r[0]&&h0){for(l=0;l<6;++l)a.write(Number(qn(u)>>qn(8*(5-l))));u=0,s=0}}}return i.append(D.decode(a.toByteArray(),n)),o},t.numericCompaction=function(e,r,n){for(var o=0,i=!1,a=new Int32Array(t.MAX_NUMERIC_CODEWORDS);r0&&(n.append(t.decodeBase900toBase10(a,o)),o=0)}return r},t.decodeBase900toBase10=function(e,r){for(var n=qn(0),o=0;o@[\\]_`~!\r\t,:\n-.$/\"|*()?{}'",t.MIXED_CHARS="0123456789&\r\t,:#-.$/+%*=^",t.EXP900=Kn()?function(){var t=[];t[0]=qn(1);var e=qn(900);t[1]=e;for(var r=2;r<16;r++)t[r]=t[r-1]*e;return t}():[],t.NUMBER_OF_SEQUENCE_CODEWORDS=2,t}(),$n=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},to=function(){function t(){}return t.decode=function(e,r,n,o,i,a,s){for(var u,c=new In(e,r,n,o,i),f=null,h=null,l=!0;;l=!1){if(null!=r&&(f=t.getRowIndicatorColumn(e,c,r,!0,a,s)),null!=o&&(h=t.getRowIndicatorColumn(e,c,o,!1,a,s)),null==(u=t.merge(f,h)))throw F.getNotFoundInstance();var d=u.getBoundingBox();if(!l||null==d||!(d.getMinY()c.getMaxY()))break;c=d}u.setBoundingBox(c);var p=u.getBarcodeColumnCount()+1;u.setDetectionResultColumn(0,f),u.setDetectionResultColumn(p,h);for(var g=null!=f,y=1;y<=p;y++){var w=g?y:p-y;if(void 0===u.getDetectionResultColumn(w)){var v=void 0;v=0===w||w===p?new Bn(c,0===w):new bn(c),u.setDetectionResultColumn(w,v);for(var C=-1,_=C,A=c.getMinY();A<=c.getMaxY();A++){if((C=t.getStartColumn(u,w,A,g))<0||C>c.getMaxX()){if(-1===_)continue;C=_}var m=t.detectCodeword(e,c.getMinX(),c.getMaxX(),g,C,A,a,s);null!=m&&(v.setCodeword(A,m),_=C,a=Math.min(a,m.getWidth()),s=Math.max(s,m.getWidth()))}}}return t.createDecoderResult(u)},t.merge=function(e,r){if(null==e&&null==r)return null;var n=t.getBarcodeMetadata(e,r);if(null==n)return null;var o=In.merge(t.adjustBoundingBox(e),t.adjustBoundingBox(r));return new Fn(n,o)},t.adjustBoundingBox=function(e){var r,n;if(null==e)return null;var o=e.getRowHeights();if(null==o)return null;var i=t.getMax(o),a=0;try{for(var s=$n(o),u=s.next();!u.done;u=s.next()){var c=u.value;if(a+=i-c,c>0)break}}catch(t){r={error:t}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}for(var f=e.getCodewords(),h=0;a>0&&null==f[h];h++)a--;var l=0;for(h=o.length-1;h>=0&&(l+=i-o[h],!(o[h]>0));h--);for(h=f.length-1;l>0&&null==f[h];h--)l--;return e.getBoundingBox().addMissingRows(a,l,e.isLeft())},t.getMax=function(t){var e,r,n=-1;try{for(var o=$n(t),i=o.next();!i.done;i=o.next()){var a=i.value;n=Math.max(n,a)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return n},t.getBarcodeMetadata=function(t,e){var r,n;return null==t||null==(r=t.getBarcodeMetadata())?null==e?null:e.getBarcodeMetadata():null==e||null==(n=e.getBarcodeMetadata())?r:r.getColumnCount()!==n.getColumnCount()&&r.getErrorCorrectionLevel()!==n.getErrorCorrectionLevel()&&r.getRowCount()!==n.getRowCount()?null:r},t.getRowIndicatorColumn=function(e,r,n,o,i,a){for(var s=new Bn(r,o),u=0;u<2;u++)for(var c=0===u?1:-1,f=Math.trunc(Math.trunc(n.getX())),h=Math.trunc(Math.trunc(n.getY()));h<=r.getMaxY()&&h>=r.getMinY();h+=c){var l=t.detectCodeword(e,0,e.getWidth(),o,f,h,i,a);null!=l&&(s.setCodeword(h,l),f=o?l.getStartX():l.getEndX())}return s},t.adjustCodewordCount=function(e,r){var n=r[0][1],o=n.getValue(),i=e.getBarcodeColumnCount()*e.getBarcodeRowCount()-t.getNumberOfECCodeWords(e.getBarcodeECLevel());if(0===o.length){if(i<1||i>dn.MAX_CODEWORDS_IN_BARCODE)throw F.getNotFoundInstance();n.setValue(i)}else o[0]!==i&&n.setValue(i)},t.createDecoderResult=function(e){var r=t.createBarcodeMatrix(e);t.adjustCodewordCount(e,r);for(var n=new Array,o=new Int32Array(e.getBarcodeRowCount()*e.getBarcodeColumnCount()),i=[],a=new Array,s=0;s0;){for(var u=0;u=0){if(g>=i.length)continue;i[g][u].setValue(p.getValue())}}}}catch(t){n={error:t}}finally{try{d&&!d.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}u++}}catch(t){e={error:t}}finally{try{f&&!f.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}return i},t.isValidBarcodeColumn=function(t,e){return e>=0&&e<=t.getBarcodeColumnCount()+1},t.getStartColumn=function(e,r,n,o){var i,a,s=o?1:-1,u=null;if(t.isValidBarcodeColumn(e,r-s)&&(u=e.getDetectionResultColumn(r-s).getCodeword(n)),null!=u)return o?u.getEndX():u.getStartX();if(null!=(u=e.getDetectionResultColumn(r).getCodewordNearby(n)))return o?u.getStartX():u.getEndX();if(t.isValidBarcodeColumn(e,r-s)&&(u=e.getDetectionResultColumn(r-s).getCodewordNearby(n)),null!=u)return o?u.getEndX():u.getStartX();for(var c=0;t.isValidBarcodeColumn(e,r-s);){r-=s;try{for(var f=(i=void 0,$n(e.getDetectionResultColumn(r).getCodewords())),h=f.next();!h.done;h=f.next()){var l=h.value;if(null!=l)return(o?l.getEndX():l.getStartX())+s*c*(l.getEndX()-l.getStartX())}}catch(t){i={error:t}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(i)throw i.error}}c++}return o?e.getBoundingBox().getMinX():e.getBoundingBox().getMaxX()},t.detectCodeword=function(e,r,n,o,i,a,s,u){i=t.adjustCodewordStartColumn(e,r,n,o,i,a);var c,f=t.getModuleBitCount(e,r,n,o,i,a);if(null==f)return null;var h=gt.sum(f);if(o)c=i+h;else{for(var l=0;l=e)&&u=r:st.CODEWORD_SKEW_SIZE)return i;s+=u}u=-u,o=!o}return s},t.checkCodewordSkew=function(e,r,n){return r-t.CODEWORD_SKEW_SIZE<=e&&e<=n+t.CODEWORD_SKEW_SIZE},t.decodeCodewords=function(e,r,n){if(0===e.length)throw S.getFormatInstance();var o=1<n/2+t.MAX_ERRORS||n<0||n>t.MAX_EC_CODEWORDS)throw h.getChecksumInstance();return t.errorCorrection.decode(e,n,r)},t.verifyCodewordCount=function(t,e){if(t.length<4)throw S.getFormatInstance();var r=t[0];if(r>t.length)throw S.getFormatInstance();if(0===r){if(!(e>=1;return e},t.getCodewordBucketNumber=function(t){return t instanceof Int32Array?this.getCodewordBucketNumber_Int32Array(t):this.getCodewordBucketNumber_number(t)},t.getCodewordBucketNumber_number=function(e){return t.getCodewordBucketNumber(t.getBitCountForCodeword(e))},t.getCodewordBucketNumber_Int32Array=function(t){return(t[0]-t[2]+t[4]-t[6]+9)%9},t.toString=function(t){for(var e=new Tn,r=0;r=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},ro=function(){function t(){}return t.prototype.decode=function(e,r){void 0===r&&(r=null);var n=t.decode(e,r,!1);if(null==n||0===n.length||null==n[0])throw F.getNotFoundInstance();return n[0]},t.prototype.decodeMultiple=function(e,r){void 0===r&&(r=null);try{return t.decode(e,r,!0)}catch(t){if(t instanceof S||t instanceof h)throw F.getNotFoundInstance();throw t}},t.decode=function(e,r,n){var o,i,a=new Array,s=yn.detectMultiple(e,r,n);try{for(var u=eo(s.getPoints()),c=u.next();!c.done;c=u.next()){var f=c.value,h=to.decode(s.getBits(),f[4],f[5],f[6],f[7],t.getMinCodewordWidth(f),t.getMaxCodewordWidth(f)),l=new Q(h.getText(),h.getRawBytes(),void 0,f,$.PDF_417);l.putMetadata(et.ERROR_CORRECTION_LEVEL,h.getECLevel());var d=h.getOther();null!=d&&l.putMetadata(et.PDF417_EXTRA_METADATA,d),a.push(l)}}catch(t){o={error:t}}finally{try{c&&!c.done&&(i=u.return)&&i.call(u)}finally{if(o)throw o.error}}return a.map((function(t){return t}))},t.getMaxWidth=function(t,e){return null==t||null==e?0:Math.trunc(Math.abs(t.getX()-e.getX()))},t.getMinWidth=function(t,e){return null==t||null==e?_.MAX_VALUE:Math.trunc(Math.abs(t.getX()-e.getX()))},t.getMaxCodewordWidth=function(e){return Math.floor(Math.max(Math.max(t.getMaxWidth(e[0],e[4]),t.getMaxWidth(e[6],e[2])*dn.MODULES_IN_CODEWORD/dn.MODULES_IN_STOP_PATTERN),Math.max(t.getMaxWidth(e[1],e[5]),t.getMaxWidth(e[7],e[3])*dn.MODULES_IN_CODEWORD/dn.MODULES_IN_STOP_PATTERN)))},t.getMinCodewordWidth=function(e){return Math.floor(Math.min(Math.min(t.getMinWidth(e[0],e[4]),t.getMinWidth(e[6],e[2])*dn.MODULES_IN_CODEWORD/dn.MODULES_IN_STOP_PATTERN),Math.min(t.getMinWidth(e[1],e[5]),t.getMinWidth(e[7],e[3])*dn.MODULES_IN_CODEWORD/dn.MODULES_IN_STOP_PATTERN)))},t.prototype.reset=function(){},t}(),no=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),oo=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return no(e,t),e.kind="ReaderException",e}(o),io=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},ao=function(){function t(){}return t.prototype.decode=function(t,e){return this.setHints(e),this.decodeInternal(t)},t.prototype.decodeWithState=function(t){return null!==this.readers&&void 0!==this.readers||this.setHints(null),this.decodeInternal(t)},t.prototype.setHints=function(t){this.hints=t;var e=null!=t&&void 0!==t.get(E.TRY_HARDER),r=null==t?null:t.get(E.POSSIBLE_FORMATS),n=new Array;if(null!=r){var o=r.some((function(t){return t===$.UPC_A||t===$.UPC_E||t===$.EAN_13||t===$.EAN_8||t===$.CODABAR||t===$.CODE_39||t===$.CODE_93||t===$.CODE_128||t===$.ITF||t===$.RSS_14||t===$.RSS_EXPANDED}));o&&!e&&n.push(new pr(t)),r.includes($.QR_CODE)&&n.push(new hn),r.includes($.DATA_MATRIX)&&n.push(new Nr),r.includes($.AZTEC)&&n.push(new Rt),r.includes($.PDF_417)&&n.push(new ro),o&&e&&n.push(new pr(t))}0===n.length&&(e||n.push(new pr(t)),n.push(new hn),n.push(new Nr),n.push(new Rt),n.push(new ro),e&&n.push(new pr(t))),this.readers=n},t.prototype.reset=function(){var t,e;if(null!==this.readers)try{for(var r=io(this.readers),n=r.next();!n.done;n=r.next()){n.value.reset()}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},t.prototype.decodeInternal=function(t){var e,r;if(null===this.readers)throw new oo("No readers where selected, nothing can be read.");try{for(var n=io(this.readers),o=n.next();!o.done;o=n.next()){var i=o.value;try{return i.decode(t,this.hints)}catch(t){if(t instanceof oo)continue}}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}throw new F("No MultiFormat Readers were able to detect the code.")},t}(),so=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),uo=function(t){function e(e,r){void 0===e&&(e=null),void 0===r&&(r=500);var n=new ao;return n.setHints(e),t.call(this,n,r)||this}return so(e,t),e.prototype.decodeBitmap=function(t){return this.reader.decodeWithState(t)},e}(q),co=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),fo=function(t){function e(e){return void 0===e&&(e=500),t.call(this,new ro,e)||this}return co(e,t),e}(q),ho=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),lo=function(t){function e(e){return void 0===e&&(e=500),t.call(this,new hn,e)||this}return ho(e,t),e}(q);!function(t){t[t.ERROR_CORRECTION=0]="ERROR_CORRECTION",t[t.CHARACTER_SET=1]="CHARACTER_SET",t[t.DATA_MATRIX_SHAPE=2]="DATA_MATRIX_SHAPE",t[t.DATA_MATRIX_COMPACT=3]="DATA_MATRIX_COMPACT",t[t.MIN_SIZE=4]="MIN_SIZE",t[t.MAX_SIZE=5]="MAX_SIZE",t[t.MARGIN=6]="MARGIN",t[t.PDF417_COMPACT=7]="PDF417_COMPACT",t[t.PDF417_COMPACTION=8]="PDF417_COMPACTION",t[t.PDF417_DIMENSIONS=9]="PDF417_DIMENSIONS",t[t.AZTEC_LAYERS=10]="AZTEC_LAYERS",t[t.QR_VERSION=11]="QR_VERSION",t[t.GS1_FORMAT=12]="GS1_FORMAT",t[t.FORCE_C40=13]="FORCE_C40"}(Qn||(Qn={}));var po,go,yo=Qn,wo=function(){function t(t){this.field=t,this.cachedGenerators=[],this.cachedGenerators.push(new ot(t,Int32Array.from([1])))}return t.prototype.buildGenerator=function(t){var e=this.cachedGenerators;if(t>=e.length)for(var r=e[e.length-1],n=this.field,o=e.length;o<=t;o++){var i=r.multiply(new ot(n,Int32Array.from([1,n.exp(o-1+n.getGeneratorBase())])));e.push(i),r=i}return e[t]},t.prototype.encode=function(t,e){if(0===e)throw new u("No error correction bytes");var r=t.length-e;if(r<=0)throw new u("No data bytes provided");var n=this.buildGenerator(e),o=new Int32Array(r);d.arraycopy(t,0,o,0,r);for(var i=new ot(this.field,o),a=(i=i.multiplyByMonomial(e,1)).divide(n)[1].getCoefficients(),s=e-a.length,c=0;c=5&&(n+=t.N1+(u-5)),u=1,c=h)}u>=5&&(n+=t.N1+(u-5))}return n},t.N1=3,t.N2=3,t.N3=40,t.N4=10,t}(),Co=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},_o=function(){function t(t,e){this.width=t,this.height=e;for(var r=new Array(e),n=0;n!==e;n++)r[n]=new Uint8Array(t);this.bytes=r}return t.prototype.getHeight=function(){return this.height},t.prototype.getWidth=function(){return this.width},t.prototype.get=function(t,e){return this.bytes[e][t]},t.prototype.getArray=function(){return this.bytes},t.prototype.setNumber=function(t,e,r){this.bytes[e][t]=r},t.prototype.setBoolean=function(t,e,r){this.bytes[e][t]=r?1:0},t.prototype.clear=function(t){var e,r;try{for(var n=Co(this.bytes),o=n.next();!o.done;o=n.next()){var i=o.value;C.fill(i,t)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},t.prototype.equals=function(e){if(!(e instanceof t))return!1;var r=e;if(this.width!==r.width)return!1;if(this.height!==r.height)return!1;for(var n=0,o=this.height;n>\n"),t.toString()},t.prototype.setMode=function(t){this.mode=t},t.prototype.setECLevel=function(t){this.ecLevel=t},t.prototype.setVersion=function(t){this.version=t},t.prototype.setMaskPattern=function(t){this.maskPattern=t},t.prototype.setMatrix=function(t){this.matrix=t},t.isValidMaskPattern=function(e){return e>=0&&e0;){for(6===a&&(a-=1);s>=0&&s=n;)e^=r<=0)for(var u=0;u!==a;u++){var c=o[u];c>=0&&t.isEmpty(r.get(c,s))&&t.embedPositionAdjustmentPattern(c-2,s-2,r)}}},t.POSITION_DETECTION_PATTERN=Array.from([Int32Array.from([1,1,1,1,1,1,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,1,1,1,1,1,1])]),t.POSITION_ADJUSTMENT_PATTERN=Array.from([Int32Array.from([1,1,1,1,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,0,1,0,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,1,1,1,1])]),t.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE=Array.from([Int32Array.from([-1,-1,-1,-1,-1,-1,-1]),Int32Array.from([6,18,-1,-1,-1,-1,-1]),Int32Array.from([6,22,-1,-1,-1,-1,-1]),Int32Array.from([6,26,-1,-1,-1,-1,-1]),Int32Array.from([6,30,-1,-1,-1,-1,-1]),Int32Array.from([6,34,-1,-1,-1,-1,-1]),Int32Array.from([6,22,38,-1,-1,-1,-1]),Int32Array.from([6,24,42,-1,-1,-1,-1]),Int32Array.from([6,26,46,-1,-1,-1,-1]),Int32Array.from([6,28,50,-1,-1,-1,-1]),Int32Array.from([6,30,54,-1,-1,-1,-1]),Int32Array.from([6,32,58,-1,-1,-1,-1]),Int32Array.from([6,34,62,-1,-1,-1,-1]),Int32Array.from([6,26,46,66,-1,-1,-1]),Int32Array.from([6,26,48,70,-1,-1,-1]),Int32Array.from([6,26,50,74,-1,-1,-1]),Int32Array.from([6,30,54,78,-1,-1,-1]),Int32Array.from([6,30,56,82,-1,-1,-1]),Int32Array.from([6,30,58,86,-1,-1,-1]),Int32Array.from([6,34,62,90,-1,-1,-1]),Int32Array.from([6,28,50,72,94,-1,-1]),Int32Array.from([6,26,50,74,98,-1,-1]),Int32Array.from([6,30,54,78,102,-1,-1]),Int32Array.from([6,28,54,80,106,-1,-1]),Int32Array.from([6,32,58,84,110,-1,-1]),Int32Array.from([6,30,58,86,114,-1,-1]),Int32Array.from([6,34,62,90,118,-1,-1]),Int32Array.from([6,26,50,74,98,122,-1]),Int32Array.from([6,30,54,78,102,126,-1]),Int32Array.from([6,26,52,78,104,130,-1]),Int32Array.from([6,30,56,82,108,134,-1]),Int32Array.from([6,34,60,86,112,138,-1]),Int32Array.from([6,30,58,86,114,142,-1]),Int32Array.from([6,34,62,90,118,146,-1]),Int32Array.from([6,30,54,78,102,126,150]),Int32Array.from([6,24,50,76,102,128,154]),Int32Array.from([6,28,54,80,106,132,158]),Int32Array.from([6,32,58,84,110,136,162]),Int32Array.from([6,26,54,82,110,138,166]),Int32Array.from([6,30,58,86,114,142,170])]),t.TYPE_INFO_COORDINATES=Array.from([Int32Array.from([8,0]),Int32Array.from([8,1]),Int32Array.from([8,2]),Int32Array.from([8,3]),Int32Array.from([8,4]),Int32Array.from([8,5]),Int32Array.from([8,7]),Int32Array.from([8,8]),Int32Array.from([7,8]),Int32Array.from([5,8]),Int32Array.from([4,8]),Int32Array.from([3,8]),Int32Array.from([2,8]),Int32Array.from([1,8]),Int32Array.from([0,8])]),t.VERSION_INFO_POLY=7973,t.TYPE_INFO_POLY=1335,t.TYPE_INFO_MASK_PATTERN=21522,t}(),So=function(){function t(t,e){this.dataBytes=t,this.errorCorrectionBytes=e}return t.prototype.getDataBytes=function(){return this.dataBytes},t.prototype.getErrorCorrectionBytes=function(){return this.errorCorrectionBytes},t}(),To=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Oo=function(){function t(){}return t.calculateMaskPenalty=function(t){return vo.applyMaskPenaltyRule1(t)+vo.applyMaskPenaltyRule2(t)+vo.applyMaskPenaltyRule3(t)+vo.applyMaskPenaltyRule4(t)},t.encode=function(e,r,n){void 0===n&&(n=null);var o=t.DEFAULT_BYTE_MODE_ENCODING,i=null!==n&&void 0!==n.get(yo.CHARACTER_SET);i&&(o=n.get(yo.CHARACTER_SET).toString());var a=this.chooseMode(e,o),s=new A;if(a===Kr.BYTE&&(i||t.DEFAULT_BYTE_MODE_ENCODING!==o)){var u=b.getCharacterSetECIByName(o);void 0!==u&&this.appendECI(u,s)}this.appendModeInfo(a,s);var c,f=new A;if(this.appendBytes(e,a,f,o),null!==n&&void 0!==n.get(yo.QR_VERSION)){var h=Number.parseInt(n.get(yo.QR_VERSION).toString(),10);c=Ur.getVersionForNumber(h);var l=this.calculateBitsNeeded(a,s,f,c);if(!this.willFit(l,c,r))throw new Eo("Data too big for requested version")}else c=this.recommendVersion(r,a,s,f);var d=new A;d.appendBitArray(s);var p=a===Kr.BYTE?f.getSizeInBytes():e.length;this.appendLengthInfo(p,c,a,d),d.appendBitArray(f);var g=c.getECBlocksForLevel(r),y=c.getTotalCodewords()-g.getTotalECCodewords();this.terminateBits(y,d);var w=this.interleaveWithECBytes(d,c.getTotalCodewords(),y,g.getNumBlocks()),v=new Ao;v.setECLevel(r),v.setMode(a),v.setVersion(c);var C=c.getDimensionForVersion(),_=new _o(C,C),m=this.chooseMaskPattern(w,r,c,_);return v.setMaskPattern(m),Io.buildMatrix(w,r,c,m,_),v.setMatrix(_),v},t.recommendVersion=function(t,e,r,n){var o=this.calculateBitsNeeded(e,r,n,Ur.getVersionForNumber(1)),i=this.chooseVersion(o,t),a=this.calculateBitsNeeded(e,r,n,i);return this.chooseVersion(a,t)},t.calculateBitsNeeded=function(t,e,r,n){return e.getSize()+t.getCharacterCountBits(n)+r.getSize()},t.getAlphanumericCode=function(e){return e159)&&(o<224||o>235))return!1}return!0},t.chooseMaskPattern=function(t,e,r,n){for(var o=Number.MAX_SAFE_INTEGER,i=-1,a=0;a=(t+7)/8},t.terminateBits=function(t,e){var r=8*t;if(e.getSize()>r)throw new Eo("data bits cannot fit in the QR Code"+e.getSize()+" > "+r);for(var n=0;n<4&&e.getSize()0)for(n=o;n<8;n++)e.appendBit(!1);var i=t-e.getSizeInBytes();for(n=0;n=r)throw new Eo("Block ID too large");var a=t%r,s=r-a,u=Math.floor(t/r),c=u+1,f=Math.floor(e/r),h=f+1,l=u-f,d=c-h;if(l!==d)throw new Eo("EC bytes mismatch");if(r!==s+a)throw new Eo("RS blocks mismatch");if(t!==(f+l)*s+(h+d)*a)throw new Eo("Total bytes mismatch");n=1<=0&&r<=9},t.appendNumericBytes=function(e,r){for(var n=e.length,o=0;o=33088&&i<=40956?a=i-33088:i>=57408&&i<=60351&&(a=i-49472),-1===a)throw new Eo("Invalid byte sequence");var s=192*(a>>8)+(255&a);e.appendBits(s,13)}},t.appendECI=function(t,e){e.appendBits(Kr.ECI.getBits(),4),e.appendBits(t.getValue(),8)},t.ALPHANUMERIC_TABLE=Int32Array.from([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,36,-1,-1,-1,37,38,-1,-1,-1,-1,39,40,-1,41,42,43,0,1,2,3,4,5,6,7,8,9,44,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,-1]),t.DEFAULT_BYTE_MODE_ENCODING=b.UTF8.getName(),t}(),bo=function(){function t(){}return t.prototype.write=function(e,r,n,o){if(void 0===o&&(o=null),0===e.length)throw new u("Found empty contents");if(r<0||n<0)throw new u("Requested dimensions are too small: "+r+"x"+n);var i=Br.L,a=t.QUIET_ZONE_SIZE;null!==o&&(void 0!==o.get(yo.ERROR_CORRECTION)&&(i=Br.fromString(o.get(yo.ERROR_CORRECTION).toString())),void 0!==o.get(yo.MARGIN)&&(a=Number.parseInt(o.get(yo.MARGIN).toString(),10)));var s=Oo.encode(e,i,o);return this.renderResult(s,r,n,a)},t.prototype.writeToDom=function(t,e,r,n,o){void 0===o&&(o=null),"string"==typeof t&&(t=document.querySelector(t));var i=this.write(e,r,n,o);t&&t.appendChild(i)},t.prototype.renderResult=function(t,e,r,n){var o=t.getMatrix();if(null===o)throw new lt;for(var i=o.getWidth(),a=o.getHeight(),s=i+2*n,u=a+2*n,c=Math.max(e,s),f=Math.max(r,u),h=Math.min(Math.floor(c/s),Math.floor(f/u)),l=Math.floor((c-i*h)/2),d=Math.floor((f-a*h)/2),p=this.createSVGElement(c,f),g=0,y=d;gr||i+s>n)throw new u("Crop rectangle does not fit within image data.");return c&&f.reverseHorizontal(a,s),f}return Do(e,t),e.prototype.getRow=function(t,e){if(t<0||t>=this.getHeight())throw new u("Requested row is outside the image: "+t);var r=this.getWidth();(null==e||e.length>16&255,g=d>>7&510,y=255&d;h[l]=(p+g+y)/4&255}c.luminances=h}else c.luminances=e;if(void 0===o&&(c.dataWidth=r),void 0===i&&(c.dataHeight=n),void 0===a&&(c.left=0),void 0===s&&(c.top=0),c.left+r>c.dataWidth||c.top+n>c.dataHeight)throw new u("Crop rectangle does not fit within image data.");return c}return Po(e,t),e.prototype.getRow=function(t,e){if(t<0||t>=this.getHeight())throw new u("Requested row is outside the image: "+t);var r=this.getWidth();(null==e||e.length=0&&this.noBit(r,e)&&this.utah(e,r,t++),e-=2,r+=2}while(e>=0&&r=0&&r=0);e+=3,r++}while(e=256&&(r^=301);return{LOG:t,ALOG:e}}([],[]),po.LOG),Xo=po.ALOG;!function(t){t[t.FORCE_NONE=0]="FORCE_NONE",t[t.FORCE_SQUARE=1]="FORCE_SQUARE",t[t.FORCE_RECTANGLE=2]="FORCE_RECTANGLE"}(go||(go={}));var Go,Wo="[)>05",zo="[)>06",jo="",Yo=function(){function t(){}return t.encodeECC200=function(t,e){if(t.length!==e.getDataCapacity())throw new Error("The number of codewords does not match the selected symbol");var r=new P;r.append(t);var n=e.getInterleavedBlockCount();if(1===n){var o=this.createECCBlock(t,e.getErrorCodewords());r.append(o)}else{for(var i=[],a=[],s=0;s0;s--)0!==a&&0!==o[s]?i[s]=i[s-1]^Xo[(Uo[a]+Uo[o[s]])%255]:i[s]=i[s-1];0!==a&&0!==o[0]?i[0]=Xo[(Uo[a]+Uo[o[0]])%255]:i[0]=0}var u=[];for(n=0;n=2)t.writeCodeword(this.encodeASCIIDigits(t.getMessage().charCodeAt(t.pos),t.getMessage().charCodeAt(t.pos+1))),t.pos+=2;else{var e=t.getCurrentChar(),r=ci.lookAheadTest(t.getMessage(),t.pos,this.getEncodingMode());if(r!==this.getEncodingMode())switch(r){case 5:return t.writeCodeword(231),void t.signalEncoderChange(5);case 1:return t.writeCodeword(230),void t.signalEncoderChange(1);case 3:t.writeCodeword(238),t.signalEncoderChange(3);break;case 2:t.writeCodeword(239),t.signalEncoderChange(2);break;case 4:t.writeCodeword(240),t.signalEncoderChange(4);break;default:throw new Error("Illegal mode: "+r)}else ci.isExtendedASCII(e)?(t.writeCodeword(235),t.writeCodeword(e-128+1),t.pos++):(t.writeCodeword(e+1),t.pos++)}},t.prototype.encodeASCIIDigits=function(t,e){if(ci.isDigit(t)&&ci.isDigit(e))return 10*(t-48)+(e-48)+130;throw new Error("not digits: "+t+e)},t}(),Ko=function(){function t(){}return t.prototype.getEncodingMode=function(){return 5},t.prototype.encode=function(t){var e=new P;for(e.append(0);t.hasMoreCharacters();){var r=t.getCurrentChar();if(e.append(r),t.pos++,ci.lookAheadTest(t.getMessage(),t.pos,this.getEncodingMode())!==this.getEncodingMode()){t.signalEncoderChange(0);break}}var n=e.length()-1,o=t.getCodewordCount()+n+1;t.updateSymbolInfo(o);var i=t.getSymbolInfo().getDataCapacity()-o>0;if(t.hasMoreCharacters()||i)if(n<=249)e.setCharAt(0,M.getCharAt(n));else{if(!(n<=1555))throw new Error("Message length not in valid ranges: "+n);e.setCharAt(0,M.getCharAt(Math.floor(n/250)+249)),e.insert(1,M.getCharAt(n%250))}var a=0;for(r=e.length();a3||1!==u))&&(t.pos=n)}e.length()>0&&t.writeCodeword(230),this.handleEOD(t,e)},t.prototype.encode=function(t){for(var e=new P;t.hasMoreCharacters();){var r=t.getCurrentChar();t.pos++;var n=this.encodeChar(r,e),o=2*Math.floor(e.length()/3),i=t.getCodewordCount()+o;t.updateSymbolInfo(i);var a=t.getSymbolInfo().getDataCapacity()-i;if(!t.hasMoreCharacters()){var s=new P;for(e.length()%3==2&&2!==a&&(n=this.backtrackOneCharacter(t,e,s,n));e.length()%3==1&&(n>3||1!==a);)n=this.backtrackOneCharacter(t,e,s,n);break}if(e.length()%3==0)if(ci.lookAheadTest(t.getMessage(),t.pos,this.getEncodingMode())!==this.getEncodingMode()){t.signalEncoderChange(0);break}}this.handleEOD(t,e)},t.prototype.backtrackOneCharacter=function(t,e,r,n){var o=e.length(),i=e.toString().substring(0,o-n);e.setLengthToZero(),e.append(i),t.pos--;var a=t.getCurrentChar();return n=this.encodeChar(a,r),t.resetSymbolInfo(),n},t.prototype.writeNextTriplet=function(t,e){t.writeCodewords(this.encodeToCodewords(e.toString()));var r=e.toString().substring(3);e.setLengthToZero(),e.append(r)},t.prototype.handleEOD=function(t,e){var r=Math.floor(e.length()/3*2),n=e.length()%3,o=t.getCodewordCount()+r;t.updateSymbolInfo(o);var i=t.getSymbolInfo().getDataCapacity()-o;if(2===n){for(e.append("\0");e.length()>=3;)this.writeNextTriplet(t,e);t.hasMoreCharacters()&&t.writeCodeword(254)}else if(1===i&&1===n){for(;e.length()>=3;)this.writeNextTriplet(t,e);t.hasMoreCharacters()&&t.writeCodeword(254),t.pos--}else{if(0!==n)throw new Error("Unexpected case. Please report!");for(;e.length()>=3;)this.writeNextTriplet(t,e);(i>0||t.hasMoreCharacters())&&t.writeCodeword(254)}t.signalEncoderChange(0)},t.prototype.encodeChar=function(t,e){if(t===" ".charCodeAt(0))return e.append(3),1;if(t>="0".charCodeAt(0)&&t<="9".charCodeAt(0))return e.append(t-48+4),1;if(t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0))return e.append(t-65+14),1;if(t<" ".charCodeAt(0))return e.append(0),e.append(t),2;if(t<="/".charCodeAt(0))return e.append(1),e.append(t-33),2;if(t<="@".charCodeAt(0))return e.append(1),e.append(t-58+15),2;if(t<="_".charCodeAt(0))return e.append(1),e.append(t-91+22),2;if(t<=127)return e.append(2),e.append(t-96),2;e.append("1");var r=2;return r+=this.encodeChar(t-128,e)},t.prototype.encodeToCodewords=function(t){var e=1600*t.charCodeAt(0)+40*t.charCodeAt(1)+t.charCodeAt(2)+1,r=e/256,n=e%256,o=new P;return o.append(r),o.append(n),o.toString()},t}(),Qo=function(){function t(){}return t.prototype.getEncodingMode=function(){return 4},t.prototype.encode=function(t){for(var e=new P;t.hasMoreCharacters();){var r=t.getCurrentChar();if(this.encodeChar(r,e),t.pos++,e.length()>=4){t.writeCodewords(this.encodeToCodewords(e.toString()));var n=e.toString().substring(4);if(e.setLengthToZero(),e.append(n),ci.lookAheadTest(t.getMessage(),t.pos,this.getEncodingMode())!==this.getEncodingMode()){t.signalEncoderChange(0);break}}}e.append(M.getCharAt(31)),this.handleEOD(t,e)},t.prototype.handleEOD=function(t,e){try{var r=e.length();if(0===r)return;if(1===r){t.updateSymbolInfo();var n=t.getSymbolInfo().getDataCapacity()-t.getCodewordCount(),o=t.getRemainingCharacters();if(o>n&&(t.updateSymbolInfo(t.getCodewordCount()+1),n=t.getSymbolInfo().getDataCapacity()-t.getCodewordCount()),o<=n&&n<=2)return}if(r>4)throw new Error("Count must not exceed 4");var i=r-1,a=this.encodeToCodewords(e.toString()),s=!t.hasMoreCharacters()&&i<=2;if(i<=2)t.updateSymbolInfo(t.getCodewordCount()+i),(n=t.getSymbolInfo().getDataCapacity()-t.getCodewordCount())>=3&&(s=!1,t.updateSymbolInfo(t.getCodewordCount()+a.length));s?(t.resetSymbolInfo(),t.pos-=i):t.writeCodewords(a)}finally{t.signalEncoderChange(0)}},t.prototype.encodeChar=function(t,e){t>=" ".charCodeAt(0)&&t<="?".charCodeAt(0)?e.append(t):t>="@".charCodeAt(0)&&t<="^".charCodeAt(0)?e.append(M.getCharAt(t-64)):ci.illegalCharacter(M.getCharAt(t))},t.prototype.encodeToCodewords=function(t){var e=t.length;if(0===e)throw new Error("StringBuilder must not be empty");var r=(t.charAt(0).charCodeAt(0)<<18)+((e>=2?t.charAt(1).charCodeAt(0):0)<<12)+((e>=3?t.charAt(2).charCodeAt(0):0)<<6)+(e>=4?t.charAt(3).charCodeAt(0):0),n=r>>16&255,o=r>>8&255,i=255&r,a=new P;return a.append(n),e>=2&&a.append(o),e>=3&&a.append(i),a.toString()},t}(),Jo=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),$o=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},ti=function(){function t(t,e,r,n,o,i,a,s){void 0===a&&(a=0),void 0===s&&(s=0),this.rectangular=t,this.dataCapacity=e,this.errorCodewords=r,this.matrixWidth=n,this.matrixHeight=o,this.dataRegions=i,this.rsBlockData=a,this.rsBlockError=s}return t.lookup=function(t,e,r,n,o){var i,a;void 0===e&&(e=0),void 0===r&&(r=null),void 0===n&&(n=null),void 0===o&&(o=!0);try{for(var s=$o(ri),u=s.next();!u.done;u=s.next()){var c=u.value;if((1!==e||!c.rectangular)&&((2!==e||c.rectangular)&&(null==r||!(c.getSymbolWidth()n.getWidth()||c.getSymbolHeight()>n.getHeight()))&&t<=c.dataCapacity))return c}}catch(t){i={error:t}}finally{try{u&&!u.done&&(a=s.return)&&a.call(s)}finally{if(i)throw i.error}}if(o)throw new Error("Can't find a symbol arrangement that matches the message. Data codewords: "+t);return null},t.prototype.getHorizontalDataRegions=function(){switch(this.dataRegions){case 1:return 1;case 2:case 4:return 2;case 16:return 4;case 36:return 6;default:throw new Error("Cannot handle this number of data regions")}},t.prototype.getVerticalDataRegions=function(){switch(this.dataRegions){case 1:case 2:return 1;case 4:return 2;case 16:return 4;case 36:return 6;default:throw new Error("Cannot handle this number of data regions")}},t.prototype.getSymbolDataWidth=function(){return this.getHorizontalDataRegions()*this.matrixWidth},t.prototype.getSymbolDataHeight=function(){return this.getVerticalDataRegions()*this.matrixHeight},t.prototype.getSymbolWidth=function(){return this.getSymbolDataWidth()+2*this.getHorizontalDataRegions()},t.prototype.getSymbolHeight=function(){return this.getSymbolDataHeight()+2*this.getVerticalDataRegions()},t.prototype.getCodewordCount=function(){return this.dataCapacity+this.errorCodewords},t.prototype.getInterleavedBlockCount=function(){return this.rsBlockData?this.dataCapacity/this.rsBlockData:1},t.prototype.getDataCapacity=function(){return this.dataCapacity},t.prototype.getErrorCodewords=function(){return this.errorCodewords},t.prototype.getDataLengthForInterleavedBlock=function(t){return this.rsBlockData},t.prototype.getErrorLengthForInterleavedBlock=function(t){return this.rsBlockError},t}(),ei=function(t){function e(){return t.call(this,!1,1558,620,22,22,36,-1,62)||this}return Jo(e,t),e.prototype.getInterleavedBlockCount=function(){return 10},e.prototype.getDataLengthForInterleavedBlock=function(t){return t<=8?156:155},e}(ti),ri=[new ti(!1,3,5,8,8,1),new ti(!1,5,7,10,10,1),new ti(!0,5,7,16,6,1),new ti(!1,8,10,12,12,1),new ti(!0,10,11,14,6,2),new ti(!1,12,12,14,14,1),new ti(!0,16,14,24,10,1),new ti(!1,18,14,16,16,1),new ti(!1,22,18,18,18,1),new ti(!0,22,18,16,10,2),new ti(!1,30,20,20,20,1),new ti(!0,32,24,16,14,2),new ti(!1,36,24,22,22,1),new ti(!1,44,28,24,24,1),new ti(!0,49,28,22,14,2),new ti(!1,62,36,14,14,4),new ti(!1,86,42,16,16,4),new ti(!1,114,48,18,18,4),new ti(!1,144,56,20,20,4),new ti(!1,174,68,22,22,4),new ti(!1,204,84,24,24,4,102,42),new ti(!1,280,112,14,14,16,140,56),new ti(!1,368,144,16,16,16,92,36),new ti(!1,456,192,18,18,16,114,48),new ti(!1,576,224,20,20,16,144,56),new ti(!1,696,272,22,22,16,174,68),new ti(!1,816,336,24,24,16,136,56),new ti(!1,1050,408,18,18,36,175,68),new ti(!1,1304,496,20,20,36,163,62),new ei],ni=function(){function t(t){this.msg=t,this.pos=0,this.skipAtEnd=0;for(var e=t.split("").map((function(t){return t.charCodeAt(0)})),r=new P,n=0,o=e.length;nthis.symbolInfo.getDataCapacity())&&(this.symbolInfo=ti.lookup(t,this.shape,this.minSize,this.maxSize,!0))},t.prototype.resetSymbolInfo=function(){this.symbolInfo=null},t}(),oi=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ii=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return oi(e,t),e.prototype.getEncodingMode=function(){return 3},e.prototype.encode=function(t){for(var e=new P;t.hasMoreCharacters();){var r=t.getCurrentChar();if(t.pos++,this.encodeChar(r,e),e.length()%3==0)if(this.writeNextTriplet(t,e),ci.lookAheadTest(t.getMessage(),t.pos,this.getEncodingMode())!==this.getEncodingMode()){t.signalEncoderChange(0);break}}this.handleEOD(t,e)},e.prototype.encodeChar=function(t,e){switch(t){case 13:e.append(0);break;case"*".charCodeAt(0):e.append(1);break;case">".charCodeAt(0):e.append(2);break;case" ".charCodeAt(0):e.append(3);break;default:t>="0".charCodeAt(0)&&t<="9".charCodeAt(0)?e.append(t-48+4):t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0)?e.append(t-65+14):ci.illegalCharacter(M.getCharAt(t))}return 1},e.prototype.handleEOD=function(t,e){t.updateSymbolInfo();var r=t.getSymbolInfo().getDataCapacity()-t.getCodewordCount(),n=e.length();t.pos-=n,(t.getRemainingCharacters()>1||r>1||t.getRemainingCharacters()!==r)&&t.writeCodeword(254),t.getNewEncoding()<0&&t.signalEncoderChange(0)},e}(qo),ai=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),si=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return ai(e,t),e.prototype.getEncodingMode=function(){return 2},e.prototype.encodeChar=function(t,e){if(t===" ".charCodeAt(0))return e.append(3),1;if(t>="0".charCodeAt(0)&&t<="9".charCodeAt(0))return e.append(t-48+4),1;if(t>="a".charCodeAt(0)&&t<="z".charCodeAt(0))return e.append(t-97+14),1;if(t<" ".charCodeAt(0))return e.append(0),e.append(t),2;if(t<="/".charCodeAt(0))return e.append(1),e.append(t-33),2;if(t<="@".charCodeAt(0))return e.append(1),e.append(t-58+15),2;if(t>="[".charCodeAt(0)&&t<="_".charCodeAt(0))return e.append(1),e.append(t-91+22),2;if(t==="`".charCodeAt(0))return e.append(2),e.append(0),2;if(t<="Z".charCodeAt(0))return e.append(2),e.append(t-65+1),2;if(t<=127)return e.append(2),e.append(t-123+27),2;e.append("1");var r=2;return r+=this.encodeChar(t-128,e)},e}(qo),ui=function(){function t(){}return t.randomize253State=function(t){var e=129+(149*t%253+1);return e<=254?e:e-254},t.encodeHighLevel=function(t,e,r,n,o){void 0===e&&(e=0),void 0===r&&(r=null),void 0===n&&(n=null),void 0===o&&(o=!1);var i=new qo,a=[new Zo,i,new si,new ii,new Qo,new Ko],s=new ni(t);s.setSymbolShape(e),s.setSizeConstraints(r,n),t.startsWith(Wo)&&t.endsWith(jo)?(s.writeCodeword(236),s.setSkipAtEnd(2),s.pos+=7):t.startsWith(zo)&&t.endsWith(jo)&&(s.writeCodeword(237),s.setSkipAtEnd(2),s.pos+=7);var u=0;for(o&&(i.encodeMaximal(s),u=s.getNewEncoding(),s.resetEncoderSignal());s.hasMoreCharacters();)a[u].encode(s),s.getNewEncoding()>=0&&(u=s.getNewEncoding(),s.resetEncoderSignal());var c=s.getCodewordCount();s.updateSymbolInfo();var f=s.getSymbolInfo().getDataCapacity();c=t.length)return r;var n;0===r?n=[0,1,1,1,1,1.25]:(n=[1,2,2,2,2,2.25])[r]=0;for(var o=0,i=new Uint8Array(6),a=[];;){if(e+o===t.length){C.fill(i,0),C.fill(a,0);var s=this.findMinimums(n,a,_.MAX_VALUE,i),u=this.getMinimumCount(i);if(a[0]===s)return 0;if(1===u){if(i[5]>0)return 5;if(i[4]>0)return 4;if(i[2]>0)return 2;if(i[3]>0)return 3}return 1}var c=t.charCodeAt(e+o);if(o++,this.isDigit(c)?n[0]+=.5:this.isExtendedASCII(c)?(n[0]=Math.ceil(n[0]),n[0]+=2):(n[0]=Math.ceil(n[0]),n[0]++),this.isNativeC40(c)?n[1]+=2/3:this.isExtendedASCII(c)?n[1]+=8/3:n[1]+=4/3,this.isNativeText(c)?n[2]+=2/3:this.isExtendedASCII(c)?n[2]+=8/3:n[2]+=4/3,this.isNativeX12(c)?n[3]+=2/3:this.isExtendedASCII(c)?n[3]+=13/3:n[3]+=10/3,this.isNativeEDIFACT(c)?n[4]+=3/4:this.isExtendedASCII(c)?n[4]+=4.25:n[4]+=3.25,this.isSpecialB256(c)?n[5]+=4:n[5]++,o>=4){if(C.fill(i,0),C.fill(a,0),this.findMinimums(n,a,_.MAX_VALUE,i),a[0]i&&(r=i,C.fill(n,0)),r===i&&(n[o]=n[o]+1)}return r},t.getMinimumCount=function(t){for(var e=0,r=0;r<6;r++)e+=t[r];return e||0},t.isDigit=function(t){return t>="0".charCodeAt(0)&&t<="9".charCodeAt(0)},t.isExtendedASCII=function(t){return t>=128&&t<=255},t.isNativeC40=function(t){return t===" ".charCodeAt(0)||t>="0".charCodeAt(0)&&t<="9".charCodeAt(0)||t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0)},t.isNativeText=function(t){return t===" ".charCodeAt(0)||t>="0".charCodeAt(0)&&t<="9".charCodeAt(0)||t>="a".charCodeAt(0)&&t<="z".charCodeAt(0)},t.isNativeX12=function(t){return this.isX12TermSep(t)||t===" ".charCodeAt(0)||t>="0".charCodeAt(0)&&t<="9".charCodeAt(0)||t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0)},t.isX12TermSep=function(t){return 13===t||t==="*".charCodeAt(0)||t===">".charCodeAt(0)},t.isNativeEDIFACT=function(t){return t>=" ".charCodeAt(0)&&t<="^".charCodeAt(0)},t.isSpecialB256=function(t){return!1},t.determineConsecutiveDigitCount=function(t,e){void 0===e&&(e=0);for(var r=t.length,n=e;n=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},hi=function(){function t(t){this.charset=t,this.name=t.name}return t.prototype.canEncode=function(t){try{return null!=D.encode(t,this.charset)}catch(t){return!1}},t}(),li=function(){function t(t,e,r){var n,o,i,a,s,u;this.ENCODERS=["IBM437","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1250","windows-1251","windows-1252","windows-1256","Shift_JIS"].map((function(t){return new hi(Fo.forName(t))})),this.encoders=[];var c=[];c.push(new hi(xo.ISO_8859_1));for(var f=null!=e&&e.name.startsWith("UTF"),h=0;h=this.bytes.length)return!1;for(var r=0;r=this.length())throw new Error(""+t);if(this.isECI(t))throw new Error("value at "+t+" is not a character but an ECI");return this.isFNC1(t)?this.fnc1:this.bytes[t]},t.prototype.subSequence=function(t,e){if(t<0||t>e||e>this.length())throw new Error(""+t);for(var r=new P,n=t;n=this.length())throw new Error(""+t);return this.bytes[t]>255&&this.bytes[t]<=999},t.prototype.isFNC1=function(t){if(t<0||t>=this.length())throw new Error(""+t);return 1e3===this.bytes[t]},t.prototype.getECIValue=function(t){if(t<0||t>=this.length())throw new Error(""+t);if(!this.isECI(t))throw new Error("value at "+t+" is not an ECI but a character");return this.bytes[t]-256},t.prototype.addEdge=function(t,e,r){(null==t[e][r.encoderIndex]||t[e][r.encoderIndex].cachedTotalSize>r.cachedTotalSize)&&(t[e][r.encoderIndex]=r)},t.prototype.addEdges=function(t,e,r,n,o,i){var a=t.charAt(n).charCodeAt(0),s=0,u=e.length();e.getPriorityEncoderIndex()>=0&&(a===i||e.canEncode(a,e.getPriorityEncoderIndex()))&&(u=(s=e.getPriorityEncoderIndex())+1);for(var c=s;c=0;i--)f.unshift(255&l[i])}(null===h.previous?0:h.previous.encoderIndex)!==h.encoderIndex&&f.unshift(256+e.getECIValue(h.encoderIndex)),h=h.previous}var d=[];for(i=0;i=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},wi=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a},vi=function(){for(var t=[],e=0;e","?","@","[","\\","]","^","_"],_i=function(){function t(){}return t.isExtendedASCII=function(t,e){return t!==e&&t>=128&&t<=255},t.isInC40Shift1Set=function(t){return t<=31},t.isInC40Shift2Set=function(t,e){var r,n;try{for(var o=yi(Ci),i=o.next();!i.done;i=o.next()){if(i.value.charCodeAt(0)===t)return!0}}catch(t){r={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}return t===e},t.isInTextShift1Set=function(t){return this.isInC40Shift1Set(t)},t.isInTextShift2Set=function(t,e){return this.isInC40Shift2Set(t,e)},t.encodeHighLevel=function(t,e,r,n){void 0===e&&(e=null),void 0===r&&(r=-1),void 0===n&&(n=0);var o=0;return t.startsWith(Wo)&&t.endsWith(jo)?(o=5,t=t.substring(7,t.length-2)):t.startsWith(zo)&&t.endsWith(jo)&&(o=6,t=t.substring(7,t.length-2)),decodeURIComponent(escape(String.fromCharCode.apply(String,vi(this.encode(t,e,r,n,o)))))},t.encode=function(t,e,r,n,o){return this.encodeMinimally(new Ei(t,e,r,n,o)).getBytes()},t.addEdge=function(t,e){var r=e.fromPosition+e.characterLength;(null===t[r][e.getEndMode()]||t[r][e.getEndMode()].cachedTotalSize>e.cachedTotalSize)&&(t[r][e.getEndMode()]=e)},t.getNumberOfC40Words=function(e,r,n,o){for(var i=0,a=r;a=128&&(n&&ci.isNativeC40(u-128)||!n&&ci.isNativeText(u-128))?i+=3:i+=4}else i+=2;if(i%3==0||(i-2)%3==0&&a+1===e.length())return o[0]=a-r+1,Math.ceil(i/3)}return o[0]=0,0},t.addEdges=function(e,r,n,o){var i,a;if(e.isECI(n))this.addEdge(r,new mi(e,Go.ASCII,n,1,o));else{var s,u=e.charAt(n);if(null===o||o.getEndMode()!==Go.EDF){ci.isDigit(u)&&e.haveNCharacters(n,2)&&ci.isDigit(e.charAt(n+1))?this.addEdge(r,new mi(e,Go.ASCII,n,2,o)):this.addEdge(r,new mi(e,Go.ASCII,n,1,o));var c=[Go.C40,Go.TEXT];try{for(var f=yi(c),h=f.next();!h.done;h=f.next()){var l=h.value,d=[];t.getNumberOfC40Words(e,n,l===Go.C40,d)>0&&this.addEdge(r,new mi(e,l,n,d[0],o))}}catch(t){i={error:t}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(i)throw i.error}}e.haveNCharacters(n,3)&&ci.isNativeX12(e.charAt(n))&&ci.isNativeX12(e.charAt(n+1))&&ci.isNativeX12(e.charAt(n+2))&&this.addEdge(r,new mi(e,Go.X12,n,3,o)),this.addEdge(r,new mi(e,Go.B256,n,1,o))}for(s=0;s<3;s++){var p=n+s;if(!e.haveNCharacters(p,1)||!ci.isNativeEDIFACT(e.charAt(p)))break;this.addEdge(r,new mi(e,Go.EDF,n,s+1,o))}3===s&&e.haveNCharacters(n,4)&&ci.isNativeEDIFACT(e.charAt(n+3))&&this.addEdge(r,new mi(e,Go.EDF,n,4,o))}},t.encodeMinimally=function(t){var e=t.length(),r=Array(e+1).fill(null).map((function(){return Array(6).fill(0)}));this.addEdges(t,r,0,null);for(var n=1;n<=e;n++){for(var o=0;o<6;o++)null!==r[n][o]&&n=1&&o<=3?s.cachedTotalSize+1:s.cachedTotalSize;u0&&(r+=this.prepend(mi.getBytes(232),n));for(var s=0;s=0;r--)e.unshift(t[r]);return t.length},t.prototype.randomize253State=function(t){var e=129+(149*t%253+1);return e<=254?e:e-254},t.prototype.applyRandomPattern=function(t,e,r){for(var n=0;n0&&this.getCodewordsRemaining(this.cachedTotalSize+t)<=2-t)return Go.ASCII}if(this.mode===Go.C40||this.mode===Go.TEXT||this.mode===Go.X12){if(this.fromPosition+this.characterLength>=this.input.length()&&0===this.getCodewordsRemaining(this.cachedTotalSize))return Go.ASCII;var t;if(1===(t=this.getLastASCII())&&0===this.getCodewordsRemaining(this.cachedTotalSize+1))return Go.ASCII}return this.mode},t.prototype.getMode=function(){return this.mode},t.prototype.getLastASCII=function(){var t=this.input.length(),e=this.fromPosition+this.characterLength;return t-e>4||e>=t?0:t-e==1?_i.isExtendedASCII(this.input.charAt(e),this.input.getFNC1Character())?0:1:t-e==2?_i.isExtendedASCII(this.input.charAt(e),this.input.getFNC1Character())||_i.isExtendedASCII(this.input.charAt(e+1),this.input.getFNC1Character())?0:ci.isDigit(this.input.charAt(e))&&ci.isDigit(this.input.charAt(e+1))?1:2:t-e==3?ci.isDigit(this.input.charAt(e))&&ci.isDigit(this.input.charAt(e+1))&&!_i.isExtendedASCII(this.input.charAt(e+2),this.input.getFNC1Character())||ci.isDigit(this.input.charAt(e+1))&&ci.isDigit(this.input.charAt(e+2))&&!_i.isExtendedASCII(this.input.charAt(e),this.input.getFNC1Character())?2:0:ci.isDigit(this.input.charAt(e))&&ci.isDigit(this.input.charAt(e+1))&&ci.isDigit(this.input.charAt(e+2))&&ci.isDigit(this.input.charAt(e+3))?2:0},t.prototype.getMinSymbolSize=function(t){var e,r,n,o,i,a;switch(this.input.getShapeHint()){case 1:try{for(var s=yi(this.squareCodewordCapacities),u=s.next();!u.done;u=s.next()){if((d=u.value)>=t)return d}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}break;case 2:try{for(var c=yi(this.rectangularCodewordCapacities),f=c.next();!f.done;f=c.next()){if((d=f.value)>=t)return d}}catch(t){n={error:t}}finally{try{f&&!f.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}}try{for(var h=yi(this.allCodewordCapacities),l=h.next();!l.done;l=h.next()){var d;if((d=l.value)>=t)return d}}catch(t){i={error:t}}finally{try{l&&!l.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}return this.allCodewordCapacities[this.allCodewordCapacities.length-1]},t.prototype.getCodewordsRemaining=function(t){return this.getMinSymbolSize(t)-t},t.getBytes=function(t,e){var r=new Uint8Array(e?2:1);return r[0]=t,e&&(r[1]=e),r},t.prototype.setC40Word=function(t,e,r,n,o){var i=1600*(255&r)+40*(255&n)+(255&o)+1;t[e]=i/256,t[e+1]=i%256},t.prototype.getX12Value=function(t){return 13===t?0:42===t?1:62===t?2:32===t?3:t>=48&&t<=57?t-44:t>=65&&t<=90?t-51:t},t.prototype.getX12Words=function(){if(this.characterLength%3!=0)throw new Error("X12 words must be a multiple of 3");for(var t=new Uint8Array(this.characterLength/3*2),e=0;e=33&&r<=47?r-33:r>=48&&r<=57?r-44:r>=58&&r<=64?r-43:r>=65&&r<=90?r-64:r>=91&&r<=95?r-69:96===r?0:r>=97&&r<=122?r-83:r>=123&&r<=127?r-96:r},t.prototype.getC40Words=function(t,e){for(var r=[],n=0;n>16&255,e[o+1]=s>>8&255,e[o+2]=255&s}return e},t.prototype.getLatchBytes=function(){switch(this.getPreviousMode()){case Go.ASCII:case Go.B256:switch(this.mode){case Go.B256:return t.getBytes(231);case Go.C40:return t.getBytes(230);case Go.TEXT:return t.getBytes(239);case Go.X12:return t.getBytes(238);case Go.EDF:return t.getBytes(240)}break;case Go.C40:case Go.TEXT:case Go.X12:if(this.mode!==this.getPreviousMode())switch(this.mode){case Go.ASCII:return t.getBytes(254);case Go.B256:return t.getBytes(254,231);case Go.C40:return t.getBytes(254,230);case Go.TEXT:return t.getBytes(254,239);case Go.X12:return t.getBytes(254,238);case Go.EDF:return t.getBytes(254,240)}break;case Go.EDF:if(this.mode!==Go.EDF)throw new Error("Cannot switch from EDF to "+this.mode)}return new Uint8Array(0)},t.prototype.getDataBytes=function(){switch(this.mode){case Go.ASCII:return this.input.isECI(this.fromPosition)?t.getBytes(241,this.input.getECIValue(this.fromPosition)+1):_i.isExtendedASCII(this.input.charAt(this.fromPosition),this.input.getFNC1Character())?t.getBytes(235,this.input.charAt(this.fromPosition)-127):2===this.characterLength?t.getBytes(10*this.input.charAt(this.fromPosition)+this.input.charAt(this.fromPosition+1)+130):this.input.isFNC1(this.fromPosition)?t.getBytes(232):t.getBytes(this.input.charAt(this.fromPosition)+1);case Go.B256:return t.getBytes(this.input.charAt(this.fromPosition));case Go.C40:return this.getC40Words(!0,this.input.getFNC1Character());case Go.TEXT:return this.getC40Words(!1,this.input.getFNC1Character());case Go.X12:return this.getX12Words();case Go.EDF:return this.getEDFBytes()}},t}(),Ei=function(t){function e(e,r,n,o,i){var a=t.call(this,e,r,n)||this;return a.shape=o,a.macroId=i,a}return gi(e,t),e.prototype.getMacroId=function(){return this.macroId},e.prototype.getShapeHint=function(){return this.shape},e}(di),Ii=function(){function t(){}return t.prototype.encode=function(t,e,r,n,o){if(void 0===o&&(o=null),""===t.trim())throw new Error("Found empty contents");if(e!==$.DATA_MATRIX)throw new Error("Can only encode DATA_MATRIX, but got "+e);if(r<0||n<0)throw new Error("Requested dimensions can't be negative: "+r+"x"+n);var i,a=0,s=null,u=null;if(null!=o){var c=o.get(yo.DATA_MATRIX_SHAPE);null!=c&&(a=c);var f=o.get(yo.MIN_SIZE);null!=f&&(s=f);var h=o.get(yo.MAX_SIZE);null!=h&&(u=h)}if(null!=o&&o.has(yo.DATA_MATRIX_COMPACT)&&Boolean(o.get(yo.DATA_MATRIX_COMPACT).toString())){var l=o.has(yo.GS1_FORMAT)&&Boolean(o.get(yo.GS1_FORMAT).toString()),d=null;o.has(yo.CHARACTER_SET)&&(d=Fo.forName(o.get(yo.CHARACTER_SET).toString())),i=_i.encodeHighLevel(t,d,l?29:-1,a)}else{var p=null!=o&&o.has(yo.FORCE_C40)&&Boolean(o.get(yo.FORCE_C40).toString());i=ci.encodeHighLevel(t,a,s,u,p)}var g=ti.lookup(i.length,a,s,u,!0),y=Yo.encodeECC200(i,g),w=new ko(y,g.getSymbolDataWidth(),g.getSymbolDataHeight());return w.place(),this.encodeLowLevel(w,g,r,n)},t.prototype.encodeLowLevel=function(t,e,r,n){for(var o=e.getSymbolDataWidth(),i=e.getSymbolDataHeight(),a=new _o(e.getSymbolWidth(),e.getSymbolHeight()),s=0,u=0;u"},e}(Oi),Ni=function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},t(e,r)};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Di=function(t){function e(e,r,n){var o=t.call(this,e,0,0)||this;return o.binaryShiftStart=r,o.binaryShiftByteCount=n,o}return Ni(e,t),e.prototype.appendTo=function(t,e){for(var r=0;r62?t.appendBits(this.binaryShiftByteCount-31,16):0===r?t.appendBits(Math.min(this.binaryShiftByteCount,31),5):t.appendBits(this.binaryShiftByteCount-31,5)),t.appendBits(e[this.binaryShiftStart+r],8)},e.prototype.addBinaryShift=function(t,r){return new e(this,t,r)},e.prototype.toString=function(){return"<"+this.binaryShiftStart+"::"+(this.binaryShiftStart+this.binaryShiftByteCount-1)+">"},e}(Ri);function Mi(t,e,r){return new Ri(t,e,r)}var Pi=["UPPER","LOWER","DIGIT","MIXED","PUNCT"],Bi=new Ri(null,0,0),Li=[Int32Array.from([0,327708,327710,327709,656318]),Int32Array.from([590318,0,327710,327709,656318]),Int32Array.from([262158,590300,0,590301,932798]),Int32Array.from([327709,327708,656318,0,327710]),Int32Array.from([327711,656380,656382,656381,0])],Fi=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};var xi=function(t){var e,r;try{for(var n=Fi(t),o=n.next();!o.done;o=n.next()){var i=o.value;C.fill(i,-1)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return t[0][4]=0,t[1][4]=0,t[1][0]=28,t[3][4]=0,t[2][4]=0,t[2][0]=15,t}(C.createInt32Array(6,6)),ki=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Vi=function(){function t(t,e,r,n){this.token=t,this.mode=e,this.binaryShiftByteCount=r,this.bitCount=n}return t.prototype.getMode=function(){return this.mode},t.prototype.getToken=function(){return this.token},t.prototype.getBinaryShiftByteCount=function(){return this.binaryShiftByteCount},t.prototype.getBitCount=function(){return this.bitCount},t.prototype.latchAndAppend=function(e,r){var n=this.bitCount,o=this.token;if(e!==this.mode){var i=Li[this.mode][e];o=Mi(o,65535&i,i>>16),n+=i>>16}var a=2===e?4:5;return new t(o=Mi(o,r,a),e,0,n+a)},t.prototype.shiftAndAppend=function(e,r){var n=this.token,o=2===this.mode?4:5;return n=Mi(n,xi[this.mode][e],o),new t(n=Mi(n,r,5),this.mode,0,this.bitCount+o+5)},t.prototype.addBinaryShiftChar=function(e){var r=this.token,n=this.mode,o=this.bitCount;if(4===this.mode||2===this.mode){var i=Li[n][0];r=Mi(r,65535&i,i>>16),o+=i>>16,n=0}var a=0===this.binaryShiftByteCount||31===this.binaryShiftByteCount?18:62===this.binaryShiftByteCount?9:8,s=new t(r,n,this.binaryShiftByteCount+1,o+a);return 2078===s.binaryShiftByteCount&&(s=s.endBinaryShift(e+1)),s},t.prototype.endBinaryShift=function(e){if(0===this.binaryShiftByteCount)return this;var r=this.token;return new t(r=function(t,e,r){return new Di(t,e,r)}(r,e-this.binaryShiftByteCount,this.binaryShiftByteCount),this.mode,0,this.bitCount)},t.prototype.isBetterThanOrEqualTo=function(e){var r=this.bitCount+(Li[this.mode][e.mode]>>16);return this.binaryShiftByteCounte.binaryShiftByteCount&&e.binaryShiftByteCount>0&&(r+=10),r<=e.bitCount},t.prototype.toBitArray=function(t){for(var e,r,n=[],o=this.endBinaryShift(t.length).token;null!==o;o=o.getPrevious())n.unshift(o);var i=new A;try{for(var a=ki(n),s=a.next();!s.done;s=a.next()){s.value.appendTo(i,t)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}return i},t.prototype.toString=function(){return M.format("%s bits=%d bytes=%d",Pi[this.mode],this.bitCount,this.binaryShiftByteCount)},t.calculateBinaryShiftCost=function(t){return t.binaryShiftByteCount>62?21:t.binaryShiftByteCount>31?20:t.binaryShiftByteCount>0?10:0},t.INITIAL_STATE=new t(Bi,0,0,0),t}();var Hi=function(t){var e=M.getCharCode(" "),r=M.getCharCode("."),n=M.getCharCode(",");t[0][e]=1;for(var o=M.getCharCode("Z"),i=M.getCharCode("A"),a=i;a<=o;a++)t[0][a]=a-i+2;t[1][e]=1;var s=M.getCharCode("z"),u=M.getCharCode("a");for(a=u;a<=s;a++)t[1][a]=a-u+2;t[2][e]=1;var c=M.getCharCode("9"),f=M.getCharCode("0");for(a=f;a<=c;a++)t[2][a]=a-f+2;t[2][n]=12,t[2][r]=13;for(var h=["\0"," ","","","","","","","","\b","\t","\n","\v","\f","\r","","","","","","@","\\","^","_","`","|","~",""],l=0;l","?","[","]","{","}"];for(l=0;l0&&(t[4][M.getCharCode(d[l])]=l);return t}(C.createInt32Array(5,256)),Ui=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Xi=function(){function t(t){this.text=t}return t.prototype.encode=function(){for(var e=M.getCharCode(" "),r=M.getCharCode("\n"),n=Ti.singletonList(Vi.INITIAL_STATE),o=0;o0?(n=t.updateStateListForPair(n,o,i),o++):n=this.updateStateListForChar(n,o)}return Ti.min(n,(function(t,e){return t.getBitCount()-e.getBitCount()})).toBitArray(this.text)},t.prototype.updateStateListForChar=function(e,r){var n,o,i=[];try{for(var a=Ui(e),s=a.next();!s.done;s=a.next()){var u=s.value;this.updateStateForChar(u,r,i)}}catch(t){n={error:t}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}return t.simplifyStates(i)},t.prototype.updateStateForChar=function(t,e,r){for(var n=255&this.text[e],o=Hi[t.getMode()][n]>0,i=null,a=0;a<=4;a++){var s=Hi[a][n];if(s>0){if(null==i&&(i=t.endBinaryShift(e)),!o||a===t.getMode()||2===a){var u=i.latchAndAppend(a,s);r.push(u)}if(!o&&xi[t.getMode()][a]>=0){var c=i.shiftAndAppend(a,s);r.push(c)}}}if(t.getBinaryShiftByteCount()>0||0===Hi[t.getMode()][n]){var f=t.addBinaryShiftChar(e);r.push(f)}},t.updateStateListForPair=function(t,e,r){var n,o,i=[];try{for(var a=Ui(t),s=a.next();!s.done;s=a.next()){var u=s.value;this.updateStateForPair(u,e,r,i)}}catch(t){n={error:t}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}return this.simplifyStates(i)},t.updateStateForPair=function(t,e,r,n){var o=t.endBinaryShift(e);if(n.push(o.latchAndAppend(4,r)),4!==t.getMode()&&n.push(o.shiftAndAppend(4,r)),3===r||4===r){var i=o.latchAndAppend(2,16-r).latchAndAppend(2,1);n.push(i)}if(t.getBinaryShiftByteCount()>0){var a=t.addBinaryShiftChar(e).addBinaryShiftChar(e+1);n.push(a)}},t.simplifyStates=function(t){var e,r,n,o,i=[];try{for(var a=Ui(t),s=a.next();!s.done;s=a.next()){var u=s.value,c=!0,f=function(t){if(t.isBetterThanOrEqualTo(u))return c=!1,"break";u.isBetterThanOrEqualTo(t)&&(i=i.filter((function(e){return e!==t})))};try{for(var h=(n=void 0,Ui(i)),l=h.next();!l.done;l=h.next()){if("break"===f(l.value))break}}catch(t){n={error:t}}finally{try{l&&!l.done&&(o=h.return)&&o.call(h)}finally{if(n)throw n.error}}c&&i.push(u)}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(e)throw e.error}}return i},t}(),Gi=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Wi=function(){function t(){}return t.encodeBytes=function(e){return t.encode(e,t.DEFAULT_EC_PERCENT,t.DEFAULT_AZTEC_LAYERS)},t.encode=function(e,r,n){var o,i,a,s,c,f=new Xi(e).encode(),h=_.truncDivision(f.getSize()*r,100)+11,l=f.getSize()+h;if(n!==t.DEFAULT_AZTEC_LAYERS){if(o=n<0,(i=Math.abs(n))>(o?t.MAX_NB_BITS_COMPACT:t.MAX_NB_BITS))throw new u(M.format("Illegal value %s for layers",n));var d=(a=t.totalBitsInLayer(i,o))-a%(s=t.WORD_SIZE[i]);if((c=t.stuffBits(f,s)).getSize()+h>d)throw new u("Data to large for user specified layer");if(o&&c.getSize()>64*s)throw new u("Data to large for user specified layer")}else{s=0,c=null;for(var p=0;;p++){if(p>t.MAX_NB_BITS)throw new u("Data too large for an Aztec code");if(i=(o=p<=3)?p+1:p,!(l>(a=t.totalBitsInLayer(i,o)))){null!=c&&s===t.WORD_SIZE[i]||(s=t.WORD_SIZE[i],c=t.stuffBits(f,s));d=a-a%s;if(!(o&&c.getSize()>64*s)&&c.getSize()+h<=d)break}}}var g,y=t.generateCheckWords(c,a,s),w=c.getSize()/s,v=t.generateModeMessage(o,i,w),C=(o?11:14)+4*i,A=new Int32Array(C);if(o){g=C;for(p=0;p=n||t.get(i+s))&&(a|=1<=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},$=function(){function r(){}return r.fill=function(t,e){for(var n=0,o=t.length;nn)throw new N("fromIndex("+e+") > toIndex("+n+")");if(e<0)throw new ze(e);if(n>t)throw new ze(n)},r.asList=function(){for(var t=[],e=0;e>1,s=n(e,t[a]);if(s>0)o=a+1;else{if(!(s<0))return a;i=a-1}}return-o-1},r.numberComparator=function(t,e){return t-e},r}(),P=function(){function r(){}return r.numberOfTrailingZeros=function(t){var e;if(t===0)return 32;var n=31;return(e=t<<16)!==0&&(n-=16,t=e),(e=t<<8)!==0&&(n-=8,t=e),(e=t<<4)!==0&&(n-=4,t=e),(e=t<<2)!==0&&(n-=2,t=e),n-(t<<1>>>31)},r.numberOfLeadingZeros=function(t){if(t===0)return 32;var e=1;return!(t>>>16)&&(e+=16,t<<=16),!(t>>>24)&&(e+=8,t<<=8),!(t>>>28)&&(e+=4,t<<=4),!(t>>>30)&&(e+=2,t<<=2),e-=t>>>31},r.toHexString=function(t){return t.toString(16)},r.toBinaryString=function(t){return String(parseInt(String(t),2))},r.bitCount=function(t){return t=(t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135,t+=t>>>8,63&(t+=t>>>16)},r.truncDivision=function(t,e){return Math.trunc(t/e)},r.parseInt=function(t,e){return e===void 0&&(e=void 0),parseInt(t,e)},r.MIN_VALUE_32_BITS=-2147483648,r.MAX_VALUE=Number.MAX_SAFE_INTEGER,r}(),st=function(){function r(t,e){t===void 0?(this.size=0,this.bits=new Int32Array(1)):(this.size=t,this.bits=e??r.makeArray(t))}return r.prototype.getSize=function(){return this.size},r.prototype.getSizeInBytes=function(){return Math.floor((this.size+7)/8)},r.prototype.ensureCapacity=function(t){if(t>32*this.bits.length){var e=r.makeArray(t);Z.arraycopy(this.bits,0,e,0,this.bits.length),this.bits=e}},r.prototype.get=function(t){return(this.bits[Math.floor(t/32)]&1<<(31&t))!=0},r.prototype.set=function(t){this.bits[Math.floor(t/32)]|=1<<(31&t)},r.prototype.flip=function(t){this.bits[Math.floor(t/32)]^=1<<(31&t)},r.prototype.getNextSet=function(t){var e=this.size;if(t>=e)return e;var n=this.bits,o=Math.floor(t/32),i=n[o];i&=~((1<<(31&t))-1);for(var a=n.length;i===0;){if(++o===a)return e;i=n[o]}var s=32*o+P.numberOfTrailingZeros(i);return s>e?e:s},r.prototype.getNextUnset=function(t){var e=this.size;if(t>=e)return e;var n=this.bits,o=Math.floor(t/32),i=~n[o];i&=~((1<<(31&t))-1);for(var a=n.length;i===0;){if(++o===a)return e;i=~n[o]}var s=32*o+P.numberOfTrailingZeros(i);return s>e?e:s},r.prototype.setBulk=function(t,e){this.bits[Math.floor(t/32)]=e},r.prototype.setRange=function(t,e){if(ethis.size)throw new N;if(e!==t){e--;for(var n=Math.floor(t/32),o=Math.floor(e/32),i=this.bits,a=n;a<=o;a++){var s=(2<<(an?0:31&t));i[a]|=s}}},r.prototype.clear=function(){for(var t=this.bits.length,e=this.bits,n=0;nthis.size)throw new N;if(e===t)return!0;e--;for(var o=Math.floor(t/32),i=Math.floor(e/32),a=this.bits,s=o;s<=i;s++){var u=(2<<(so?0:31&t))&4294967295;if((a[s]&u)!==(n?u:0))return!1}return!0},r.prototype.appendBit=function(t){this.ensureCapacity(this.size+1),t&&(this.bits[Math.floor(this.size/32)]|=1<<(31&this.size)),this.size++},r.prototype.appendBits=function(t,e){if(e<0||e>32)throw new N("Num bits must be between 0 and 32");this.ensureCapacity(this.size+e);for(var n=e;n>0;n--)this.appendBit((t>>n-1&1)==1)},r.prototype.appendBitArray=function(t){var e=t.size;this.ensureCapacity(this.size+e);for(var n=0;n>1&1431655765|(1431655765&a)<<1)>>2&858993459|(858993459&a)<<2)>>4&252645135|(252645135&a)<<4)>>8&16711935|(16711935&a)<<8)>>16&65535|(65535&a)<<16,t[e-i]=a}if(this.size!==32*n){var s=32*n-this.size,u=t[0]>>>s;for(i=1;i>>s}t[n-1]=u}this.bits=t},r.makeArray=function(t){return new Int32Array(Math.floor((t+31)/32))},r.prototype.equals=function(t){if(!(t instanceof r))return!1;var e=t;return this.size===e.size&&$.equals(this.bits,e.bits)},r.prototype.hashCode=function(){return 31*this.size+$.hashCode(this.bits)},r.prototype.toString=function(){for(var t="",e=0,n=this.size;e=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};(function(r){r[r.Cp437=0]="Cp437",r[r.ISO8859_1=1]="ISO8859_1",r[r.ISO8859_2=2]="ISO8859_2",r[r.ISO8859_3=3]="ISO8859_3",r[r.ISO8859_4=4]="ISO8859_4",r[r.ISO8859_5=5]="ISO8859_5",r[r.ISO8859_6=6]="ISO8859_6",r[r.ISO8859_7=7]="ISO8859_7",r[r.ISO8859_8=8]="ISO8859_8",r[r.ISO8859_9=9]="ISO8859_9",r[r.ISO8859_10=10]="ISO8859_10",r[r.ISO8859_11=11]="ISO8859_11",r[r.ISO8859_13=12]="ISO8859_13",r[r.ISO8859_14=13]="ISO8859_14",r[r.ISO8859_15=14]="ISO8859_15",r[r.ISO8859_16=15]="ISO8859_16",r[r.SJIS=16]="SJIS",r[r.Cp1250=17]="Cp1250",r[r.Cp1251=18]="Cp1251",r[r.Cp1252=19]="Cp1252",r[r.Cp1256=20]="Cp1256",r[r.UnicodeBigUnmarked=21]="UnicodeBigUnmarked",r[r.UTF8=22]="UTF8",r[r.ASCII=23]="ASCII",r[r.Big5=24]="Big5",r[r.GB18030=25]="GB18030",r[r.EUC_KR=26]="EUC_KR"})(z||(z={}));var me,nt=function(){function r(t,e,n){for(var o,i,a=[],s=3;s=900)throw new T("incorect value");var e=r.VALUES_TO_ECI.get(t);if(e===void 0)throw new T("incorect value");return e},r.getCharacterSetECIByName=function(t){var e=r.NAME_TO_ECI.get(t);if(e===void 0)throw new T("incorect value");return e},r.prototype.equals=function(t){if(!(t instanceof r))return!1;var e=t;return this.getName()===e.getName()},r.VALUE_IDENTIFIER_TO_ECI=new Map,r.VALUES_TO_ECI=new Map,r.NAME_TO_ECI=new Map,r.Cp437=new r(z.Cp437,Int32Array.from([0,2]),"Cp437"),r.ISO8859_1=new r(z.ISO8859_1,Int32Array.from([1,3]),"ISO-8859-1","ISO88591","ISO8859_1"),r.ISO8859_2=new r(z.ISO8859_2,4,"ISO-8859-2","ISO88592","ISO8859_2"),r.ISO8859_3=new r(z.ISO8859_3,5,"ISO-8859-3","ISO88593","ISO8859_3"),r.ISO8859_4=new r(z.ISO8859_4,6,"ISO-8859-4","ISO88594","ISO8859_4"),r.ISO8859_5=new r(z.ISO8859_5,7,"ISO-8859-5","ISO88595","ISO8859_5"),r.ISO8859_6=new r(z.ISO8859_6,8,"ISO-8859-6","ISO88596","ISO8859_6"),r.ISO8859_7=new r(z.ISO8859_7,9,"ISO-8859-7","ISO88597","ISO8859_7"),r.ISO8859_8=new r(z.ISO8859_8,10,"ISO-8859-8","ISO88598","ISO8859_8"),r.ISO8859_9=new r(z.ISO8859_9,11,"ISO-8859-9","ISO88599","ISO8859_9"),r.ISO8859_10=new r(z.ISO8859_10,12,"ISO-8859-10","ISO885910","ISO8859_10"),r.ISO8859_11=new r(z.ISO8859_11,13,"ISO-8859-11","ISO885911","ISO8859_11"),r.ISO8859_13=new r(z.ISO8859_13,15,"ISO-8859-13","ISO885913","ISO8859_13"),r.ISO8859_14=new r(z.ISO8859_14,16,"ISO-8859-14","ISO885914","ISO8859_14"),r.ISO8859_15=new r(z.ISO8859_15,17,"ISO-8859-15","ISO885915","ISO8859_15"),r.ISO8859_16=new r(z.ISO8859_16,18,"ISO-8859-16","ISO885916","ISO8859_16"),r.SJIS=new r(z.SJIS,20,"SJIS","Shift_JIS"),r.Cp1250=new r(z.Cp1250,21,"Cp1250","windows-1250"),r.Cp1251=new r(z.Cp1251,22,"Cp1251","windows-1251"),r.Cp1252=new r(z.Cp1252,23,"Cp1252","windows-1252"),r.Cp1256=new r(z.Cp1256,24,"Cp1256","windows-1256"),r.UnicodeBigUnmarked=new r(z.UnicodeBigUnmarked,25,"UnicodeBigUnmarked","UTF-16BE","UnicodeBig"),r.UTF8=new r(z.UTF8,26,"UTF8","UTF-8"),r.ASCII=new r(z.ASCII,Int32Array.from([27,170]),"ASCII","US-ASCII"),r.Big5=new r(z.Big5,28,"Big5"),r.GB18030=new r(z.GB18030,29,"GB18030","GB2312","EUC_CN","GBK"),r.EUC_KR=new r(z.EUC_KR,30,"EUC_KR","EUC-KR"),r}(),rn=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),ne=function(r){function t(){return r!==null&&r.apply(this,arguments)||this}return rn(t,r),t.kind="UnsupportedOperationException",t}(wt),At=function(){function r(){}return r.decode=function(t,e){var n=this.encodingName(e);return this.customDecoder?this.customDecoder(t,n):typeof TextDecoder>"u"||this.shouldDecodeOnFallback(n)?this.decodeFallback(t,n):new TextDecoder(n).decode(t)},r.shouldDecodeOnFallback=function(t){return!r.isBrowser()&&t==="ISO-8859-1"},r.encode=function(t,e){var n=this.encodingName(e);return this.customEncoder?this.customEncoder(t,n):typeof TextEncoder>"u"?this.encodeFallback(t):new TextEncoder().encode(t)},r.isBrowser=function(){return typeof window<"u"&&{}.toString.call(window)==="[object Window]"},r.encodingName=function(t){return typeof t=="string"?t:t.getName()},r.encodingCharacterSet=function(t){return t instanceof nt?t:nt.getCharacterSetECIByName(t)},r.decodeFallback=function(t,e){var n=this.encodingCharacterSet(e);if(r.isDecodeFallbackSupported(n)){for(var o="",i=0,a=t.length;i3&&t[0]===239&&t[1]===187&&t[2]===191,_=0;_0?128&m?s--:a=!1:128&m&&(64&m?(s++,32&m?(s++,16&m?(s++,8&m?a=!1:f++):c++):u++):a=!1)),o&&(m>127&&m<160?o=!1:m>159&&(m<192||m===215||m===247)&&w++),i&&(h>0?m<64||m===127||m>252?i=!1:h--:m===128||m===160||m>239?i=!1:m>160&&m<224?(l++,p=0,++d>y&&(y=d)):m>127?(h++,d=0,++p>C&&(C=p)):(d=0,p=0))}return a&&s>0&&(a=!1),i&&h>0&&(i=!1),a&&(v||u+c+f>0)?r.UTF8:i&&(r.ASSUME_SHIFT_JIS||y>=3||C>=3)?r.SHIFT_JIS:o&&i?y===2&&l===2||10*w>=n?r.SHIFT_JIS:r.ISO88591:o?r.ISO88591:i?r.SHIFT_JIS:a?r.UTF8:r.PLATFORM_DEFAULT_ENCODING},r.format=function(t){for(var e=[],n=1;na){if(s===-1)s=i-a;else if(i-a!==s)throw new N("row lengths do not match");a=i,u++}c++}else if(t.substring(c,c+e.length)===e)c+=e.length,o[i]=!0,i++;else{if(t.substring(c,c+n.length)!==n)throw new N("illegal character encountered: "+t.substring(c));c+=n.length,o[i]=!1,i++}if(i>a){if(s===-1)s=i-a;else if(i-a!==s)throw new N("row lengths do not match");u++}for(var f=new r(s,u),h=0;h>>(31&t)&1)!=0},r.prototype.set=function(t,e){var n=e*this.rowSize+Math.floor(t/32);this.bits[n]|=1<<(31&t)&4294967295},r.prototype.unset=function(t,e){var n=e*this.rowSize+Math.floor(t/32);this.bits[n]&=~(1<<(31&t)&4294967295)},r.prototype.flip=function(t,e){var n=e*this.rowSize+Math.floor(t/32);this.bits[n]^=1<<(31&t)&4294967295},r.prototype.xor=function(t){if(this.width!==t.getWidth()||this.height!==t.getHeight()||this.rowSize!==t.getRowSize())throw new N("input matrix dimensions do not match");for(var e=new st(Math.floor(this.width/32)+1),n=this.rowSize,o=this.bits,i=0,a=this.height;ithis.height||i>this.width)throw new N("The region must fit inside the matrix");for(var s=this.rowSize,u=this.bits,c=e;cu&&(u=c),32*fs){for(l=31;!(h>>>l);)l--;32*f+l>s&&(s=32*f+l)}}}return s=0&&e[n]===0;)n--;if(n<0)return null;for(var o=Math.floor(n/t),i=32*Math.floor(n%t),a=e[n],s=31;!(a>>>s);)s--;return i+=s,Int32Array.from([i,o])},r.prototype.getWidth=function(){return this.width},r.prototype.getHeight=function(){return this.height},r.prototype.getRowSize=function(){return this.rowSize},r.prototype.equals=function(t){if(!(t instanceof r))return!1;var e=t;return this.width===e.width&&this.height===e.height&&this.rowSize===e.rowSize&&$.equals(this.bits,e.bits)},r.prototype.hashCode=function(){var t=this.width;return t=31*(t=31*(t=31*(t=31*t+this.width)+this.height)+this.rowSize)+$.hashCode(this.bits)},r.prototype.toString=function(t,e,n){return t===void 0&&(t="X "),e===void 0&&(e=" "),n===void 0&&(n=` +`),this.buildToString(t,e,n)},r.prototype.buildToString=function(t,e,n){for(var o=new B,i=0,a=this.height;i>t.LUMINANCE_SHIFT]++;var c=t.estimateBlackPoint(s);if(i<3)for(u=0;u>t.LUMINANCE_SHIFT]++;var l=t.estimateBlackPoint(a),d=e.getMatrix();for(s=0;sa&&(i=s,a=e[s]),e[s]>o&&(o=e[s]);var u=0,c=0;for(s=0;sc&&(u=s,c=p)}if(i>u){var h=i;i=u,u=h}if(u-i<=n/16)throw new E;var l=u-1,d=-1;for(s=u-1;s>i;s--){var p,y=s-i;(p=y*y*(u-s)*(o-e[s]))>d&&(l=s,d=p)}return l<=t.MINIMUM_DIMENSION&&o>=t.MINIMUM_DIMENSION){var i=e.getMatrix(),a=n>>t.BLOCK_SIZE_POWER;n&t.BLOCK_SIZE_MASK&&a++;var s=o>>t.BLOCK_SIZE_POWER;o&t.BLOCK_SIZE_MASK&&s++;var u=t.calculateBlackPoints(i,a,s,n,o),c=new yt(n,o);t.calculateThresholdForBlock(i,a,s,n,o,u,c),this.matrix=c}else this.matrix=r.prototype.getBlackMatrix.call(this);return this.matrix},t.prototype.createBinarizer=function(e){return new t(e)},t.calculateThresholdForBlock=function(e,n,o,i,a,s,u){for(var c=a-t.BLOCK_SIZE,f=i-t.BLOCK_SIZE,h=0;hc&&(l=c);for(var d=t.cap(h,2,o-3),p=0;pf&&(y=f);for(var C=t.cap(p,2,n-3),w=0,v=-2;v<=2;v++){var _=s[d+v];w+=_[C-2]+_[C-1]+_[C]+_[C+1]+_[C+2]}var m=w/25;t.thresholdBlock(e,y,l,m,i,u)}}},t.cap=function(e,n,o){return eo?o:e},t.thresholdBlock=function(e,n,o,i,a,s){for(var u=0,c=o*a+n;us&&(h=s);for(var l=0;lu&&(d=u);for(var p=0,y=255,C=0,w=0,v=h*i+d;wC&&(C=m)}if(C-y>t.MIN_DYNAMIC_RANGE)for(w++,v+=i;w>2*t.BLOCK_SIZE_POWER;if(C-y<=t.MIN_DYNAMIC_RANGE&&(I=y/2,f>0&&l>0)){var S=(c[f-1][l]+2*c[f][l-1]+c[f-1][l-1])/4;y>10,i[s]=c}else{a=0,s=0;for(var f=e.length;a>10,i[s]=255-c}return i},t.prototype.getRow=function(e,n){if(e<0||e>=this.getHeight())throw new N("Requested row is outside the image: "+e);var o=this.getWidth(),i=e*o;return n===null?n=this.buffer.slice(i,i+o):(n.length0&&o[o.length-1])||f[0]!==6&&f[0]!==2)){a=0;continue}if(f[0]===3&&(!o||f[1]>o[0]&&f[1]=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Vt=function(){function r(t,e,n){e===void 0&&(e=500),this.reader=t,this.timeBetweenScansMillis=e,this._hints=n,this._stopContinuousDecode=!1,this._stopAsyncDecode=!1,this._timeBetweenDecodingAttempts=0}return Object.defineProperty(r.prototype,"hasNavigator",{get:function(){return typeof navigator<"u"},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isMediaDevicesSuported",{get:function(){return this.hasNavigator&&!!navigator.mediaDevices},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"canEnumerateDevices",{get:function(){return!(!this.isMediaDevicesSuported||!navigator.mediaDevices.enumerateDevices)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"timeBetweenDecodingAttempts",{get:function(){return this._timeBetweenDecodingAttempts},set:function(t){this._timeBetweenDecodingAttempts=t<0?0:t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"hints",{get:function(){return this._hints},set:function(t){this._hints=t||null},enumerable:!1,configurable:!0}),r.prototype.listVideoInputDevices=function(){return ht(this,void 0,void 0,function(){var t,e,n,o,i,a,s,u,c,f,h,l;return lt(this,function(d){switch(d.label){case 0:if(!this.hasNavigator)throw new Error("Can't enumerate devices, navigator is not present.");if(!this.canEnumerateDevices)throw new Error("Can't enumerate devices, method not supported.");return[4,navigator.mediaDevices.enumerateDevices()];case 1:t=d.sent(),e=[];try{for(n=dn(t),o=n.next();!o.done;o=n.next())i=o.value,(a=i.kind==="video"?"videoinput":i.kind)==="videoinput"&&(s=i.deviceId||i.id,u=i.label||"Video device "+(e.length+1),c=i.groupId,f={deviceId:s,label:u,kind:a,groupId:c},e.push(f))}catch(p){h={error:p}}finally{try{o&&!o.done&&(l=n.return)&&l.call(n)}finally{if(h)throw h.error}}return[2,e]}})})},r.prototype.getVideoInputDevices=function(){return ht(this,void 0,void 0,function(){return lt(this,function(t){switch(t.label){case 0:return[4,this.listVideoInputDevices()];case 1:return[2,t.sent().map(function(e){return new ln(e.deviceId,e.label)})]}})})},r.prototype.findDeviceById=function(t){return ht(this,void 0,void 0,function(){var e;return lt(this,function(n){switch(n.label){case 0:return[4,this.listVideoInputDevices()];case 1:return(e=n.sent())?[2,e.find(function(o){return o.deviceId===t})]:[2,null]}})})},r.prototype.decodeFromInputVideoDevice=function(t,e){return ht(this,void 0,void 0,function(){return lt(this,function(n){switch(n.label){case 0:return[4,this.decodeOnceFromVideoDevice(t,e)];case 1:return[2,n.sent()]}})})},r.prototype.decodeOnceFromVideoDevice=function(t,e){return ht(this,void 0,void 0,function(){var n;return lt(this,function(o){switch(o.label){case 0:return this.reset(),n={video:t?{deviceId:{exact:t}}:{facingMode:"environment"}},[4,this.decodeOnceFromConstraints(n,e)];case 1:return[2,o.sent()]}})})},r.prototype.decodeOnceFromConstraints=function(t,e){return ht(this,void 0,void 0,function(){var n;return lt(this,function(o){switch(o.label){case 0:return[4,navigator.mediaDevices.getUserMedia(t)];case 1:return n=o.sent(),[4,this.decodeOnceFromStream(n,e)];case 2:return[2,o.sent()]}})})},r.prototype.decodeOnceFromStream=function(t,e){return ht(this,void 0,void 0,function(){var n;return lt(this,function(o){switch(o.label){case 0:return this.reset(),[4,this.attachStreamToVideo(t,e)];case 1:return n=o.sent(),[4,this.decodeOnce(n)];case 2:return[2,o.sent()]}})})},r.prototype.decodeFromInputVideoDeviceContinuously=function(t,e,n){return ht(this,void 0,void 0,function(){return lt(this,function(o){switch(o.label){case 0:return[4,this.decodeFromVideoDevice(t,e,n)];case 1:return[2,o.sent()]}})})},r.prototype.decodeFromVideoDevice=function(t,e,n){return ht(this,void 0,void 0,function(){var o;return lt(this,function(i){switch(i.label){case 0:return o={video:t?{deviceId:{exact:t}}:{facingMode:"environment"}},[4,this.decodeFromConstraints(o,e,n)];case 1:return[2,i.sent()]}})})},r.prototype.decodeFromConstraints=function(t,e,n){return ht(this,void 0,void 0,function(){var o;return lt(this,function(i){switch(i.label){case 0:return[4,navigator.mediaDevices.getUserMedia(t)];case 1:return o=i.sent(),[4,this.decodeFromStream(o,e,n)];case 2:return[2,i.sent()]}})})},r.prototype.decodeFromStream=function(t,e,n){return ht(this,void 0,void 0,function(){var o;return lt(this,function(i){switch(i.label){case 0:return this.reset(),[4,this.attachStreamToVideo(t,e)];case 1:return o=i.sent(),[4,this.decodeContinuously(o,n)];case 2:return[2,i.sent()]}})})},r.prototype.stopAsyncDecode=function(){this._stopAsyncDecode=!0},r.prototype.stopContinuousDecode=function(){this._stopContinuousDecode=!0},r.prototype.attachStreamToVideo=function(t,e){return ht(this,void 0,void 0,function(){var n;return lt(this,function(o){switch(o.label){case 0:return n=this.prepareVideoElement(e),this.addVideoSource(n,t),this.videoElement=n,this.stream=t,[4,this.playVideoOnLoadAsync(n)];case 1:return o.sent(),[2,n]}})})},r.prototype.playVideoOnLoadAsync=function(t){var e=this;return new Promise(function(n,o){return e.playVideoOnLoad(t,function(){return n()})})},r.prototype.playVideoOnLoad=function(t,e){var n=this;this.videoEndedListener=function(){return n.stopStreams()},this.videoCanPlayListener=function(){return n.tryPlayVideo(t)},t.addEventListener("ended",this.videoEndedListener),t.addEventListener("canplay",this.videoCanPlayListener),t.addEventListener("playing",e),this.tryPlayVideo(t)},r.prototype.isVideoPlaying=function(t){return t.currentTime>0&&!t.paused&&!t.ended&&t.readyState>2},r.prototype.tryPlayVideo=function(t){return ht(this,void 0,void 0,function(){return lt(this,function(e){switch(e.label){case 0:if(this.isVideoPlaying(t))return console.warn("Trying to play video that is already playing."),[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,t.play()];case 2:return e.sent(),[3,4];case 3:return e.sent(),console.warn("It was not possible to play the video."),[3,4];case 4:return[2]}})})},r.prototype.getMediaElement=function(t,e){var n=document.getElementById(t);if(!n)throw new mt("element with id '"+t+"' not found");if(n.nodeName.toLowerCase()!==e.toLowerCase())throw new mt("element with id '"+t+"' must be an "+e+" element");return n},r.prototype.decodeFromImage=function(t,e){if(!t&&!e)throw new mt("either imageElement with a src set or an url must be provided");return e&&!t?this.decodeFromImageUrl(e):this.decodeFromImageElement(t)},r.prototype.decodeFromVideo=function(t,e){if(!t&&!e)throw new mt("Either an element with a src set or an URL must be provided");return e&&!t?this.decodeFromVideoUrl(e):this.decodeFromVideoElement(t)},r.prototype.decodeFromVideoContinuously=function(t,e,n){if(t===void 0&&e===void 0)throw new mt("Either an element with a src set or an URL must be provided");return e&&!t?this.decodeFromVideoUrlContinuously(e,n):this.decodeFromVideoElementContinuously(t,n)},r.prototype.decodeFromImageElement=function(t){if(!t)throw new mt("An image element must be provided.");this.reset();var e=this.prepareImageElement(t);return this.imageElement=e,this.isImageLoaded(e)?this.decodeOnce(e,!1,!0):this._decodeOnLoadImage(e)},r.prototype.decodeFromVideoElement=function(t){var e=this._decodeFromVideoElementSetup(t);return this._decodeOnLoadVideo(e)},r.prototype.decodeFromVideoElementContinuously=function(t,e){var n=this._decodeFromVideoElementSetup(t);return this._decodeOnLoadVideoContinuously(n,e)},r.prototype._decodeFromVideoElementSetup=function(t){if(!t)throw new mt("A video element must be provided.");this.reset();var e=this.prepareVideoElement(t);return this.videoElement=e,e},r.prototype.decodeFromImageUrl=function(t){if(!t)throw new mt("An URL must be provided.");this.reset();var e=this.prepareImageElement();this.imageElement=e;var n=this._decodeOnLoadImage(e);return e.src=t,n},r.prototype.decodeFromVideoUrl=function(t){if(!t)throw new mt("An URL must be provided.");this.reset();var e=this.prepareVideoElement(),n=this.decodeFromVideoElement(e);return e.src=t,n},r.prototype.decodeFromVideoUrlContinuously=function(t,e){if(!t)throw new mt("An URL must be provided.");this.reset();var n=this.prepareVideoElement(),o=this.decodeFromVideoElementContinuously(n,e);return n.src=t,o},r.prototype._decodeOnLoadImage=function(t){var e=this;return new Promise(function(n,o){e.imageLoadedListener=function(){return e.decodeOnce(t,!1,!0).then(n,o)},t.addEventListener("load",e.imageLoadedListener)})},r.prototype._decodeOnLoadVideo=function(t){return ht(this,void 0,void 0,function(){return lt(this,function(e){switch(e.label){case 0:return[4,this.playVideoOnLoadAsync(t)];case 1:return e.sent(),[4,this.decodeOnce(t)];case 2:return[2,e.sent()]}})})},r.prototype._decodeOnLoadVideoContinuously=function(t,e){return ht(this,void 0,void 0,function(){return lt(this,function(n){switch(n.label){case 0:return[4,this.playVideoOnLoadAsync(t)];case 1:return n.sent(),this.decodeContinuously(t,e),[2]}})})},r.prototype.isImageLoaded=function(t){return!!t.complete&&t.naturalWidth!==0},r.prototype.prepareImageElement=function(t){var e;return t===void 0&&((e=document.createElement("img")).width=200,e.height=200),typeof t=="string"&&(e=this.getMediaElement(t,"img")),t instanceof HTMLImageElement&&(e=t),e},r.prototype.prepareVideoElement=function(t){var e;return t||typeof document>"u"||((e=document.createElement("video")).width=200,e.height=200),typeof t=="string"&&(e=this.getMediaElement(t,"video")),t instanceof HTMLVideoElement&&(e=t),e.setAttribute("autoplay","true"),e.setAttribute("muted","true"),e.setAttribute("playsinline","true"),e},r.prototype.decodeOnce=function(t,e,n){var o=this;e===void 0&&(e=!0),n===void 0&&(n=!0),this._stopAsyncDecode=!1;var i=function(a,s){if(o._stopAsyncDecode)return s(new E("Video stream has ended before any code could be detected.")),void(o._stopAsyncDecode=void 0);try{a(o.decode(t))}catch(u){if(e&&u instanceof E||(u instanceof at||u instanceof T)&&n)return setTimeout(i,o._timeBetweenDecodingAttempts,a,s);s(u)}};return new Promise(function(a,s){return i(a,s)})},r.prototype.decodeContinuously=function(t,e){var n=this;this._stopContinuousDecode=!1;var o=function(){if(n._stopContinuousDecode)n._stopContinuousDecode=void 0;else try{var i=n.decode(t);e(i,null),setTimeout(o,n.timeBetweenScansMillis)}catch(a){e(null,a),(a instanceof at||a instanceof T||a instanceof E)&&setTimeout(o,n._timeBetweenDecodingAttempts)}};o()},r.prototype.decode=function(t){var e=this.createBinaryBitmap(t);return this.decodeBitmap(e)},r.prototype.createBinaryBitmap=function(t){this.getCaptureCanvasContext(t),t instanceof HTMLVideoElement?this.drawFrameOnCanvas(t):this.drawImageOnCanvas(t);var e=this.getCaptureCanvas(t),n=new hn(e),o=new un(n);return new Zr(o)},r.prototype.getCaptureCanvasContext=function(t){if(!this.captureCanvasContext){var e=this.getCaptureCanvas(t),n=void 0;try{n=e.getContext("2d",{willReadFrequently:!0})}catch{n=e.getContext("2d")}this.captureCanvasContext=n}return this.captureCanvasContext},r.prototype.getCaptureCanvas=function(t){if(!this.captureCanvas){var e=this.createCaptureCanvas(t);this.captureCanvas=e}return this.captureCanvas},r.prototype.drawFrameOnCanvas=function(t,e,n){e===void 0&&(e={sx:0,sy:0,sWidth:t.videoWidth,sHeight:t.videoHeight,dx:0,dy:0,dWidth:t.videoWidth,dHeight:t.videoHeight}),n===void 0&&(n=this.captureCanvasContext),n.drawImage(t,e.sx,e.sy,e.sWidth,e.sHeight,e.dx,e.dy,e.dWidth,e.dHeight)},r.prototype.drawImageOnCanvas=function(t,e,n){e===void 0&&(e={sx:0,sy:0,sWidth:t.naturalWidth,sHeight:t.naturalHeight,dx:0,dy:0,dWidth:t.naturalWidth,dHeight:t.naturalHeight}),n===void 0&&(n=this.captureCanvasContext),n.drawImage(t,e.sx,e.sy,e.sWidth,e.sHeight,e.dx,e.dy,e.dWidth,e.dHeight)},r.prototype.decodeBitmap=function(t){return this.reader.decode(t,this._hints)},r.prototype.createCaptureCanvas=function(t){if(typeof document>"u")return this._destroyCaptureCanvas(),null;var e,n,o=document.createElement("canvas");return t!==void 0&&(t instanceof HTMLVideoElement?(e=t.videoWidth,n=t.videoHeight):t instanceof HTMLImageElement&&(e=t.naturalWidth||t.width,n=t.naturalHeight||t.height)),o.style.width=e+"px",o.style.height=n+"px",o.width=e,o.height=n,o},r.prototype.stopStreams=function(){this.stream&&(this.stream.getVideoTracks().forEach(function(t){return t.stop()}),this.stream=void 0),this._stopAsyncDecode===!1&&this.stopAsyncDecode(),this._stopContinuousDecode===!1&&this.stopContinuousDecode()},r.prototype.reset=function(){this.stopStreams(),this._destroyVideoElement(),this._destroyImageElement(),this._destroyCaptureCanvas()},r.prototype._destroyVideoElement=function(){this.videoElement&&(this.videoEndedListener!==void 0&&this.videoElement.removeEventListener("ended",this.videoEndedListener),this.videoPlayingEventListener!==void 0&&this.videoElement.removeEventListener("playing",this.videoPlayingEventListener),this.videoCanPlayListener!==void 0&&this.videoElement.removeEventListener("loadedmetadata",this.videoCanPlayListener),this.cleanVideoSource(this.videoElement),this.videoElement=void 0)},r.prototype._destroyImageElement=function(){this.imageElement&&(this.imageLoadedListener!==void 0&&this.imageElement.removeEventListener("load",this.imageLoadedListener),this.imageElement.src=void 0,this.imageElement.removeAttribute("src"),this.imageElement=void 0)},r.prototype._destroyCaptureCanvas=function(){this.captureCanvasContext=void 0,this.captureCanvas=void 0},r.prototype.addVideoSource=function(t,e){try{t.srcObject=e}catch{t.src=URL.createObjectURL(e)}},r.prototype.cleanVideoSource=function(t){try{t.srcObject=null}catch{t.src=""}this.videoElement.removeAttribute("src")},r}(),ft=function(){function r(t,e,n,o,i,a){n===void 0&&(n=e==null?0:8*e.length),a===void 0&&(a=Z.currentTimeMillis()),this.text=t,this.rawBytes=e,this.numBits=n,this.resultPoints=o,this.format=i,this.timestamp=a,this.text=t,this.rawBytes=e,this.numBits=n??(e==null?0:8*e.length),this.resultPoints=o,this.format=i,this.resultMetadata=null,this.timestamp=a??Z.currentTimeMillis()}return r.prototype.getText=function(){return this.text},r.prototype.getRawBytes=function(){return this.rawBytes},r.prototype.getNumBits=function(){return this.numBits},r.prototype.getResultPoints=function(){return this.resultPoints},r.prototype.getBarcodeFormat=function(){return this.format},r.prototype.getResultMetadata=function(){return this.resultMetadata},r.prototype.putMetadata=function(t,e){this.resultMetadata===null&&(this.resultMetadata=new Map),this.resultMetadata.set(t,e)},r.prototype.putAllMetadata=function(t){t!==null&&(this.resultMetadata===null?this.resultMetadata=t:this.resultMetadata=new Map(t))},r.prototype.addResultPoints=function(t){var e=this.resultPoints;if(e===null)this.resultPoints=t;else if(t!==null&&t.length>0){var n=new Array(e.length+t.length);Z.arraycopy(e,0,n,0,e.length),Z.arraycopy(t,0,n,e.length,t.length),this.resultPoints=n}},r.prototype.getTimestamp=function(){return this.timestamp},r.prototype.toString=function(){return this.text},r}();(function(r){r[r.AZTEC=0]="AZTEC",r[r.CODABAR=1]="CODABAR",r[r.CODE_39=2]="CODE_39",r[r.CODE_93=3]="CODE_93",r[r.CODE_128=4]="CODE_128",r[r.DATA_MATRIX=5]="DATA_MATRIX",r[r.EAN_8=6]="EAN_8",r[r.EAN_13=7]="EAN_13",r[r.ITF=8]="ITF",r[r.MAXICODE=9]="MAXICODE",r[r.PDF_417=10]="PDF_417",r[r.QR_CODE=11]="QR_CODE",r[r.RSS_14=12]="RSS_14",r[r.RSS_EXPANDED=13]="RSS_EXPANDED",r[r.UPC_A=14]="UPC_A",r[r.UPC_E=15]="UPC_E",r[r.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(me||(me={}));var Ee,D=me;(function(r){r[r.OTHER=0]="OTHER",r[r.ORIENTATION=1]="ORIENTATION",r[r.BYTE_SEGMENTS=2]="BYTE_SEGMENTS",r[r.ERROR_CORRECTION_LEVEL=3]="ERROR_CORRECTION_LEVEL",r[r.ISSUE_NUMBER=4]="ISSUE_NUMBER",r[r.SUGGESTED_PRICE=5]="SUGGESTED_PRICE",r[r.POSSIBLE_COUNTRY=6]="POSSIBLE_COUNTRY",r[r.UPC_EAN_EXTENSION=7]="UPC_EAN_EXTENSION",r[r.PDF417_EXTRA_METADATA=8]="PDF417_EXTRA_METADATA",r[r.STRUCTURED_APPEND_SEQUENCE=9]="STRUCTURED_APPEND_SEQUENCE",r[r.STRUCTURED_APPEND_PARITY=10]="STRUCTURED_APPEND_PARITY"})(Ee||(Ee={}));var ut,ct=Ee,ce=function(){function r(t,e,n,o,i,a){i===void 0&&(i=-1),a===void 0&&(a=-1),this.rawBytes=t,this.text=e,this.byteSegments=n,this.ecLevel=o,this.structuredAppendSequenceNumber=i,this.structuredAppendParity=a,this.numBits=t==null?0:8*t.length}return r.prototype.getRawBytes=function(){return this.rawBytes},r.prototype.getNumBits=function(){return this.numBits},r.prototype.setNumBits=function(t){this.numBits=t},r.prototype.getText=function(){return this.text},r.prototype.getByteSegments=function(){return this.byteSegments},r.prototype.getECLevel=function(){return this.ecLevel},r.prototype.getErrorsCorrected=function(){return this.errorsCorrected},r.prototype.setErrorsCorrected=function(t){this.errorsCorrected=t},r.prototype.getErasures=function(){return this.erasures},r.prototype.setErasures=function(t){this.erasures=t},r.prototype.getOther=function(){return this.other},r.prototype.setOther=function(t){this.other=t},r.prototype.hasStructuredAppend=function(){return this.structuredAppendParity>=0&&this.structuredAppendSequenceNumber>=0},r.prototype.getStructuredAppendParity=function(){return this.structuredAppendParity},r.prototype.getStructuredAppendSequenceNumber=function(){return this.structuredAppendSequenceNumber},r}(),Gt=function(){function r(){}return r.prototype.exp=function(t){return this.expTable[t]},r.prototype.log=function(t){if(t===0)throw new N;return this.logTable[t]},r.addOrSubtract=function(t,e){return t^e},r}(),Rt=function(){function r(t,e){if(e.length===0)throw new N;this.field=t;var n=e.length;if(n>1&&e[0]===0){for(var o=1;on.length){var o=e;e=n,n=o}var i=new Int32Array(n.length),a=n.length-e.length;Z.arraycopy(n,0,i,0,a);for(var s=a;s=t.getDegree()&&!o.isZero();){var s=o.getDegree()-t.getDegree(),u=e.multiply(o.getCoefficient(o.getDegree()),a),c=t.multiplyByMonomial(s,u),f=e.buildMonomial(s,u);n=n.addOrSubtract(f),o=o.addOrSubtract(c)}return[n,o]},r.prototype.toString=function(){for(var t="",e=this.getDegree();e>=0;e--){var n=this.getCoefficient(e);if(n!==0){if(n<0?(t+=" - ",n=-n):t.length>0&&(t+=" + "),e===0||n!==1){var o=this.field.log(n);o===0?t+="1":o===1?t+="a":(t+="a^",t+=o)}e!==0&&(e===1?t+="x":(t+="x^",t+=e))}}return t},r}(),pn=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Ir=function(r){function t(){return r!==null&&r.apply(this,arguments)||this}return pn(t,r),t.kind="ArithmeticException",t}(wt),gn=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),gt=function(r){function t(e,n,o){var i=r.call(this)||this;i.primitive=e,i.size=n,i.generatorBase=o;for(var a=new Int32Array(n),s=1,u=0;u=n&&(s^=e,s&=n-1);i.expTable=a;var c=new Int32Array(n);for(u=0;u=(n/2|0);){var f=a,h=u;if(u=c,(a=s).isZero())throw new Qt("r_{i-1} was zero");s=f;for(var l=i.getZero(),d=a.getCoefficient(a.getDegree()),p=i.inverse(d);s.getDegree()>=a.getDegree()&&!s.isZero();){var y=s.getDegree()-a.getDegree(),C=i.multiply(s.getCoefficient(s.getDegree()),p);l=l.addOrSubtract(i.buildMonomial(y,C)),s=s.addOrSubtract(a.multiplyByMonomial(y,C))}if(c=l.multiply(u).addOrSubtract(h),s.getDegree()>=a.getDegree())throw new Nt("Division algorithm failed to reduce polynomial?")}var w=c.getCoefficient(0);if(w===0)throw new Qt("sigmaTilde(0) was zero");var v=i.inverse(w);return[c.multiplyScalar(v),s.multiplyScalar(v)]},r.prototype.findErrorLocations=function(t){var e=t.getDegree();if(e===1)return Int32Array.from([t.getCoefficient(1)]);for(var n=new Int32Array(e),o=0,i=this.field,a=1;a1,l,l+n-1),l+=n-1;else for(var p=n-1;p>=0;--p)h[l++]=(d&1<=8?r.readCode(t,e,8):r.readCode(t,e,n)<<8-n},r.convertBoolArrayToByteArray=function(t){for(var e=new Uint8Array((t.length+7)/8),n=0;n","?","[","]","{","}","CTRL_UL"],r.DIGIT_TABLE=["CTRL_PS"," ","0","1","2","3","4","5","6","7","8","9",",",".","CTRL_UL","CTRL_US"],r}(),U=function(){function r(){}return r.round=function(t){return isNaN(t)?0:t<=Number.MIN_SAFE_INTEGER?Number.MIN_SAFE_INTEGER:t>=Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:t+(t<0?-.5:.5)|0},r.distance=function(t,e,n,o){var i=t-n,a=e-o;return Math.sqrt(i*i+a*a)},r.sum=function(t){for(var e=0,n=0,o=t.length;n!==o;n++)e+=t[n];return e},r}(),Ie=function(){function r(){}return r.floatToIntBits=function(t){return t},r.MAX_VALUE=Number.MAX_SAFE_INTEGER,r}(),R=function(){function r(t,e){this.x=t,this.y=e}return r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.equals=function(t){if(t instanceof r){var e=t;return this.x===e.x&&this.y===e.y}return!1},r.prototype.hashCode=function(){return 31*Ie.floatToIntBits(this.x)+Ie.floatToIntBits(this.y)},r.prototype.toString=function(){return"("+this.x+","+this.y+")"},r.orderBestPatterns=function(t){var e,n,o,i=this.distance(t[0],t[1]),a=this.distance(t[1],t[2]),s=this.distance(t[0],t[2]);if(a>=i&&a>=s?(n=t[0],e=t[1],o=t[2]):s>=a&&s>=i?(n=t[1],e=t[0],o=t[2]):(n=t[2],e=t[0],o=t[1]),this.crossProductZ(e,n,o)<0){var u=e;e=o,o=u}t[0]=e,t[1]=n,t[2]=o},r.distance=function(t,e){return U.distance(t.x,t.y,e.x,e.y)},r.crossProductZ=function(t,e,n){var o=e.x,i=e.y;return(n.x-o)*(t.y-i)-(n.y-i)*(t.x-o)},r}(),xe=function(){function r(t,e){this.bits=t,this.points=e}return r.prototype.getBits=function(){return this.bits},r.prototype.getPoints=function(){return this.points},r}(),Cn=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),vn=function(r){function t(e,n,o,i,a){var s=r.call(this,e,n)||this;return s.compact=o,s.nbDatablocks=i,s.nbLayers=a,s}return Cn(t,r),t.prototype.getNbLayers=function(){return this.nbLayers},t.prototype.getNbDatablocks=function(){return this.nbDatablocks},t.prototype.isCompact=function(){return this.compact},t}(xe),Se=function(){function r(t,e,n,o){this.image=t,this.height=t.getHeight(),this.width=t.getWidth(),e==null&&(e=r.INIT_SIZE),n==null&&(n=t.getWidth()/2|0),o==null&&(o=t.getHeight()/2|0);var i=e/2|0;if(this.leftInit=n-i,this.rightInit=n+i,this.upInit=o-i,this.downInit=o+i,this.upInit<0||this.leftInit<0||this.downInit>=this.height||this.rightInit>=this.width)throw new E}return r.prototype.detect=function(){for(var t=this.leftInit,e=this.rightInit,n=this.upInit,o=this.downInit,i=!1,a=!0,s=!1,u=!1,c=!1,f=!1,h=!1,l=this.width,d=this.height;a;){a=!1;for(var p=!0;(p||!u)&&e=l){i=!0;break}for(var y=!0;(y||!c)&&o=d){i=!0;break}for(var C=!0;(C||!f)&&t>=0;)(C=this.containsBlackPoint(n,o,t,!1))?(t--,a=!0,f=!0):f||t--;if(t<0){i=!0;break}for(var w=!0;(w||!h)&&n>=0;)(w=this.containsBlackPoint(t,e,n,!0))?(n--,a=!0,h=!0):h||n--;if(n<0){i=!0;break}a&&(s=!0)}if(!i&&s){for(var v=e-t,_=null,m=1;_===null&&mn||u<-1||u>o)throw new E;i=!1,s===-1?(e[a]=0,i=!0):s===n&&(e[a]=n-1,i=!0),u===-1?(e[a+1]=0,i=!0):u===o&&(e[a+1]=o-1,i=!0)}for(i=!0,a=e.length-2;a>=0&&i;a-=2){if(s=Math.floor(e[a]),u=Math.floor(e[a+1]),s<-1||s>n||u<-1||u>o)throw new E;i=!1,s===-1?(e[a]=0,i=!0):s===n&&(e[a]=n-1,i=!0),u===-1?(e[a+1]=0,i=!0):u===o&&(e[a+1]=o-1,i=!0)}},r}(),Sr=function(){function r(t,e,n,o,i,a,s,u,c){this.a11=t,this.a21=e,this.a31=n,this.a12=o,this.a22=i,this.a32=a,this.a13=s,this.a23=u,this.a33=c}return r.quadrilateralToQuadrilateral=function(t,e,n,o,i,a,s,u,c,f,h,l,d,p,y,C){var w=r.quadrilateralToSquare(t,e,n,o,i,a,s,u);return r.squareToQuadrilateral(c,f,h,l,d,p,y,C).times(w)},r.prototype.transformPoints=function(t){for(var e=t.length,n=this.a11,o=this.a12,i=this.a13,a=this.a21,s=this.a22,u=this.a23,c=this.a31,f=this.a32,h=this.a33,l=0;l>1&127):(o<<=10,o+=(a>>2&992)+(a>>1&31))}var s=this.getCorrectedParameterData(o,this.compact);this.compact?(this.nbLayers=1+(s>>6),this.nbDataBlocks=1+(63&s)):(this.nbLayers=1+(s>>11),this.nbDataBlocks=1+(2047&s))},r.prototype.getRotation=function(t,e){var n=0;t.forEach(function(i,a,s){n=(n<<3)+((i>>e-2<<1)+(1&i))}),n=((1&n)<<11)+(n>>1);for(var o=0;o<4;o++)if(P.bitCount(n^this.EXPECTED_CORNER_BITS[o])<=2)return o;throw new E},r.prototype.getCorrectedParameterData=function(t,e){var n,o;e?(n=7,o=2):(n=10,o=4);for(var i=n-o,a=new Int32Array(n),s=n-1;s>=0;--s)a[s]=15&t,t>>=4;try{new fe(gt.AZTEC_PARAM).decode(a,i)}catch{throw new E}var u=0;for(s=0;s2){var h=this.distancePoint(f,s)*this.nbCenterLayers/(this.distancePoint(i,e)*(this.nbCenterLayers+2));if(h<.75||h>1.25||!this.isWhiteOrBlackRectangle(s,u,c,f))break}e=s,n=u,o=c,i=f,a=!a}if(this.nbCenterLayers!==5&&this.nbCenterLayers!==7)throw new E;this.compact=this.nbCenterLayers===5;var l=new R(e.getX()+.5,e.getY()-.5),d=new R(n.getX()+.5,n.getY()+.5),p=new R(o.getX()-.5,o.getY()+.5),y=new R(i.getX()-.5,i.getY()-.5);return this.expandSquare([l,d,p,y],2*this.nbCenterLayers-3,2*this.nbCenterLayers)},r.prototype.getMatrixCenter=function(){var t,e,n,o;try{t=(c=new Se(this.image).detect())[0],e=c[1],n=c[2],o=c[3]}catch{var i=this.image.getWidth()/2,a=this.image.getHeight()/2;t=this.getFirstDifferent(new dt(i+7,a-7),!1,1,-1).toResultPoint(),e=this.getFirstDifferent(new dt(i+7,a+7),!1,1,1).toResultPoint(),n=this.getFirstDifferent(new dt(i-7,a+7),!1,-1,1).toResultPoint(),o=this.getFirstDifferent(new dt(i-7,a-7),!1,-1,-1).toResultPoint()}var s=U.round((t.getX()+o.getX()+e.getX()+n.getX())/4),u=U.round((t.getY()+o.getY()+e.getY()+n.getY())/4);try{var c;t=(c=new Se(this.image,15,s,u).detect())[0],e=c[1],n=c[2],o=c[3]}catch{t=this.getFirstDifferent(new dt(s+7,u-7),!1,1,-1).toResultPoint(),e=this.getFirstDifferent(new dt(s+7,u+7),!1,1,1).toResultPoint(),n=this.getFirstDifferent(new dt(s-7,u+7),!1,-1,1).toResultPoint(),o=this.getFirstDifferent(new dt(s-7,u-7),!1,-1,-1).toResultPoint()}return s=U.round((t.getX()+o.getX()+e.getX()+n.getX())/4),u=U.round((t.getY()+o.getY()+e.getY()+n.getY())/4),new dt(s,u)},r.prototype.getMatrixCornerPoints=function(t){return this.expandSquare(t,2*this.nbCenterLayers,this.getDimension())},r.prototype.sampleGrid=function(t,e,n,o,i){var a=ke.getInstance(),s=this.getDimension(),u=s/2-this.nbCenterLayers,c=s/2+this.nbCenterLayers;return a.sampleGrid(t,s,s,u,u,c,u,c,c,u,c,e.getX(),e.getY(),n.getX(),n.getY(),o.getX(),o.getY(),i.getX(),i.getY())},r.prototype.sampleLine=function(t,e,n){for(var o=0,i=this.distanceResultPoint(t,e),a=i/n,s=t.getX(),u=t.getY(),c=a*(e.getX()-t.getX())/i,f=a*(e.getY()-t.getY())/i,h=0;h.1&&l<.9?0:l<=.1===c?1:-1},r.prototype.getFirstDifferent=function(t,e,n,o){for(var i=t.getX()+n,a=t.getY()+o;this.isValid(i,a)&&this.image.get(i,a)===e;)i+=n,a+=o;for(i-=n,a-=o;this.isValid(i,a)&&this.image.get(i,a)===e;)i+=n;for(i-=n;this.isValid(i,a)&&this.image.get(i,a)===e;)a+=o;return new dt(i,a-=o)},r.prototype.expandSquare=function(t,e,n){var o=n/(2*e),i=t[0].getX()-t[2].getX(),a=t[0].getY()-t[2].getY(),s=(t[0].getX()+t[2].getX())/2,u=(t[0].getY()+t[2].getY())/2,c=new R(s+o*i,u+o*a),f=new R(s-o*i,u-o*a);return i=t[1].getX()-t[3].getX(),a=t[1].getY()-t[3].getY(),s=(t[1].getX()+t[3].getX())/2,u=(t[1].getY()+t[3].getY())/2,[c,new R(s+o*i,u+o*a),f,new R(s-o*i,u-o*a)]},r.prototype.isValid=function(t,e){return t>=0&&t0&&e>(s?8:5));n=s?i:15;for(var c=Math.trunc(i/2),f=0;f=i)break;try{a=t.getBlackRow(l,a)}catch{continue}for(var d=function(w){if(w===1&&(a.reverse(),e&&e.get(Q.NEED_RESULT_POINT_CALLBACK)===!0)){var v=new Map;e.forEach(function(I,S){return v.set(S,I)}),v.delete(Q.NEED_RESULT_POINT_CALLBACK),e=v}try{var _=p.decodeRow(l,a,e);if(w===1){_.putMetadata(ct.ORIENTATION,180);var m=_.getResultPoints();m!==null&&(m[0]=new R(o-m[0].getX()-1,m[0].getY()),m[1]=new R(o-m[1].getX()-1,m[1].getY()))}return{value:_}}catch{}},p=this,y=0;y<2;y++){var C=d(y);if(typeof C=="object")return C.value}}throw new E},r.recordPattern=function(t,e,n){for(var o=n.length,i=0;i=a)throw new E;for(var s=!t.get(e),u=0,c=e;c0&&o>=0;)t.get(--e)!==i&&(o--,i=!i);if(o>=0)throw new E;r.recordPattern(t,e+1,n)},r.patternMatchVariance=function(t,e,n){for(var o=t.length,i=0,a=0,s=0;sl?h-l:l-h;if(d>n)return Number.POSITIVE_INFINITY;c+=d}return c/i},r}(),In=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Ze=function(r){function t(){return r!==null&&r.apply(this,arguments)||this}return In(t,r),t.findStartPattern=function(e){for(var n=e.getSize(),o=e.getNextSet(0),i=0,a=Int32Array.from([0,0,0,0,0,0]),s=o,u=!1,c=o;c=0&&e.isRange(Math.max(0,s-(c-s)/2),s,!1))return Int32Array.from([s,c,h]);s+=a[0]+a[1],(a=a.slice(2,a.length))[i-1]=0,a[i]=0,i--}else i++;a[i]=1,u=!u}throw new E},t.decodeCode=function(e,n,o){ot.recordPattern(e,o,n);for(var i=t.MAX_AVG_VARIANCE,a=-1,s=0;s=0)return a;throw new E},t.prototype.decodeRow=function(e,n,o){var i,a=o&&o.get(Q.ASSUME_GS1)===!0,s=t.findStartPattern(n),u=s[2],c=0,f=new Uint8Array(20);switch(f[c++]=u,u){case t.CODE_START_A:i=t.CODE_CODE_A;break;case t.CODE_START_B:i=t.CODE_CODE_B;break;case t.CODE_START_C:i=t.CODE_CODE_C;break;default:throw new T}for(var h=!1,l=!1,d="",p=s[0],y=s[1],C=Int32Array.from([0,0,0,0,0,0]),w=0,v=0,_=u,m=0,I=!0,S=!1,O=!1;!h;){var M=l;switch(l=!1,w=v,v=t.decodeCode(n,C,y),f[c++]=v,v!==t.CODE_STOP&&(I=!0),v!==t.CODE_STOP&&(_+=++m*v),p=y,y+=C.reduce(function(Ur,Xr){return Ur+Xr},0),v){case t.CODE_START_A:case t.CODE_START_B:case t.CODE_START_C:throw new T}switch(i){case t.CODE_CODE_A:if(v<64)d+=O===S?String.fromCharCode(" ".charCodeAt(0)+v):String.fromCharCode(" ".charCodeAt(0)+v+128),O=!1;else if(v<96)d+=O===S?String.fromCharCode(v-64):String.fromCharCode(v+64),O=!1;else switch(v!==t.CODE_STOP&&(I=!1),v){case t.CODE_FNC_1:a&&(d.length===0?d+="]C1":d+=String.fromCharCode(29));break;case t.CODE_FNC_2:case t.CODE_FNC_3:break;case t.CODE_FNC_4_A:!S&&O?(S=!0,O=!1):S&&O?(S=!1,O=!1):O=!0;break;case t.CODE_SHIFT:l=!0,i=t.CODE_CODE_B;break;case t.CODE_CODE_B:i=t.CODE_CODE_B;break;case t.CODE_CODE_C:i=t.CODE_CODE_C;break;case t.CODE_STOP:h=!0}break;case t.CODE_CODE_B:if(v<96)d+=O===S?String.fromCharCode(" ".charCodeAt(0)+v):String.fromCharCode(" ".charCodeAt(0)+v+128),O=!1;else switch(v!==t.CODE_STOP&&(I=!1),v){case t.CODE_FNC_1:a&&(d.length===0?d+="]C1":d+=String.fromCharCode(29));break;case t.CODE_FNC_2:case t.CODE_FNC_3:break;case t.CODE_FNC_4_B:!S&&O?(S=!0,O=!1):S&&O?(S=!1,O=!1):O=!0;break;case t.CODE_SHIFT:l=!0,i=t.CODE_CODE_A;break;case t.CODE_CODE_A:i=t.CODE_CODE_A;break;case t.CODE_CODE_C:i=t.CODE_CODE_C;break;case t.CODE_STOP:h=!0}break;case t.CODE_CODE_C:if(v<100)v<10&&(d+="0"),d+=v;else switch(v!==t.CODE_STOP&&(I=!1),v){case t.CODE_FNC_1:a&&(d.length===0?d+="]C1":d+=String.fromCharCode(29));break;case t.CODE_CODE_A:i=t.CODE_CODE_A;break;case t.CODE_CODE_B:i=t.CODE_CODE_B;break;case t.CODE_STOP:h=!0}}M&&(i=i===t.CODE_CODE_A?t.CODE_CODE_B:t.CODE_CODE_A)}var k=y-p;if(y=n.getNextUnset(y),!n.isRange(y,Math.min(n.getSize(),y+(y-p)/2),!1))throw new E;if((_-=m*w)%103!==w)throw new at;var x=d.length;if(x===0)throw new E;x>0&&I&&(d=i===t.CODE_CODE_C?d.substring(0,x-2):d.substring(0,x-1));for(var J=(s[1]+s[0])/2,W=p+k/2,tt=f.length,It=new Uint8Array(tt),St=0;St=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Ke=function(r){function t(e,n){e===void 0&&(e=!1),n===void 0&&(n=!1);var o=r.call(this)||this;return o.usingCheckDigit=e,o.extendedMode=n,o.decodeRowResult="",o.counters=new Int32Array(9),o}return Sn(t,r),t.prototype.decodeRow=function(e,n,o){var i,a,s,u,c=this.counters;c.fill(0),this.decodeRowResult="";var f,h,l=t.findAsteriskPattern(n,c),d=n.getNextSet(l[1]),p=n.getSize();do{t.recordPattern(n,d,c);var y=t.toNarrowWidePattern(c);if(y<0)throw new E;f=t.patternToChar(y),this.decodeRowResult+=f,h=d;try{for(var C=(i=void 0,le(c)),w=C.next();!w.done;w=C.next())d+=w.value}catch(J){i={error:J}}finally{try{w&&!w.done&&(a=C.return)&&a.call(C)}finally{if(i)throw i.error}}d=n.getNextSet(d)}while(f!=="*");this.decodeRowResult=this.decodeRowResult.substring(0,this.decodeRowResult.length-1);var v,_=0;try{for(var m=le(c),I=m.next();!I.done;I=m.next())_+=I.value}catch(J){s={error:J}}finally{try{I&&!I.done&&(u=m.return)&&u.call(m)}finally{if(s)throw s.error}}if(d!==p&&2*(d-h-_)<_)throw new E;if(this.usingCheckDigit){for(var S=this.decodeRowResult.length-1,O=0,M=0;Ms&&(u=p)}catch(y){n={error:y}}finally{try{f&&!f.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}s=u,i=0;for(var h=0,l=0,d=0;ds&&(l|=1<0;d++){var p;if((p=e[d])>s&&(i--,2*p>=h))return-1}return l}}while(i>3);return-1},t.patternToChar=function(e){for(var n=0;n="A"&&s<="Z"))throw new T;u=String.fromCharCode(s.charCodeAt(0)+32);break;case"$":if(!(s>="A"&&s<="Z"))throw new T;u=String.fromCharCode(s.charCodeAt(0)-64);break;case"%":if(s>="A"&&s<="E")u=String.fromCharCode(s.charCodeAt(0)-38);else if(s>="F"&&s<="J")u=String.fromCharCode(s.charCodeAt(0)-11);else if(s>="K"&&s<="O")u=String.fromCharCode(s.charCodeAt(0)+16);else if(s>="P"&&s<="T")u=String.fromCharCode(s.charCodeAt(0)+43);else if(s==="U")u="\0";else if(s==="V")u="@";else if(s==="W")u="`";else{if(s!=="X"&&s!=="Y"&&s!=="Z")throw new T;u="\x7F"}break;case"/":if(s>="A"&&s<="O")u=String.fromCharCode(s.charCodeAt(0)-32);else{if(s!=="Z")throw new T;u=":"}}o+=u,i++}else o+=a}return o},t.ALPHABET_STRING="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%",t.CHARACTER_ENCODINGS=[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,168,162,138,42],t.ASTERISK_ENCODING=148,t}(ot),Tn=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),de=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},qe=function(r){function t(){var e=r.call(this)||this;return e.decodeRowResult="",e.counters=new Int32Array(6),e}return Tn(t,r),t.prototype.decodeRow=function(e,n,o){var i,a,s,u,c,f,h=this.findAsteriskPattern(n),l=n.getNextSet(h[1]),d=n.getSize(),p=this.counters;p.fill(0),this.decodeRowResult="";do{t.recordPattern(n,l,p);var y=this.toPattern(p);if(y<0)throw new E;c=this.patternToChar(y),this.decodeRowResult+=c,f=l;try{for(var C=(i=void 0,de(p)),w=C.next();!w.done;w=C.next())l+=w.value}catch(M){i={error:M}}finally{try{w&&!w.done&&(a=C.return)&&a.call(C)}finally{if(i)throw i.error}}l=n.getNextSet(l)}while(c!=="*");this.decodeRowResult=this.decodeRowResult.substring(0,this.decodeRowResult.length-1);var v=0;try{for(var _=de(p),m=_.next();!m.done;m=_.next())v+=m.value}catch(M){s={error:M}}finally{try{m&&!m.done&&(u=_.return)&&u.call(_)}finally{if(s)throw s.error}}if(l===d||!n.get(l))throw new E;if(this.decodeRowResult.length<2)throw new E;this.checkChecksums(this.decodeRowResult),this.decodeRowResult=this.decodeRowResult.substring(0,this.decodeRowResult.length-2);var I=this.decodeExtended(this.decodeRowResult),S=(h[1]+h[0])/2,O=f+v/2;return new ft(I,null,0,[new R(S,e),new R(O,e)],D.CODE_93,new Date().getTime())},t.prototype.findAsteriskPattern=function(e){var n=e.getSize(),o=e.getNextSet(0);this.counters.fill(0);for(var i=this.counters,a=o,s=!1,u=i.length,c=0,f=o;f4)return-1;if(1&f)u<<=h;else for(var l=0;l="a"&&a<="d"){if(i>=n-1)throw new T;var s=e.charAt(i+1),u="\0";switch(a){case"d":if(!(s>="A"&&s<="Z"))throw new T;u=String.fromCharCode(s.charCodeAt(0)+32);break;case"a":if(!(s>="A"&&s<="Z"))throw new T;u=String.fromCharCode(s.charCodeAt(0)-64);break;case"b":if(s>="A"&&s<="E")u=String.fromCharCode(s.charCodeAt(0)-38);else if(s>="F"&&s<="J")u=String.fromCharCode(s.charCodeAt(0)-11);else if(s>="K"&&s<="O")u=String.fromCharCode(s.charCodeAt(0)+16);else if(s>="P"&&s<="T")u=String.fromCharCode(s.charCodeAt(0)+43);else if(s==="U")u="\0";else if(s==="V")u="@";else if(s==="W")u="`";else{if(!(s>="X"&&s<="Z"))throw new T;u=String.fromCharCode(127)}break;case"c":if(s>="A"&&s<="O")u=String.fromCharCode(s.charCodeAt(0)-32);else{if(s!=="Z")throw new T;u=":"}}o+=u,i++}else o+=a}return o},t.prototype.checkChecksums=function(e){var n=e.length;this.checkOneChecksum(e,n-2,20),this.checkOneChecksum(e,n-1,15)},t.prototype.checkOneChecksum=function(e,n,o){for(var i=1,a=0,s=n-1;s>=0;s--)a+=i*t.ALPHABET_STRING.indexOf(e.charAt(s)),++i>o&&(i=1);if(e.charAt(n)!==t.ALPHABET_STRING[a%47])throw new at},t.ALPHABET_STRING="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%abcd*",t.CHARACTER_ENCODINGS=[276,328,324,322,296,292,290,336,274,266,424,420,418,404,402,394,360,356,354,308,282,344,332,326,300,278,436,434,428,422,406,410,364,358,310,314,302,468,466,458,366,374,430,294,474,470,306,350],t.ASTERISK_ENCODING=t.CHARACTER_ENCODINGS[47],t}(ot),On=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),bn=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Qe=function(r){function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.narrowLineWidth=-1,e}return On(t,r),t.prototype.decodeRow=function(e,n,o){var i,a,s=this.decodeStart(n),u=this.decodeEnd(n),c=new B;t.decodeMiddle(n,s[1],u[0],c);var f=c.toString(),h=null;o!=null&&(h=o.get(Q.ALLOWED_LENGTHS)),h==null&&(h=t.DEFAULT_ALLOWED_LENGTHS);var l=f.length,d=!1,p=0;try{for(var y=bn(h),C=y.next();!C.done;C=y.next()){var w=C.value;if(l===w){d=!0;break}w>p&&(p=w)}}catch(_){i={error:_}}finally{try{C&&!C.done&&(a=y.return)&&a.call(y)}finally{if(i)throw i.error}}if(!d&&l>p&&(d=!0),!d)throw new T;var v=[new R(s[1],e),new R(u[0],e)];return new ft(f,null,0,v,D.ITF,new Date().getTime())},t.decodeMiddle=function(e,n,o,i){var a=new Int32Array(10),s=new Int32Array(5),u=new Int32Array(5);for(a.fill(0),s.fill(0),u.fill(0);n0&&i>=0&&!e.get(i);i--)o--;if(o!==0)throw new E},t.skipWhiteSpace=function(e){var n=e.getSize(),o=e.getNextSet(0);if(o===n)throw new E;return o},t.prototype.decodeEnd=function(e){e.reverse();try{var n=t.skipWhiteSpace(e),o=void 0;try{o=t.findGuardPattern(e,n,t.END_PATTERN_REVERSED[0])}catch(a){a instanceof E&&(o=t.findGuardPattern(e,n,t.END_PATTERN_REVERSED[1]))}this.validateQuietZone(e,o[0]);var i=o[0];return o[0]=e.getSize()-o[1],o[1]=e.getSize()-i,o}finally{e.reverse()}},t.findGuardPattern=function(e,n,o){var i=o.length,a=new Int32Array(i),s=e.getSize(),u=!1,c=0,f=n;a.fill(0);for(var h=n;h=0)return o%10;throw new E},t.PATTERNS=[Int32Array.from([1,1,2,2,1]),Int32Array.from([2,1,1,1,2]),Int32Array.from([1,2,1,1,2]),Int32Array.from([2,2,1,1,1]),Int32Array.from([1,1,2,1,2]),Int32Array.from([2,1,2,1,1]),Int32Array.from([1,2,2,1,1]),Int32Array.from([1,1,1,2,2]),Int32Array.from([2,1,1,2,1]),Int32Array.from([1,2,1,2,1]),Int32Array.from([1,1,3,3,1]),Int32Array.from([3,1,1,1,3]),Int32Array.from([1,3,1,1,3]),Int32Array.from([3,3,1,1,1]),Int32Array.from([1,1,3,1,3]),Int32Array.from([3,1,3,1,1]),Int32Array.from([1,3,3,1,1]),Int32Array.from([1,1,1,3,3]),Int32Array.from([3,1,1,3,1]),Int32Array.from([1,3,1,3,1])],t.MAX_AVG_VARIANCE=.38,t.MAX_INDIVIDUAL_VARIANCE=.5,t.DEFAULT_ALLOWED_LENGTHS=[6,8,10,12,14],t.START_PATTERN=Int32Array.from([1,1,1,1]),t.END_PATTERN_REVERSED=[Int32Array.from([1,1,2]),Int32Array.from([1,1,3])],t}(ot),Rn=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),kt=function(r){function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.decodeRowStringBuffer="",e}return Rn(t,r),t.findStartGuardPattern=function(e){for(var n,o=!1,i=0,a=Int32Array.from([0,0,0]);!o;){a=Int32Array.from([0,0,0]);var s=(n=t.findGuardPattern(e,i,!1,this.START_END_PATTERN,a))[0],u=s-((i=n[1])-s);u>=0&&(o=e.isRange(u,s,!1))}return n},t.checkChecksum=function(e){return t.checkStandardUPCEANChecksum(e)},t.checkStandardUPCEANChecksum=function(e){var n=e.length;if(n===0)return!1;var o=parseInt(e.charAt(n-1),10);return t.getStandardUPCEANChecksum(e.substring(0,n-1))===o},t.getStandardUPCEANChecksum=function(e){for(var n=e.length,o=0,i=n-1;i>=0;i-=2){if((a=e.charAt(i).charCodeAt(0)-"0".charCodeAt(0))<0||a>9)throw new T;o+=a}for(o*=3,i=n-2;i>=0;i-=2){var a;if((a=e.charAt(i).charCodeAt(0)-"0".charCodeAt(0))<0||a>9)throw new T;o+=a}return(1e3-o)%10},t.decodeEnd=function(e,n){return t.findGuardPattern(e,n,!1,t.START_END_PATTERN,new Int32Array(t.START_END_PATTERN.length).fill(0))},t.findGuardPatternWithoutCounters=function(e,n,o,i){return this.findGuardPattern(e,n,o,i,new Int32Array(i.length))},t.findGuardPattern=function(e,n,o,i,a){for(var s=e.getSize(),u=0,c=n=o?e.getNextUnset(n):e.getNextSet(n),f=i.length,h=o,l=n;l=0)return s;throw new E},t.MAX_AVG_VARIANCE=.48,t.MAX_INDIVIDUAL_VARIANCE=.7,t.START_END_PATTERN=Int32Array.from([1,1,1]),t.MIDDLE_PATTERN=Int32Array.from([1,1,1,1,1]),t.END_PATTERN=Int32Array.from([1,1,1,1,1,1]),t.L_PATTERNS=[Int32Array.from([3,2,1,1]),Int32Array.from([2,2,2,1]),Int32Array.from([2,1,2,2]),Int32Array.from([1,4,1,1]),Int32Array.from([1,1,3,2]),Int32Array.from([1,2,3,1]),Int32Array.from([1,1,1,4]),Int32Array.from([1,3,1,2]),Int32Array.from([1,2,1,3]),Int32Array.from([3,1,1,2])],t}(ot),Nn=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Dn=function(){function r(){this.CHECK_DIGIT_ENCODINGS=[24,20,18,17,12,6,3,10,9,5],this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}return r.prototype.decodeRow=function(t,e,n){var o=this.decodeRowStringBuffer,i=this.decodeMiddle(e,n,o),a=o.toString(),s=r.parseExtensionString(a),u=[new R((n[0]+n[1])/2,t),new R(i,t)],c=new ft(a,null,0,u,D.UPC_EAN_EXTENSION,new Date().getTime());return s!=null&&c.putAllMetadata(s),c},r.prototype.decodeMiddle=function(t,e,n){var o,i,a=this.decodeMiddleCounters;a[0]=0,a[1]=0,a[2]=0,a[3]=0;for(var s=t.getSize(),u=e[1],c=0,f=0;f<5&&u=10&&(c|=1<<4-f),f!==4&&(u=t.getNextSet(u),u=t.getNextUnset(u))}if(n.length!==5)throw new E;var p=this.determineCheckDigit(c);if(r.extensionChecksum(n.toString())!==p)throw new E;return u},r.extensionChecksum=function(t){for(var e=t.length,n=0,o=e-2;o>=0;o-=2)n+=t.charAt(o).charCodeAt(0)-"0".charCodeAt(0);for(n*=3,o=e-1;o>=0;o-=2)n+=t.charAt(o).charCodeAt(0)-"0".charCodeAt(0);return(n*=3)%10},r.prototype.determineCheckDigit=function(t){for(var e=0;e<10;e++)if(t===this.CHECK_DIGIT_ENCODINGS[e])return e;throw new E},r.parseExtensionString=function(t){if(t.length!==5)return null;var e=r.parseExtension5String(t);return e==null?null:new Map([[ct.SUGGESTED_PRICE,e]])},r.parseExtension5String=function(t){var e;switch(t.charAt(0)){case"0":e="\xA3";break;case"5":e="$";break;case"9":switch(t){case"90000":return null;case"99991":return"0.00";case"99990":return"Used"}e="";break;default:e=""}var n=parseInt(t.substring(1)),o=n%100;return e+(n/100).toString()+"."+(o<10?"0"+o:o.toString())},r}(),Mn=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Pn=function(){function r(){this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}return r.prototype.decodeRow=function(t,e,n){var o=this.decodeRowStringBuffer,i=this.decodeMiddle(e,n,o),a=o.toString(),s=r.parseExtensionString(a),u=[new R((n[0]+n[1])/2,t),new R(i,t)],c=new ft(a,null,0,u,D.UPC_EAN_EXTENSION,new Date().getTime());return s!=null&&c.putAllMetadata(s),c},r.prototype.decodeMiddle=function(t,e,n){var o,i,a=this.decodeMiddleCounters;a[0]=0,a[1]=0,a[2]=0,a[3]=0;for(var s=t.getSize(),u=e[1],c=0,f=0;f<2&&u=10&&(c|=1<<1-f),f!==1&&(u=t.getNextSet(u),u=t.getNextUnset(u))}if(n.length!==2)throw new E;if(parseInt(n.toString())%4!==c)throw new E;return u},r.parseExtensionString=function(t){return t.length!==2?null:new Map([[ct.ISSUE_NUMBER,parseInt(t)]])},r}(),Bn=function(){function r(){}return r.decodeRow=function(t,e,n){var o=kt.findGuardPattern(e,n,!1,this.EXTENSION_START_PATTERN,new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));try{return new Dn().decodeRow(t,e,o)}catch{return new Pn().decodeRow(t,e,o)}},r.EXTENSION_START_PATTERN=Int32Array.from([1,1,2]),r}(),Ln=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),rt=function(r){function t(){var e=r.call(this)||this;e.decodeRowStringBuffer="",t.L_AND_G_PATTERNS=t.L_PATTERNS.map(function(s){return Int32Array.from(s)});for(var n=10;n<20;n++){for(var o=t.L_PATTERNS[n-10],i=new Int32Array(o.length),a=0;a=n.getSize()||!n.isRange(p,y,!1))throw new E;var C=f.toString();if(C.length<8)throw new T;if(!t.checkChecksum(C))throw new at;var w=(i[1]+i[0])/2,v=(l[1]+l[0])/2,_=this.getBarcodeFormat(),m=[new R(w,e),new R(v,e)],I=new ft(C,null,0,m,_,new Date().getTime()),S=0;try{var O=Bn.decodeRow(e,n,l[1]);I.putMetadata(ct.UPC_EAN_EXTENSION,O.getText()),I.putAllMetadata(O.getResultMetadata()),I.addResultPoints(O.getResultPoints()),S=O.getText().length}catch{}var M=o==null?null:o.get(Q.ALLOWED_EAN_EXTENSIONS);if(M!=null){var k=!1;for(var x in M)if(S.toString()===x){k=!0;break}if(!k)throw new E}return _===D.EAN_13||D.UPC_A,I},t.checkChecksum=function(e){return t.checkStandardUPCEANChecksum(e)},t.checkStandardUPCEANChecksum=function(e){var n=e.length;if(n===0)return!1;var o=parseInt(e.charAt(n-1),10);return t.getStandardUPCEANChecksum(e.substring(0,n-1))===o},t.getStandardUPCEANChecksum=function(e){for(var n=e.length,o=0,i=n-1;i>=0;i-=2){if((a=e.charAt(i).charCodeAt(0)-"0".charCodeAt(0))<0||a>9)throw new T;o+=a}for(o*=3,i=n-2;i>=0;i-=2){var a;if((a=e.charAt(i).charCodeAt(0)-"0".charCodeAt(0))<0||a>9)throw new T;o+=a}return(1e3-o)%10},t.decodeEnd=function(e,n){return t.findGuardPattern(e,n,!1,t.START_END_PATTERN,new Int32Array(t.START_END_PATTERN.length).fill(0))},t}(kt),Fn=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Je=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Oe=function(r){function t(){var e=r.call(this)||this;return e.decodeMiddleCounters=Int32Array.from([0,0,0,0]),e}return Fn(t,r),t.prototype.decodeMiddle=function(e,n,o){var i,a,s,u,c=this.decodeMiddleCounters;c[0]=0,c[1]=0,c[2]=0,c[3]=0;for(var f=e.getSize(),h=n[1],l=0,d=0;d<6&&h=10&&(l|=1<<5-d)}for(o=t.determineFirstDigit(o,l),h=rt.findGuardPattern(e,h,!0,rt.MIDDLE_PATTERN,new Int32Array(rt.MIDDLE_PATTERN.length).fill(0))[1],d=0;d<6&&h=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},tr=function(r){function t(){var e=r.call(this)||this;return e.decodeMiddleCounters=Int32Array.from([0,0,0,0]),e}return xn(t,r),t.prototype.decodeMiddle=function(e,n,o){var i,a,s,u,c=this.decodeMiddleCounters;c[0]=0,c[1]=0,c[2]=0,c[3]=0;for(var f=e.getSize(),h=n[1],l=0;l<4&&h=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},rr=function(r){function t(){var e=r.call(this)||this;return e.decodeMiddleCounters=new Int32Array(4),e}return Vn(t,r),t.prototype.decodeMiddle=function(e,n,o){var i,a,s=this.decodeMiddleCounters.map(function(y){return y});s[0]=0,s[1]=0,s[2]=0,s[3]=0;for(var u=e.getSize(),c=n[1],f=0,h=0;h<6&&c=10&&(f|=1<<5-h)}return t.determineNumSysAndCheckDigit(new B(o),f),c},t.prototype.decodeEnd=function(e,n){return t.findGuardPatternWithoutCounters(e,n,!0,t.MIDDLE_END_PATTERN)},t.prototype.checkChecksum=function(e){return rt.checkChecksum(t.convertUPCEtoUPCA(e))},t.determineNumSysAndCheckDigit=function(e,n){for(var o=0;o<=1;o++)for(var i=0;i<10;i++)if(n===this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[o][i])return e.insert(0,"0"+o),void e.append("0"+i);throw E.getNotFoundInstance()},t.prototype.getBarcodeFormat=function(){return D.UPC_E},t.convertUPCEtoUPCA=function(e){var n=e.slice(1,7).split("").map(function(a){return a.charCodeAt(0)}),o=new B;o.append(e.charAt(0));var i=n[5];switch(i){case 0:case 1:case 2:o.appendChars(n,0,2),o.append(i),o.append("0000"),o.appendChars(n,2,3);break;case 3:o.appendChars(n,0,3),o.append("00000"),o.appendChars(n,3,2);break;case 4:o.appendChars(n,0,4),o.append("00000"),o.append(n[4]);break;default:o.appendChars(n,0,5),o.append("0000"),o.append(i)}return e.length>=8&&o.append(e.charAt(7)),o.toString()},t.MIDDLE_END_PATTERN=Int32Array.from([1,1,1,1,1,1]),t.NUMSYS_AND_CHECK_DIGIT_PATTERNS=[Int32Array.from([56,52,50,49,44,38,35,42,41,37]),Int32Array.from([7,11,13,14,19,25,28,21,22,1])],t}(rt),Un=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),nr=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},pe=function(r){function t(e){var n=r.call(this)||this,o=e==null?null:e.get(Q.POSSIBLE_FORMATS),i=[];return o!=null&&(o.indexOf(D.EAN_13)>-1&&i.push(new Oe),o.indexOf(D.UPC_A)>-1&&i.push(new er),o.indexOf(D.EAN_8)>-1&&i.push(new tr),o.indexOf(D.UPC_E)>-1&&i.push(new rr)),i.length===0&&(i.push(new Oe),i.push(new er),i.push(new tr),i.push(new rr)),n.readers=i,n}return Un(t,r),t.prototype.decodeRow=function(e,n,o){var i,a;try{for(var s=nr(this.readers),u=s.next();!u.done;u=s.next()){var c=u.value;try{var f=c.decodeRow(e,n,o),h=f.getBarcodeFormat()===D.EAN_13&&f.getText().charAt(0)==="0",l=o==null?null:o.get(Q.POSSIBLE_FORMATS),d=l==null||l.includes(D.UPC_A);if(h&&d){var p=f.getRawBytes(),y=new ft(f.getText().substring(1),p,p?p.length:null,f.getResultPoints(),D.UPC_A);return y.putAllMetadata(f.getResultMetadata()),y}return f}catch{}}}catch(C){i={error:C}}finally{try{u&&!u.done&&(a=s.return)&&a.call(s)}finally{if(i)throw i.error}}throw new E},t.prototype.reset=function(){var e,n;try{for(var o=nr(this.readers),i=o.next();!i.done;i=o.next())i.value.reset()}catch(a){e={error:a}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}},t}(ot),Xn=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Gn=function(r){function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.CODA_BAR_CHAR_SET={nnnnnww:"0",nnnnwwn:"1",nnnwnnw:"2",wwnnnnn:"3",nnwnnwn:"4",wnnnnwn:"5",nwnnnnw:"6",nwnnwnn:"7",nwwnnnn:"8",wnnwnnn:"9",nnnwwnn:"-",nnwwnnn:"$",wnnnwnw:":",wnwnnnw:"/",wnwnwnn:".",nnwwwww:"+",nnwwnwn:"A",nwnwnnw:"B",nnnwnww:"C",nnnwwwn:"D"},e}return Xn(t,r),t.prototype.decodeRow=function(e,n,o){var i=this.getValidRowData(n);if(!i)throw new E;var a=this.codaBarDecodeRow(i.row);if(!a)throw new E;return new ft(a,null,0,[new R(i.left,e),new R(i.right,e)],D.CODABAR,new Date().getTime())},t.prototype.getValidRowData=function(e){var n=e.toArray(),o=n.indexOf(!0);if(o===-1)return null;var i=n.lastIndexOf(!0);if(i<=o)return null;for(var a=[],s=(n=n.slice(o,i+1))[0],u=1,c=1;c0;){var i=e.splice(0,8).splice(0,7).map(function(s){return s=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Pt=function(r){function t(){var e=r.call(this)||this;return e.decodeFinderCounters=new Int32Array(4),e.dataCharacterCounters=new Int32Array(8),e.oddRoundingErrors=new Array(4),e.evenRoundingErrors=new Array(4),e.oddCounts=new Array(e.dataCharacterCounters.length/2),e.evenCounts=new Array(e.dataCharacterCounters.length/2),e}return Wn(t,r),t.prototype.getDecodeFinderCounters=function(){return this.decodeFinderCounters},t.prototype.getDataCharacterCounters=function(){return this.dataCharacterCounters},t.prototype.getOddRoundingErrors=function(){return this.oddRoundingErrors},t.prototype.getEvenRoundingErrors=function(){return this.evenRoundingErrors},t.prototype.getOddCounts=function(){return this.oddCounts},t.prototype.getEvenCounts=function(){return this.evenCounts},t.prototype.parseFinderValue=function(e,n){for(var o=0;oi&&(i=n[a],o=a);e[o]++},t.decrement=function(e,n){for(var o=0,i=n[0],a=1;a=t.MIN_FINDER_PATTERN_RATIO&&a<=t.MAX_FINDER_PATTERN_RATIO){var s=Number.MAX_SAFE_INTEGER,u=Number.MIN_SAFE_INTEGER;try{for(var c=zn(e),f=c.next();!f.done;f=c.next()){var h=f.value;h>u&&(u=h),h=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Ft=function(){function r(){}return r.getRSSvalue=function(t,e,n){var o,i,a=0;try{for(var s=jn(t),u=s.next();!u.done;u=s.next())a+=u.value}catch(w){o={error:w}}finally{try{u&&!u.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}for(var c=0,f=0,h=t.length,l=0;l=h-l-1&&(p-=r.combins(a-d-(h-l),h-l-2)),h-l-1>1){for(var y=0,C=a-d-(h-l-2);C>e;C--)y+=r.combins(a-d-C-1,h-l-3);p-=y*(h-1-l)}else a-d>e&&p--;c+=p}a-=d}return c},r.combins=function(t,e){var n,o;t-e>e?(o=e,n=t-e):(o=t-e,n=e);for(var i=1,a=1,s=t;s>n;s--)i*=s,a<=o&&(i/=a,a++);for(;a<=o;)i/=a,a++;return i},r}(),Yn=function(){function r(){}return r.buildBitArray=function(t){var e=2*t.length-1;t[t.length-1].getRightChar()==null&&(e-=1);for(var n=new st(12*e),o=0,i=t[0].getRightChar().getValue(),a=11;a>=0;--a)i&1<=0;--c)u&1<=0;--c)f&1<10||o<0||o>10)throw new T;return i.firstDigit=n,i.secondDigit=o,i}return qn(t,r),t.prototype.getFirstDigit=function(){return this.firstDigit},t.prototype.getSecondDigit=function(){return this.secondDigit},t.prototype.getValue=function(){return 10*this.firstDigit+this.secondDigit},t.prototype.isFirstDigitFNC1=function(){return this.firstDigit===t.FNC1},t.prototype.isSecondDigitFNC1=function(){return this.secondDigit===t.FNC1},t.prototype.isAnyFNC1=function(){return this.firstDigit===t.FNC1||this.secondDigit===t.FNC1},t.FNC1=10,t}(Ve),$t=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Qn=function(){function r(){}return r.parseFieldsInGeneralPurpose=function(t){var e,n,o,i,a,s,u,c;if(!t)return null;if(t.length<2)throw new E;var f=t.substring(0,2);try{for(var h=$t(r.TWO_DIGIT_DATA_LENGTH),l=h.next();!l.done;l=h.next())if((I=l.value)[0]===f)return I[1]===r.VARIABLE_LENGTH?r.processVariableAI(2,I[2],t):r.processFixedAI(2,I[1],t)}catch(S){e={error:S}}finally{try{l&&!l.done&&(n=h.return)&&n.call(h)}finally{if(e)throw e.error}}if(t.length<3)throw new E;var d=t.substring(0,3);try{for(var p=$t(r.THREE_DIGIT_DATA_LENGTH),y=p.next();!y.done;y=p.next())if((I=y.value)[0]===d)return I[1]===r.VARIABLE_LENGTH?r.processVariableAI(3,I[2],t):r.processFixedAI(3,I[1],t)}catch(S){o={error:S}}finally{try{y&&!y.done&&(i=p.return)&&i.call(p)}finally{if(o)throw o.error}}try{for(var C=$t(r.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH),w=C.next();!w.done;w=C.next())if((I=w.value)[0]===d)return I[1]===r.VARIABLE_LENGTH?r.processVariableAI(4,I[2],t):r.processFixedAI(4,I[1],t)}catch(S){a={error:S}}finally{try{w&&!w.done&&(s=C.return)&&s.call(C)}finally{if(a)throw a.error}}if(t.length<4)throw new E;var v=t.substring(0,4);try{for(var _=$t(r.FOUR_DIGIT_DATA_LENGTH),m=_.next();!m.done;m=_.next()){var I;if((I=m.value)[0]===v)return I[1]===r.VARIABLE_LENGTH?r.processVariableAI(4,I[2],t):r.processFixedAI(4,I[1],t)}}catch(S){u={error:S}}finally{try{m&&!m.done&&(c=_.return)&&c.call(_)}finally{if(u)throw u.error}}throw new E},r.processFixedAI=function(t,e,n){if(n.lengththis.information.getSize())return t+4<=this.information.getSize();for(var e=t;ethis.information.getSize()){var e=this.extractNumericValueFromBitArray(t,4);return new Jt(this.information.getSize(),e===0?Jt.FNC1:e-1,Jt.FNC1)}var n=this.extractNumericValueFromBitArray(t,7);return new Jt(t+7,(n-8)/11,(n-8)%11)},r.prototype.extractNumericValueFromBitArray=function(t,e){return r.extractNumericValueFromBitArray(this.information,t,e)},r.extractNumericValueFromBitArray=function(t,e,n){for(var o=0,i=0;ithis.information.getSize())return!1;var e=this.extractNumericValueFromBitArray(t,5);if(e>=5&&e<16)return!0;if(t+7>this.information.getSize())return!1;var n=this.extractNumericValueFromBitArray(t,7);if(n>=64&&n<116)return!0;if(t+8>this.information.getSize())return!1;var o=this.extractNumericValueFromBitArray(t,8);return o>=232&&o<253},r.prototype.decodeIsoIec646=function(t){var e=this.extractNumericValueFromBitArray(t,5);if(e===15)return new _t(t+5,_t.FNC1);if(e>=5&&e<15)return new _t(t+5,"0"+(e-5));var n,o=this.extractNumericValueFromBitArray(t,7);if(o>=64&&o<90)return new _t(t+7,""+(o+1));if(o>=90&&o<116)return new _t(t+7,""+(o+7));switch(this.extractNumericValueFromBitArray(t,8)){case 232:n="!";break;case 233:n='"';break;case 234:n="%";break;case 235:n="&";break;case 236:n="'";break;case 237:n="(";break;case 238:n=")";break;case 239:n="*";break;case 240:n="+";break;case 241:n=",";break;case 242:n="-";break;case 243:n=".";break;case 244:n="/";break;case 245:n=":";break;case 246:n=";";break;case 247:n="<";break;case 248:n="=";break;case 249:n=">";break;case 250:n="?";break;case 251:n="_";break;case 252:n=" ";break;default:throw new T}return new _t(t+8,n)},r.prototype.isStillAlpha=function(t){if(t+5>this.information.getSize())return!1;var e=this.extractNumericValueFromBitArray(t,5);if(e>=5&&e<16)return!0;if(t+6>this.information.getSize())return!1;var n=this.extractNumericValueFromBitArray(t,6);return n>=16&&n<63},r.prototype.decodeAlphanumeric=function(t){var e=this.extractNumericValueFromBitArray(t,5);if(e===15)return new _t(t+5,_t.FNC1);if(e>=5&&e<15)return new _t(t+5,"0"+(e-5));var n,o=this.extractNumericValueFromBitArray(t,6);if(o>=32&&o<58)return new _t(t+6,""+(o+33));switch(o){case 58:n="*";break;case 59:n=",";break;case 60:n="-";break;case 61:n=".";break;case 62:n="/";break;default:throw new Nt("Decoding invalid alphanumeric value: "+o)}return new _t(t+6,n)},r.prototype.isAlphaTo646ToAlphaLatch=function(t){if(t+1>this.information.getSize())return!1;for(var e=0;e<5&&e+tthis.information.getSize())return!1;for(var e=t;ethis.information.getSize())return!1;for(var e=0;e<4&&e+t=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Co=function(r){function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.pairs=new Array(t.MAX_PAIRS),e.rows=new Array,e.startEnd=[2],e}return wo(t,r),t.prototype.decodeRow=function(e,n,o){this.pairs.length=0,this.startFromEven=!1;try{return t.constructResult(this.decodeRow2pairs(e,n))}catch{}return this.pairs.length=0,this.startFromEven=!0,t.constructResult(this.decodeRow2pairs(e,n))},t.prototype.reset=function(){this.pairs.length=0,this.rows.length=0},t.prototype.decodeRow2pairs=function(e,n){for(var o,i=!1;!i;)try{this.pairs.push(this.retrieveNextPair(n,this.pairs,e))}catch(s){if(s instanceof E){if(!this.pairs.length)throw new E;i=!0}}if(this.checkChecksum())return this.pairs;if(o=!!this.rows.length,this.storeRow(e,!1),o){var a=this.checkRowsBoolean(!1);if(a!=null||(a=this.checkRowsBoolean(!0))!=null)return a}throw new E},t.prototype.checkRowsBoolean=function(e){if(this.rows.length>25)return this.rows.length=0,null;this.pairs.length=0,e&&(this.rows=this.rows.reverse());var n=null;try{n=this.checkRows(new Array,0)}catch(o){console.log(o)}return e&&(this.rows=this.rows.reverse()),n},t.prototype.checkRows=function(e,n){for(var o,i,a=n;as.length)){for(var u=!0,c=0;ce){a=s.isEquivalent(this.pairs);break}i=s.isEquivalent(this.pairs),o++}a||i||t.isPartialRow(this.pairs,this.rows)||(this.rows.push(o,new yo(this.pairs,e,n)),this.removePartialRows(this.pairs,this.rows))},t.prototype.removePartialRows=function(e,n){var o,i,a,s,u,c;try{for(var f=Ot(n),h=f.next();!h.done;h=f.next()){var l=h.value;if(l.getPairs().length!==e.length)try{for(var d=(a=void 0,Ot(l.getPairs())),p=d.next();!p.done;p=d.next()){var y=p.value,C=!1;try{for(var w=(u=void 0,Ot(e)),v=w.next();!v.done;v=w.next()){var _=v.value;if(or.equals(y,_)){C=!0;break}}}catch(m){u={error:m}}finally{try{v&&!v.done&&(c=w.return)&&c.call(w)}finally{if(u)throw u.error}}}}catch(m){a={error:m}}finally{try{p&&!p.done&&(s=d.return)&&s.call(d)}finally{if(a)throw a.error}}}}catch(m){o={error:m}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(o)throw o.error}}},t.isPartialRow=function(e,n){var o,i,a,s,u,c;try{for(var f=Ot(n),h=f.next();!h.done;h=f.next()){var l=h.value,d=!0;try{for(var p=(a=void 0,Ot(e)),y=p.next();!y.done;y=p.next()){var C=y.value,w=!1;try{for(var v=(u=void 0,Ot(l.getPairs())),_=v.next();!_.done;_=v.next()){var m=_.value;if(C.equals(m)){w=!0;break}}}catch(I){u={error:I}}finally{try{_&&!_.done&&(c=v.return)&&c.call(v)}finally{if(u)throw u.error}}if(!w){d=!1;break}}}catch(I){a={error:I}}finally{try{y&&!y.done&&(s=p.return)&&s.call(p)}finally{if(a)throw a.error}}if(d)return!0}}catch(I){o={error:I}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(o)throw o.error}}return!1},t.prototype.getRows=function(){return this.rows},t.constructResult=function(e){var n=go(Yn.buildBitArray(e)).parseInformation(),o=e[0].getFinderPattern().getResultPoints(),i=e[e.length-1].getFinderPattern().getResultPoints(),a=[o[0],o[1],i[0],i[1]];return new ft(n,null,null,a,D.RSS_EXPANDED,null)},t.prototype.checkChecksum=function(){var e=this.pairs.get(0),n=e.getLeftChar(),o=e.getRightChar();if(o===null)return!1;for(var i=o.getChecksumPortion(),a=2,s=1;s=0?a=o:this.isEmptyPair(n)?a=0:a=n[n.length-1].getFinderPattern().getStartEnd()[1];var u=n.length%2!=0;this.startFromEven&&(u=!u);for(var c=!1;a=0&&!e.get(u);)u--;u++,i=this.startEnd[0]-u,a=u,s=this.startEnd[1]}else a=this.startEnd[0],i=(s=e.getNextUnset(this.startEnd[1]+1))-this.startEnd[1];var c,f=this.getDecodeFinderCounters();Z.arraycopy(f,0,f,1,f.length-1),f[0]=i;try{c=this.parseFinderValue(f,t.FINDER_PATTERNS)}catch{return null}return new Tr(c,[a,s],a,s,n)},t.prototype.decodeDataCharacter=function(e,n,o,i){for(var a=this.getDataCharacterCounters(),s=0;s.3)throw new E;var d=this.getOddCounts(),p=this.getEvenCounts(),y=this.getOddRoundingErrors(),C=this.getEvenRoundingErrors();for(u=0;u8){if(w>8.7)throw new E;v=8}var _=u/2;1&u?(p[_]=v,C[_]=w-v):(d[_]=v,y[_]=w-v)}this.adjustOddEvenCounts(17);var m=4*n.getValue()+(o?0:2)+(i?0:1)-1,I=0,S=0;for(u=d.length-1;u>=0;u--){if(t.isNotA1left(n,o,i)){var O=t.WEIGHTS[m][2*u];S+=d[u]*O}I+=d[u]}var M=0;for(u=p.length-1;u>=0;u--)t.isNotA1left(n,o,i)&&(O=t.WEIGHTS[m][2*u+1],M+=p[u]*O);var k=S+M;if(1&I||I>13||I<4)throw new E;var x=(13-I)/2,J=t.SYMBOL_WIDEST[x],W=9-J,tt=Ft.getRSSvalue(d,J,!0),It=Ft.getRSSvalue(p,W,!1),St=t.EVEN_TOTAL_SUBSET[x],he=t.GSUM[x];return new ae(tt*St+It+he,k)},t.isNotA1left=function(e,n,o){return!(e.getValue()===0&&n&&o)},t.prototype.adjustOddEvenCounts=function(e){var n=U.sum(new Int32Array(this.getOddCounts())),o=U.sum(new Int32Array(this.getEvenCounts())),i=!1,a=!1;n>13?a=!0:n<4&&(i=!0);var s=!1,u=!1;o>13?u=!0:o<4&&(s=!0);var c=n+o-e,f=(1&n)==1,h=(1&o)==0;if(c===1)if(f){if(h)throw new E;a=!0}else{if(!h)throw new E;u=!0}else if(c===-1)if(f){if(h)throw new E;i=!0}else{if(!h)throw new E;s=!0}else{if(c!==0)throw new E;if(f){if(!h)throw new E;n=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ir=function(r){function t(){var e=r!==null&&r.apply(this,arguments)||this;return e.possibleLeftPairs=[],e.possibleRightPairs=[],e}return _o(t,r),t.prototype.decodeRow=function(e,n,o){var i,a,s,u,c=this.decodePair(n,!1,e,o);t.addOrTally(this.possibleLeftPairs,c),n.reverse();var f=this.decodePair(n,!0,e,o);t.addOrTally(this.possibleRightPairs,f),n.reverse();try{for(var h=ge(this.possibleLeftPairs),l=h.next();!l.done;l=h.next()){var d=l.value;if(d.getCount()>1)try{for(var p=(s=void 0,ge(this.possibleRightPairs)),y=p.next();!y.done;y=p.next()){var C=y.value;if(C.getCount()>1&&t.checkChecksum(d,C))return t.constructResult(d,C)}}catch(w){s={error:w}}finally{try{y&&!y.done&&(u=p.return)&&u.call(p)}finally{if(s)throw s.error}}}}catch(w){i={error:w}}finally{try{l&&!l.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}throw new E},t.addOrTally=function(e,n){var o,i;if(n!=null){var a=!1;try{for(var s=ge(e),u=s.next();!u.done;u=s.next()){var c=u.value;if(c.getValue()===n.getValue()){c.incrementCount(),a=!0;break}}}catch(f){o={error:f}}finally{try{u&&!u.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}a||e.push(n)}},t.prototype.reset=function(){this.possibleLeftPairs.length=0,this.possibleRightPairs.length=0},t.constructResult=function(e,n){for(var o=4537077*e.getValue()+n.getValue(),i=new String(o).toString(),a=new B,s=13-i.length;s>0;s--)a.append("0");a.append(i);var u=0;for(s=0;s<13;s++){var c=a.charAt(s).charCodeAt(0)-"0".charCodeAt(0);u+=1&s?c:3*c}(u=10-u%10)===10&&(u=0),a.append(u.toString());var f=e.getFinderPattern().getResultPoints(),h=n.getFinderPattern().getResultPoints();return new ft(a.toString(),null,0,[f[0],f[1],h[0],h[1]],D.RSS_14,new Date().getTime())},t.checkChecksum=function(e,n){var o=(e.getChecksumPortion()+16*n.getChecksumPortion())%79,i=9*e.getFinderPattern().getValue()+n.getFinderPattern().getValue();return i>72&&i--,i>8&&i--,o===i},t.prototype.decodePair=function(e,n,o,i){try{var a=this.findFinderPattern(e,n),s=this.parseFoundFinderPattern(e,o,n,a),u=i==null?null:i.get(Q.NEED_RESULT_POINT_CALLBACK);if(u!=null){var c=(a[0]+a[1])/2;n&&(c=e.getSize()-1-c),u.foundPossibleResultPoint(new R(c,o))}var f=this.decodeDataCharacter(e,s,!0),h=this.decodeDataCharacter(e,s,!1);return new Ao(1597*f.getValue()+h.getValue(),f.getChecksumPortion()+4*h.getChecksumPortion(),s)}catch{return null}},t.prototype.decodeDataCharacter=function(e,n,o){for(var i=this.getDataCharacterCounters(),a=0;a8&&(w=8);var v=Math.floor(s/2);1&s?(d[v]=w,y[v]=C-w):(l[v]=w,p[v]=C-w)}this.adjustOddEvenCounts(o,f);var _=0,m=0;for(s=l.length-1;s>=0;s--)m*=9,m+=l[s],_+=l[s];var I=0,S=0;for(s=d.length-1;s>=0;s--)I*=9,I+=d[s],S+=d[s];var O=m+3*I;if(o){if(1&_||_>12||_<4)throw new E;var M=(12-_)/2,k=9-(It=t.OUTSIDE_ODD_WIDEST[M]),x=Ft.getRSSvalue(l,It,!1),J=Ft.getRSSvalue(d,k,!0),W=t.OUTSIDE_EVEN_TOTAL_SUBSET[M],tt=t.OUTSIDE_GSUM[M];return new ae(x*W+J+tt,O)}if(1&S||S>10||S<4)throw new E;M=(10-S)/2,k=9-(It=t.INSIDE_ODD_WIDEST[M]),x=Ft.getRSSvalue(l,It,!0),J=Ft.getRSSvalue(d,k,!1);var It,St=t.INSIDE_ODD_TOTAL_SUBSET[M];return tt=t.INSIDE_GSUM[M],new ae(J*St+x+tt,O)},t.prototype.findFinderPattern=function(e,n){var o=this.getDecodeFinderCounters();o[0]=0,o[1]=0,o[2]=0,o[3]=0;for(var i=e.getSize(),a=!1,s=0;s=0&&a!==e.get(s);)s--;s++;var u=i[0]-s,c=this.getDecodeFinderCounters(),f=new Int32Array(c.length);Z.arraycopy(c,0,f,1,c.length-1),f[0]=u;var h=this.parseFinderValue(f,t.FINDER_PATTERNS),l=s,d=i[1];return o&&(l=e.getSize()-1-l,d=e.getSize()-1-d),new Tr(h,[s,i[1]],l,d,n)},t.prototype.adjustOddEvenCounts=function(e,n){var o=U.sum(new Int32Array(this.getOddCounts())),i=U.sum(new Int32Array(this.getEvenCounts())),a=!1,s=!1,u=!1,c=!1;e?(o>12?s=!0:o<4&&(a=!0),i>12?c=!0:i<4&&(u=!0)):(o>11?s=!0:o<5&&(a=!0),i>10?c=!0:i<4&&(u=!0));var f=o+i-n,h=(1&o)==(e?1:0),l=(1&i)==1;if(f===1)if(h){if(l)throw new E;s=!0}else{if(!l)throw new E;c=!0}else if(f===-1)if(h){if(l)throw new E;a=!0}else{if(!l)throw new E;u=!0}else{if(f!==0)throw new E;if(h){if(!l)throw new E;o=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},G=function(){function r(t,e,n){this.ecCodewords=t,this.ecBlocks=[e],n&&this.ecBlocks.push(n)}return r.prototype.getECCodewords=function(){return this.ecCodewords},r.prototype.getECBlocks=function(){return this.ecBlocks},r}(),X=function(){function r(t,e){this.count=t,this.dataCodewords=e}return r.prototype.getCount=function(){return this.count},r.prototype.getDataCodewords=function(){return this.dataCodewords},r}(),Io=function(){function r(t,e,n,o,i,a){var s,u;this.versionNumber=t,this.symbolSizeRows=e,this.symbolSizeColumns=n,this.dataRegionSizeRows=o,this.dataRegionSizeColumns=i,this.ecBlocks=a;var c=0,f=a.getECCodewords(),h=a.getECBlocks();try{for(var l=ar(h),d=l.next();!d.done;d=l.next()){var p=d.value;c+=p.getCount()*(p.getDataCodewords()+f)}}catch(y){s={error:y}}finally{try{d&&!d.done&&(u=l.return)&&u.call(l)}finally{if(s)throw s.error}}this.totalCodewords=c}return r.prototype.getVersionNumber=function(){return this.versionNumber},r.prototype.getSymbolSizeRows=function(){return this.symbolSizeRows},r.prototype.getSymbolSizeColumns=function(){return this.symbolSizeColumns},r.prototype.getDataRegionSizeRows=function(){return this.dataRegionSizeRows},r.prototype.getDataRegionSizeColumns=function(){return this.dataRegionSizeColumns},r.prototype.getTotalCodewords=function(){return this.totalCodewords},r.prototype.getECBlocks=function(){return this.ecBlocks},r.getVersionForDimensions=function(t,e){var n,o;if(1&t||1&e)throw new T;try{for(var i=ar(r.VERSIONS),a=i.next();!a.done;a=i.next()){var s=a.value;if(s.symbolSizeRows===t&&s.symbolSizeColumns===e)return s}}catch(u){n={error:u}}finally{try{a&&!a.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}throw new T},r.prototype.toString=function(){return""+this.versionNumber},r.buildVersions=function(){return[new r(1,10,10,8,8,new G(5,new X(1,3))),new r(2,12,12,10,10,new G(7,new X(1,5))),new r(3,14,14,12,12,new G(10,new X(1,8))),new r(4,16,16,14,14,new G(12,new X(1,12))),new r(5,18,18,16,16,new G(14,new X(1,18))),new r(6,20,20,18,18,new G(18,new X(1,22))),new r(7,22,22,20,20,new G(20,new X(1,30))),new r(8,24,24,22,22,new G(24,new X(1,36))),new r(9,26,26,24,24,new G(28,new X(1,44))),new r(10,32,32,14,14,new G(36,new X(1,62))),new r(11,36,36,16,16,new G(42,new X(1,86))),new r(12,40,40,18,18,new G(48,new X(1,114))),new r(13,44,44,20,20,new G(56,new X(1,144))),new r(14,48,48,22,22,new G(68,new X(1,174))),new r(15,52,52,24,24,new G(42,new X(2,102))),new r(16,64,64,14,14,new G(56,new X(2,140))),new r(17,72,72,16,16,new G(36,new X(4,92))),new r(18,80,80,18,18,new G(48,new X(4,114))),new r(19,88,88,20,20,new G(56,new X(4,144))),new r(20,96,96,22,22,new G(68,new X(4,174))),new r(21,104,104,24,24,new G(56,new X(6,136))),new r(22,120,120,18,18,new G(68,new X(6,175))),new r(23,132,132,20,20,new G(62,new X(8,163))),new r(24,144,144,22,22,new G(62,new X(8,156),new X(2,155))),new r(25,8,18,6,16,new G(7,new X(1,5))),new r(26,8,32,6,14,new G(11,new X(1,10))),new r(27,12,26,10,24,new G(14,new X(1,16))),new r(28,12,36,10,16,new G(18,new X(1,22))),new r(29,16,36,14,16,new G(24,new X(1,32))),new r(30,16,48,14,22,new G(28,new X(1,49)))]},r.VERSIONS=r.buildVersions(),r}(),So=function(){function r(t){var e=t.getHeight();if(e<8||e>144||1&e)throw new T;this.version=r.readVersion(t),this.mappingBitMatrix=this.extractDataRegion(t),this.readMappingMatrix=new yt(this.mappingBitMatrix.getWidth(),this.mappingBitMatrix.getHeight())}return r.prototype.getVersion=function(){return this.version},r.readVersion=function(t){var e=t.getHeight(),n=t.getWidth();return Io.getVersionForDimensions(e,n)},r.prototype.readCodewords=function(){var t=new Int8Array(this.version.getTotalCodewords()),e=0,n=4,o=0,i=this.mappingBitMatrix.getHeight(),a=this.mappingBitMatrix.getWidth(),s=!1,u=!1,c=!1,f=!1;do if(n!==i||o!==0||s)if(n!==i-2||o!==0||!(3&a)||u)if(n!==i+4||o!==2||7&a||c)if(n!==i-2||o!==0||(7&a)!=4||f){do n=0&&!this.readMappingMatrix.get(o,n)&&(t[e++]=255&this.readUtah(n,o,i,a)),n-=2,o+=2;while(n>=0&&o=0&&o=0);n+=3,o+=1}else t[e++]=255&this.readCorner4(i,a),n-=2,o+=2,f=!0;else t[e++]=255&this.readCorner3(i,a),n-=2,o+=2,c=!0;else t[e++]=255&this.readCorner2(i,a),n-=2,o+=2,u=!0;else t[e++]=255&this.readCorner1(i,a),n-=2,o+=2,s=!0;while(n=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},To=function(){function r(t,e){this.numDataCodewords=t,this.codewords=e}return r.getDataBlocks=function(t,e){var n,o,i,a,s=e.getECBlocks(),u=0,c=s.getECBlocks();try{for(var f=sr(c),h=f.next();!h.done;h=f.next())u+=(C=h.value).getCount()}catch(tt){n={error:tt}}finally{try{h&&!h.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}var l=new Array(u),d=0;try{for(var p=sr(c),y=p.next();!y.done;y=p.next())for(var C=y.value,w=0;w7?w-1:w;l[J].codewords[W]=t[S++]}if(S!==t.length)throw new N;return l},r.prototype.getNumDataCodewords=function(){return this.numDataCodewords},r.prototype.getCodewords=function(){return this.codewords},r}(),Rr=function(){function r(t){this.bytes=t,this.byteOffset=0,this.bitOffset=0}return r.prototype.getBitOffset=function(){return this.bitOffset},r.prototype.getByteOffset=function(){return this.byteOffset},r.prototype.readBits=function(t){if(t<1||t>32||t>this.available())throw new N(""+t);var e=0,n=this.bitOffset,o=this.byteOffset,i=this.bytes;if(n>0){var a=8-n,s=t>8-s<<(c=a-s);e=(i[o]&u)>>c,t-=s,(n+=s)===8&&(n=0,o++)}if(t>0){for(;t>=8;)e=e<<8|255&i[o],o++,t-=8;if(t>0){var c;u=255>>(c=8-t)<>c,n+=t}}return this.bitOffset=n,this.byteOffset=o,e},r.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},r}();(function(r){r[r.PAD_ENCODE=0]="PAD_ENCODE",r[r.ASCII_ENCODE=1]="ASCII_ENCODE",r[r.C40_ENCODE=2]="C40_ENCODE",r[r.TEXT_ENCODE=3]="TEXT_ENCODE",r[r.ANSIX12_ENCODE=4]="ANSIX12_ENCODE",r[r.EDIFACT_ENCODE=5]="EDIFACT_ENCODE",r[r.BASE256_ENCODE=6]="BASE256_ENCODE"})(et||(et={}));var xt,Oo=function(){function r(){}return r.decode=function(t){var e=new Rr(t),n=new B,o=new B,i=new Array,a=et.ASCII_ENCODE;do if(a===et.ASCII_ENCODE)a=this.decodeAsciiSegment(e,n,o);else{switch(a){case et.C40_ENCODE:this.decodeC40Segment(e,n);break;case et.TEXT_ENCODE:this.decodeTextSegment(e,n);break;case et.ANSIX12_ENCODE:this.decodeAnsiX12Segment(e,n);break;case et.EDIFACT_ENCODE:this.decodeEdifactSegment(e,n);break;case et.BASE256_ENCODE:this.decodeBase256Segment(e,n,i);break;default:throw new T}a=et.ASCII_ENCODE}while(a!==et.PAD_ENCODE&&e.available()>0);return o.length()>0&&n.append(o.toString()),new ce(t,n.toString(),i.length===0?null:i,null)},r.decodeAsciiSegment=function(t,e,n){var o=!1;do{var i=t.readBits(8);if(i===0)throw new T;if(i<=128)return o&&(i+=128),e.append(String.fromCharCode(i-1)),et.ASCII_ENCODE;if(i===129)return et.PAD_ENCODE;if(i<=229){var a=i-130;a<10&&e.append("0"),e.append(""+a)}else switch(i){case 230:return et.C40_ENCODE;case 231:return et.BASE256_ENCODE;case 232:e.append(String.fromCharCode(29));break;case 233:case 234:case 241:break;case 235:o=!0;break;case 236:e.append("[)>05"),n.insert(0,"");break;case 237:e.append("[)>06"),n.insert(0,"");break;case 238:return et.ANSIX12_ENCODE;case 239:return et.TEXT_ENCODE;case 240:return et.EDIFACT_ENCODE;default:if(i!==254||t.available()!==0)throw new T}}while(t.available()>0);return et.ASCII_ENCODE},r.decodeC40Segment=function(t,e){var n=!1,o=[],i=0;do{if(t.available()===8)return;var a=t.readBits(8);if(a===254)return;this.parseTwoBytes(a,t.readBits(8),o);for(var s=0;s<3;s++){var u=o[s];switch(i){case 0:if(u<3)i=u+1;else{if(!(u0)},r.decodeTextSegment=function(t,e){var n=!1,o=[],i=0;do{if(t.available()===8)return;var a=t.readBits(8);if(a===254)return;this.parseTwoBytes(a,t.readBits(8),o);for(var s=0;s<3;s++){var u=o[s];switch(i){case 0:if(u<3)i=u+1;else{if(!(u0)},r.decodeAnsiX12Segment=function(t,e){var n=[];do{if(t.available()===8)return;var o=t.readBits(8);if(o===254)return;this.parseTwoBytes(o,t.readBits(8),n);for(var i=0;i<3;i++){var a=n[i];switch(a){case 0:e.append("\r");break;case 1:e.append("*");break;case 2:e.append(">");break;case 3:e.append(" ");break;default:if(a<14)e.append(String.fromCharCode(a+44));else{if(!(a<40))throw new T;e.append(String.fromCharCode(a+51))}}}}while(t.available()>0)},r.parseTwoBytes=function(t,e,n){var o=(t<<8)+e-1,i=Math.floor(o/1600);n[0]=i,o-=1600*i,i=Math.floor(o/40),n[1]=i,n[2]=o-40*i},r.decodeEdifactSegment=function(t,e){do{if(t.available()<=16)return;for(var n=0;n<4;n++){var o=t.readBits(6);if(o===31){var i=8-t.getBitOffset();return void(i!==8&&t.readBits(i))}!(32&o)&&(o|=64),e.append(String.fromCharCode(o))}}while(t.available()>0)},r.decodeBase256Segment=function(t,e,n){var o,i=1+t.getByteOffset(),a=this.unrandomize255State(t.readBits(8),i++);if((o=a===0?t.available()/8|0:a<250?a:250*(a-249)+this.unrandomize255State(t.readBits(8),i++))<0)throw new T;for(var s=new Uint8Array(o),u=0;u=0?n:n+256},r.C40_BASIC_SET_CHARS=["*","*","*"," ","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],r.C40_SHIFT2_SET_CHARS=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_"],r.TEXT_BASIC_SET_CHARS=["*","*","*"," ","0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],r.TEXT_SHIFT2_SET_CHARS=r.C40_SHIFT2_SET_CHARS,r.TEXT_SHIFT3_SET_CHARS=["`","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","{","|","}","~",String.fromCharCode(127)],r}(),bo=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Ro=function(){function r(){this.rsDecoder=new fe(gt.DATA_MATRIX_FIELD_256)}return r.prototype.decode=function(t){var e,n,o=new So(t),i=o.getVersion(),a=o.readCodewords(),s=To.getDataBlocks(a,i),u=0;try{for(var c=bo(s),f=c.next();!f.done;f=c.next())u+=f.value.getNumDataCodewords()}catch(v){e={error:v}}finally{try{f&&!f.done&&(n=c.return)&&n.call(c)}finally{if(e)throw e.error}}for(var h=new Uint8Array(u),l=s.length,d=0;ds&&(f=s,h[0]=e,h[1]=n,h[2]=o,h[3]=i),f>u&&(f=u,h[0]=n,h[1]=o,h[2]=i,h[3]=e),f>c&&(h[0]=o,h[1]=i,h[2]=e,h[3]=n),h},r.prototype.detectSolid2=function(t){var e=t[0],n=t[1],o=t[2],i=t[3],a=this.transitionsBetween(e,i),s=r.shiftPoint(n,o,4*(a+1)),u=r.shiftPoint(o,n,4*(a+1));return this.transitionsBetween(s,e)this.transitionsBetween(u,h)+this.transitionsBetween(c,h)?f:h:f:this.isValid(h)?h:null},r.prototype.shiftToModuleCenter=function(t){var e=t[0],n=t[1],o=t[2],i=t[3],a=this.transitionsBetween(e,i)+1,s=this.transitionsBetween(o,i)+1,u=r.shiftPoint(e,n,4*s),c=r.shiftPoint(o,n,4*a);(1&(a=this.transitionsBetween(u,i)+1))==1&&(a+=1),(1&(s=this.transitionsBetween(c,i)+1))==1&&(s+=1);var f,h,l=(e.getX()+n.getX()+o.getX()+i.getX())/4,d=(e.getY()+n.getY()+o.getY()+i.getY())/4;return e=r.moveAway(e,l,d),n=r.moveAway(n,l,d),o=r.moveAway(o,l,d),i=r.moveAway(i,l,d),u=r.shiftPoint(e,n,4*s),u=r.shiftPoint(u,i,4*a),f=r.shiftPoint(n,e,4*s),f=r.shiftPoint(f,o,4*a),c=r.shiftPoint(o,i,4*s),c=r.shiftPoint(c,n,4*a),h=r.shiftPoint(i,o,4*s),[u,f,c,h=r.shiftPoint(h,e,4*a)]},r.prototype.isValid=function(t){return t.getX()>=0&&t.getX()0&&t.getY()Math.abs(i-n);if(s){var u=n;n=o,o=u,u=i,i=a,a=u}for(var c=Math.abs(i-n),f=Math.abs(a-o),h=-c/2,l=o0){if(w===a)break;w+=l,h-=c}}return p},r}(),be=function(){function r(){this.decoder=new Ro}return r.prototype.decode=function(t,e){var n,o;if(e===void 0&&(e=null),e!=null&&e.has(Q.PURE_BARCODE)){var i=r.extractPureBits(t.getBlackMatrix());n=this.decoder.decode(i),o=r.NO_POINTS}else{var a=new No(t.getBlackMatrix()).detect();n=this.decoder.decode(a.getBits()),o=a.getPoints()}var s=n.getRawBytes(),u=new ft(n.getText(),s,8*s.length,o,D.DATA_MATRIX,Z.currentTimeMillis()),c=n.getByteSegments();c!=null&&u.putMetadata(ct.BYTE_SEGMENTS,c);var f=n.getECLevel();return f!=null&&u.putMetadata(ct.ERROR_CORRECTION_LEVEL,f),u},r.prototype.reset=function(){},r.extractPureBits=function(t){var e=t.getTopLeftOnBit(),n=t.getBottomRightOnBit();if(e==null||n==null)throw new E;var o=this.moduleSize(e,t),i=e[1],a=n[1],s=e[0],u=(n[0]-s+1)/o,c=(a-i+1)/o;if(u<=0||c<=0)throw new E;var f=o/2;i+=f,s+=f;for(var h=new yt(u,c),l=0;l=r.FOR_BITS.size)throw new N;return r.FOR_BITS.get(t)},r.FOR_BITS=new Map,r.FOR_VALUE=new Map,r.L=new r(xt.L,"L",1),r.M=new r(xt.M,"M",0),r.Q=new r(xt.Q,"Q",3),r.H=new r(xt.H,"H",2),r}(),Mo=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Nr=function(){function r(t){this.errorCorrectionLevel=Zt.forBits(t>>3&3),this.dataMask=7&t}return r.numBitsDiffering=function(t,e){return P.bitCount(t^e)},r.decodeFormatInformation=function(t,e){var n=r.doDecodeFormatInformation(t,e);return n!==null?n:r.doDecodeFormatInformation(t^r.FORMAT_INFO_MASK_QR,e^r.FORMAT_INFO_MASK_QR)},r.doDecodeFormatInformation=function(t,e){var n,o,i=Number.MAX_SAFE_INTEGER,a=0;try{for(var s=Mo(r.FORMAT_INFO_DECODE_LOOKUP),u=s.next();!u.done;u=s.next()){var c=u.value,f=c[0];if(f===t||f===e)return new r(c[1]);var h=r.numBitsDiffering(t,f);h=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},A=function(){function r(t){for(var e=[],n=1;n=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Lt=function(){function r(t,e){for(var n,o,i=[],a=2;a40)throw new N;return r.VERSIONS[t-1]},r.decodeVersionInformation=function(t){for(var e=Number.MAX_SAFE_INTEGER,n=0,o=0;o6&&(e.setRegion(t-11,0,3,6),e.setRegion(0,t-11,6,3)),e},r.prototype.toString=function(){return""+this.versionNumber},r.VERSION_DECODE_INFO=Int32Array.from([31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017]),r.VERSIONS=[new r(1,new Int32Array(0),new A(7,new g(1,19)),new A(10,new g(1,16)),new A(13,new g(1,13)),new A(17,new g(1,9))),new r(2,Int32Array.from([6,18]),new A(10,new g(1,34)),new A(16,new g(1,28)),new A(22,new g(1,22)),new A(28,new g(1,16))),new r(3,Int32Array.from([6,22]),new A(15,new g(1,55)),new A(26,new g(1,44)),new A(18,new g(2,17)),new A(22,new g(2,13))),new r(4,Int32Array.from([6,26]),new A(20,new g(1,80)),new A(18,new g(2,32)),new A(26,new g(2,24)),new A(16,new g(4,9))),new r(5,Int32Array.from([6,30]),new A(26,new g(1,108)),new A(24,new g(2,43)),new A(18,new g(2,15),new g(2,16)),new A(22,new g(2,11),new g(2,12))),new r(6,Int32Array.from([6,34]),new A(18,new g(2,68)),new A(16,new g(4,27)),new A(24,new g(4,19)),new A(28,new g(4,15))),new r(7,Int32Array.from([6,22,38]),new A(20,new g(2,78)),new A(18,new g(4,31)),new A(18,new g(2,14),new g(4,15)),new A(26,new g(4,13),new g(1,14))),new r(8,Int32Array.from([6,24,42]),new A(24,new g(2,97)),new A(22,new g(2,38),new g(2,39)),new A(22,new g(4,18),new g(2,19)),new A(26,new g(4,14),new g(2,15))),new r(9,Int32Array.from([6,26,46]),new A(30,new g(2,116)),new A(22,new g(3,36),new g(2,37)),new A(20,new g(4,16),new g(4,17)),new A(24,new g(4,12),new g(4,13))),new r(10,Int32Array.from([6,28,50]),new A(18,new g(2,68),new g(2,69)),new A(26,new g(4,43),new g(1,44)),new A(24,new g(6,19),new g(2,20)),new A(28,new g(6,15),new g(2,16))),new r(11,Int32Array.from([6,30,54]),new A(20,new g(4,81)),new A(30,new g(1,50),new g(4,51)),new A(28,new g(4,22),new g(4,23)),new A(24,new g(3,12),new g(8,13))),new r(12,Int32Array.from([6,32,58]),new A(24,new g(2,92),new g(2,93)),new A(22,new g(6,36),new g(2,37)),new A(26,new g(4,20),new g(6,21)),new A(28,new g(7,14),new g(4,15))),new r(13,Int32Array.from([6,34,62]),new A(26,new g(4,107)),new A(22,new g(8,37),new g(1,38)),new A(24,new g(8,20),new g(4,21)),new A(22,new g(12,11),new g(4,12))),new r(14,Int32Array.from([6,26,46,66]),new A(30,new g(3,115),new g(1,116)),new A(24,new g(4,40),new g(5,41)),new A(20,new g(11,16),new g(5,17)),new A(24,new g(11,12),new g(5,13))),new r(15,Int32Array.from([6,26,48,70]),new A(22,new g(5,87),new g(1,88)),new A(24,new g(5,41),new g(5,42)),new A(30,new g(5,24),new g(7,25)),new A(24,new g(11,12),new g(7,13))),new r(16,Int32Array.from([6,26,50,74]),new A(24,new g(5,98),new g(1,99)),new A(28,new g(7,45),new g(3,46)),new A(24,new g(15,19),new g(2,20)),new A(30,new g(3,15),new g(13,16))),new r(17,Int32Array.from([6,30,54,78]),new A(28,new g(1,107),new g(5,108)),new A(28,new g(10,46),new g(1,47)),new A(28,new g(1,22),new g(15,23)),new A(28,new g(2,14),new g(17,15))),new r(18,Int32Array.from([6,30,56,82]),new A(30,new g(5,120),new g(1,121)),new A(26,new g(9,43),new g(4,44)),new A(28,new g(17,22),new g(1,23)),new A(28,new g(2,14),new g(19,15))),new r(19,Int32Array.from([6,30,58,86]),new A(28,new g(3,113),new g(4,114)),new A(26,new g(3,44),new g(11,45)),new A(26,new g(17,21),new g(4,22)),new A(26,new g(9,13),new g(16,14))),new r(20,Int32Array.from([6,34,62,90]),new A(28,new g(3,107),new g(5,108)),new A(26,new g(3,41),new g(13,42)),new A(30,new g(15,24),new g(5,25)),new A(28,new g(15,15),new g(10,16))),new r(21,Int32Array.from([6,28,50,72,94]),new A(28,new g(4,116),new g(4,117)),new A(26,new g(17,42)),new A(28,new g(17,22),new g(6,23)),new A(30,new g(19,16),new g(6,17))),new r(22,Int32Array.from([6,26,50,74,98]),new A(28,new g(2,111),new g(7,112)),new A(28,new g(17,46)),new A(30,new g(7,24),new g(16,25)),new A(24,new g(34,13))),new r(23,Int32Array.from([6,30,54,78,102]),new A(30,new g(4,121),new g(5,122)),new A(28,new g(4,47),new g(14,48)),new A(30,new g(11,24),new g(14,25)),new A(30,new g(16,15),new g(14,16))),new r(24,Int32Array.from([6,28,54,80,106]),new A(30,new g(6,117),new g(4,118)),new A(28,new g(6,45),new g(14,46)),new A(30,new g(11,24),new g(16,25)),new A(30,new g(30,16),new g(2,17))),new r(25,Int32Array.from([6,32,58,84,110]),new A(26,new g(8,106),new g(4,107)),new A(28,new g(8,47),new g(13,48)),new A(30,new g(7,24),new g(22,25)),new A(30,new g(22,15),new g(13,16))),new r(26,Int32Array.from([6,30,58,86,114]),new A(28,new g(10,114),new g(2,115)),new A(28,new g(19,46),new g(4,47)),new A(28,new g(28,22),new g(6,23)),new A(30,new g(33,16),new g(4,17))),new r(27,Int32Array.from([6,34,62,90,118]),new A(30,new g(8,122),new g(4,123)),new A(28,new g(22,45),new g(3,46)),new A(30,new g(8,23),new g(26,24)),new A(30,new g(12,15),new g(28,16))),new r(28,Int32Array.from([6,26,50,74,98,122]),new A(30,new g(3,117),new g(10,118)),new A(28,new g(3,45),new g(23,46)),new A(30,new g(4,24),new g(31,25)),new A(30,new g(11,15),new g(31,16))),new r(29,Int32Array.from([6,30,54,78,102,126]),new A(30,new g(7,116),new g(7,117)),new A(28,new g(21,45),new g(7,46)),new A(30,new g(1,23),new g(37,24)),new A(30,new g(19,15),new g(26,16))),new r(30,Int32Array.from([6,26,52,78,104,130]),new A(30,new g(5,115),new g(10,116)),new A(28,new g(19,47),new g(10,48)),new A(30,new g(15,24),new g(25,25)),new A(30,new g(23,15),new g(25,16))),new r(31,Int32Array.from([6,30,56,82,108,134]),new A(30,new g(13,115),new g(3,116)),new A(28,new g(2,46),new g(29,47)),new A(30,new g(42,24),new g(1,25)),new A(30,new g(23,15),new g(28,16))),new r(32,Int32Array.from([6,34,60,86,112,138]),new A(30,new g(17,115)),new A(28,new g(10,46),new g(23,47)),new A(30,new g(10,24),new g(35,25)),new A(30,new g(19,15),new g(35,16))),new r(33,Int32Array.from([6,30,58,86,114,142]),new A(30,new g(17,115),new g(1,116)),new A(28,new g(14,46),new g(21,47)),new A(30,new g(29,24),new g(19,25)),new A(30,new g(11,15),new g(46,16))),new r(34,Int32Array.from([6,34,62,90,118,146]),new A(30,new g(13,115),new g(6,116)),new A(28,new g(14,46),new g(23,47)),new A(30,new g(44,24),new g(7,25)),new A(30,new g(59,16),new g(1,17))),new r(35,Int32Array.from([6,30,54,78,102,126,150]),new A(30,new g(12,121),new g(7,122)),new A(28,new g(12,47),new g(26,48)),new A(30,new g(39,24),new g(14,25)),new A(30,new g(22,15),new g(41,16))),new r(36,Int32Array.from([6,24,50,76,102,128,154]),new A(30,new g(6,121),new g(14,122)),new A(28,new g(6,47),new g(34,48)),new A(30,new g(46,24),new g(10,25)),new A(30,new g(2,15),new g(64,16))),new r(37,Int32Array.from([6,28,54,80,106,132,158]),new A(30,new g(17,122),new g(4,123)),new A(28,new g(29,46),new g(14,47)),new A(30,new g(49,24),new g(10,25)),new A(30,new g(24,15),new g(46,16))),new r(38,Int32Array.from([6,32,58,84,110,136,162]),new A(30,new g(4,122),new g(18,123)),new A(28,new g(13,46),new g(32,47)),new A(30,new g(48,24),new g(14,25)),new A(30,new g(42,15),new g(32,16))),new r(39,Int32Array.from([6,26,54,82,110,138,166]),new A(30,new g(20,117),new g(4,118)),new A(28,new g(40,47),new g(7,48)),new A(30,new g(43,24),new g(22,25)),new A(30,new g(10,15),new g(67,16))),new r(40,Int32Array.from([6,30,58,86,114,142,170]),new A(30,new g(19,118),new g(6,119)),new A(28,new g(18,47),new g(31,48)),new A(30,new g(34,24),new g(34,25)),new A(30,new g(20,15),new g(61,16)))],r}();(function(r){r[r.DATA_MASK_000=0]="DATA_MASK_000",r[r.DATA_MASK_001=1]="DATA_MASK_001",r[r.DATA_MASK_010=2]="DATA_MASK_010",r[r.DATA_MASK_011=3]="DATA_MASK_011",r[r.DATA_MASK_100=4]="DATA_MASK_100",r[r.DATA_MASK_101=5]="DATA_MASK_101",r[r.DATA_MASK_110=6]="DATA_MASK_110",r[r.DATA_MASK_111=7]="DATA_MASK_111"})(it||(it={}));var Ct,ur=function(){function r(t,e){this.value=t,this.isMasked=e}return r.prototype.unmaskBitMatrix=function(t,e){for(var n=0;n=0;n--)t=this.copyBit(8,n,t);var o=this.bitMatrix.getHeight(),i=0,a=o-7;for(n=o-1;n>=a;n--)i=this.copyBit(8,n,i);for(e=o-8;e=0;i--)for(var a=t-9;a>=o;a--)n=this.copyBit(a,i,n);var s=Lt.decodeVersionInformation(n);if(s!==null&&s.getDimensionForVersion()===t)return this.parsedVersion=s,s;for(n=0,a=5;a>=0;a--)for(i=t-9;i>=o;i--)n=this.copyBit(a,i,n);if((s=Lt.decodeVersionInformation(n))!==null&&s.getDimensionForVersion()===t)return this.parsedVersion=s,s;throw new T},r.prototype.copyBit=function(t,e,n){return(this.isMirror?this.bitMatrix.get(e,t):this.bitMatrix.get(t,e))?n<<1|1:n<<1},r.prototype.readCodewords=function(){var t=this.readFormatInformation(),e=this.readVersion(),n=ur.values.get(t.getDataMask()),o=this.bitMatrix.getHeight();n.unmaskBitMatrix(this.bitMatrix,o);for(var i=e.buildFunctionPattern(),a=!0,s=new Uint8Array(e.getTotalCodewords()),u=0,c=0,f=0,h=o-1;h>0;h-=2){h===6&&h--;for(var l=0;l=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Fo=function(){function r(t,e){this.numDataCodewords=t,this.codewords=e}return r.getDataBlocks=function(t,e,n){var o,i,a,s;if(t.length!==e.getTotalCodewords())throw new N;var u=e.getECBlocksForLevel(n),c=0,f=u.getECBlocks();try{for(var h=cr(f),l=h.next();!l.done;l=h.next())c+=(w=l.value).getCount()}catch(W){o={error:W}}finally{try{l&&!l.done&&(i=h.return)&&i.call(h)}finally{if(o)throw o.error}}var d=new Array(c),p=0;try{for(var y=cr(f),C=y.next();!C.done;C=y.next())for(var w=C.value,v=0;v=0&&d[S].codewords.length!==I;)S--;S++;var O=I-u.getECCodewordsPerBlock(),M=0;for(v=0;vt.available())throw new T;for(var o=new Uint8Array(2*n),i=0;n>0;){var a=t.readBits(13),s=a/96<<8&4294967295|a%96;s+=s<959?41377:42657,o[i]=s>>8&255,o[i+1]=255&s,i+=2,n--}try{e.append(At.decode(o,F.GB2312))}catch(u){throw new T(u)}},r.decodeKanjiSegment=function(t,e,n){if(13*n>t.available())throw new T;for(var o=new Uint8Array(2*n),i=0;n>0;){var a=t.readBits(13),s=a/192<<8&4294967295|a%192;s+=s<7936?33088:49472,o[i]=s>>8,o[i+1]=s,i+=2,n--}try{e.append(At.decode(o,F.SHIFT_JIS))}catch(u){throw new T(u)}},r.decodeByteSegment=function(t,e,n,o,i,a){if(8*n>t.available())throw new T;for(var s,u=new Uint8Array(n),c=0;c=r.ALPHANUMERIC_CHARS.length)throw new T;return r.ALPHANUMERIC_CHARS[t]},r.decodeAlphanumericSegment=function(t,e,n,o){for(var i=e.length();n>1;){if(t.available()<11)throw new T;var a=t.readBits(11);e.append(r.toAlphaNumericChar(Math.floor(a/45))),e.append(r.toAlphaNumericChar(a%45)),n-=2}if(n===1){if(t.available()<6)throw new T;e.append(r.toAlphaNumericChar(t.readBits(6)))}if(o)for(var s=i;s=3;){if(t.available()<10)throw new T;var o=t.readBits(10);if(o>=1e3)throw new T;e.append(r.toAlphaNumericChar(Math.floor(o/100))),e.append(r.toAlphaNumericChar(Math.floor(o/10)%10)),e.append(r.toAlphaNumericChar(o%10)),n-=3}if(n===2){if(t.available()<7)throw new T;var i=t.readBits(7);if(i>=100)throw new T;e.append(r.toAlphaNumericChar(Math.floor(i/10))),e.append(r.toAlphaNumericChar(i%10))}else if(n===1){if(t.available()<4)throw new T;var a=t.readBits(4);if(a>=10)throw new T;e.append(r.toAlphaNumericChar(a))}},r.parseECIValue=function(t){var e=t.readBits(8);if(!(128&e))return 127&e;if((192&e)==128)return(63&e)<<8&4294967295|t.readBits(8);if((224&e)==192)return(31&e)<<16&4294967295|t.readBits(16);throw new T},r.ALPHANUMERIC_CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",r.GB2312_SUBSET=1,r}(),Dr=function(){function r(t){this.mirrored=t}return r.prototype.isMirrored=function(){return this.mirrored},r.prototype.applyMirroredCorrection=function(t){if(this.mirrored&&t!==null&&!(t.length<3)){var e=t[0];t[0]=t[2],t[2]=e}},r}(),fr=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ko=function(){function r(){this.rsDecoder=new fe(gt.QR_CODE_FIELD_256)}return r.prototype.decodeBooleanArray=function(t,e){return this.decodeBitMatrix(yt.parseFromBooleanArray(t),e)},r.prototype.decodeBitMatrix=function(t,e){var n=new Lo(t),o=null;try{return this.decodeBitMatrixParser(n,e)}catch(a){o=a}try{n.remask(),n.setMirror(!0),n.readVersion(),n.readFormatInformation(),n.mirror();var i=this.decodeBitMatrixParser(n,e);return i.setOther(new Dr(!0)),i}catch(a){throw o!==null?o:a}},r.prototype.decodeBitMatrixParser=function(t,e){var n,o,i,a,s=t.readVersion(),u=t.readFormatInformation().getErrorCorrectionLevel(),c=t.readCodewords(),f=Fo.getDataBlocks(c,s,u),h=0;try{for(var l=fr(f),d=l.next();!d.done;d=l.next())h+=(v=d.value).getNumDataCodewords()}catch(S){n={error:S}}finally{try{d&&!d.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}var p=new Uint8Array(h),y=0;try{for(var C=fr(f),w=C.next();!w.done;w=C.next()){var v,_=(v=w.value).getCodewords(),m=v.getNumDataCodewords();this.correctErrors(_,m);for(var I=0;I=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Xo=function(){function r(t,e,n,o,i,a,s){this.image=t,this.startX=e,this.startY=n,this.width=o,this.height=i,this.moduleSize=a,this.resultPointCallback=s,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(3)}return r.prototype.find=function(){for(var t=this.startX,e=this.height,n=t+this.width,o=this.startY+e/2,i=new Int32Array(3),a=this.image,s=0;s=n)return!1;return!0},r.prototype.crossCheckVertical=function(t,e,n,o){var i=this.image,a=i.getHeight(),s=this.crossCheckStateCount;s[0]=0,s[1]=0,s[2]=0;for(var u=t;u>=0&&i.get(e,u)&&s[1]<=n;)s[1]++,u--;if(u<0||s[1]>n)return NaN;for(;u>=0&&!i.get(e,u)&&s[0]<=n;)s[0]++,u--;if(s[0]>n)return NaN;for(u=t+1;un)return NaN;for(;un)return NaN;var c=s[0]+s[1]+s[2];return 5*Math.abs(c-o)>=2*o?NaN:this.foundPatternCross(s)?r.centerFromEnd(s,u):NaN},r.prototype.handlePossibleCenter=function(t,e,n){var o,i,a=t[0]+t[1]+t[2],s=r.centerFromEnd(t,n),u=this.crossCheckVertical(e,s,2*t[1],a);if(!isNaN(u)){var c=(t[0]+t[1]+t[2])/3;try{for(var f=Uo(this.possibleCenters),h=f.next();!h.done;h=f.next()){var l=h.value;if(l.aboutEquals(c,u,s))return l.combineEstimate(u,s,c)}}catch(p){o={error:p}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(o)throw o.error}}var d=new Ho(s,u,c);this.possibleCenters.push(d),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(d)}return null},r}(),Go=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Wo=function(r){function t(e,n,o,i){var a=r.call(this,e,n)||this;return a.estimatedModuleSize=o,a.count=i,i===void 0&&(a.count=1),a}return Go(t,r),t.prototype.getEstimatedModuleSize=function(){return this.estimatedModuleSize},t.prototype.getCount=function(){return this.count},t.prototype.aboutEquals=function(e,n,o){if(Math.abs(n-this.getY())<=e&&Math.abs(o-this.getX())<=e){var i=Math.abs(e-this.estimatedModuleSize);return i<=1||i<=this.estimatedModuleSize}return!1},t.prototype.combineEstimate=function(e,n,o){var i=this.count+1;return new t((this.count*this.getX()+n)/i,(this.count*this.getY()+e)/i,(this.count*this.estimatedModuleSize+o)/i,i)},t}(R),zo=function(){function r(t){this.bottomLeft=t[0],this.topLeft=t[1],this.topRight=t[2]}return r.prototype.getBottomLeft=function(){return this.bottomLeft},r.prototype.getTopLeft=function(){return this.topLeft},r.prototype.getTopRight=function(){return this.topRight},r}(),Ht=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},jo=function(){function r(t,e){this.image=t,this.resultPointCallback=e,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(5),this.resultPointCallback=e}return r.prototype.getImage=function(){return this.image},r.prototype.getPossibleCenters=function(){return this.possibleCenters},r.prototype.find=function(t){var e=t!=null&&t.get(Q.TRY_HARDER)!==void 0,n=t!=null&&t.get(Q.PURE_BARCODE)!==void 0,o=this.image,i=o.getHeight(),a=o.getWidth(),s=Math.floor(3*i/(4*r.MAX_MODULES));(sc[2]&&(f+=d-c[2]-s,l=a-1)}h=0,c[0]=0,c[1]=0,c[2]=0,c[3]=0,c[4]=0}else c[0]=c[2],c[1]=c[3],c[2]=c[4],c[3]=1,c[4]=0,h=3;else c[++h]++;r.foundPatternCross(c)&&this.handlePossibleCenter(c,f,a,n)===!0&&(s=c[0],this.hasSkipped&&(u=this.haveMultiplyConfirmedCenters()))}var p=this.selectBestPatterns();return R.orderBestPatterns(p),new zo(p)},r.centerFromEnd=function(t,e){return e-t[4]-t[3]-t[2]/2},r.foundPatternCross=function(t){for(var e=0,n=0;n<5;n++){var o=t[n];if(o===0)return!1;e+=o}if(e<7)return!1;var i=e/7,a=i/2;return Math.abs(i-t[0])=a&&e>=a&&s.get(e-a,t-a);)i[2]++,a++;if(t=a&&e>=a&&!s.get(e-a,t-a)&&i[1]<=n;)i[1]++,a++;if(tn)return!1;for(;t>=a&&e>=a&&s.get(e-a,t-a)&&i[0]<=n;)i[0]++,a++;if(i[0]>n)return!1;var u=s.getHeight(),c=s.getWidth();for(a=1;t+a=u||e+a>=c)return!1;for(;t+a=u||e+a>=c||i[3]>=n)return!1;for(;t+a=n)return!1;var f=i[0]+i[1]+i[2]+i[3]+i[4];return Math.abs(f-o)<2*o&&r.foundPatternCross(i)},r.prototype.crossCheckVertical=function(t,e,n,o){for(var i=this.image,a=i.getHeight(),s=this.getCrossCheckStateCount(),u=t;u>=0&&i.get(e,u);)s[2]++,u--;if(u<0)return NaN;for(;u>=0&&!i.get(e,u)&&s[1]<=n;)s[1]++,u--;if(u<0||s[1]>n)return NaN;for(;u>=0&&i.get(e,u)&&s[0]<=n;)s[0]++,u--;if(s[0]>n)return NaN;for(u=t+1;u=n)return NaN;for(;u=n)return NaN;var c=s[0]+s[1]+s[2]+s[3]+s[4];return 5*Math.abs(c-o)>=2*o?NaN:r.foundPatternCross(s)?r.centerFromEnd(s,u):NaN},r.prototype.crossCheckHorizontal=function(t,e,n,o){for(var i=this.image,a=i.getWidth(),s=this.getCrossCheckStateCount(),u=t;u>=0&&i.get(u,e);)s[2]++,u--;if(u<0)return NaN;for(;u>=0&&!i.get(u,e)&&s[1]<=n;)s[1]++,u--;if(u<0||s[1]>n)return NaN;for(;u>=0&&i.get(u,e)&&s[0]<=n;)s[0]++,u--;if(s[0]>n)return NaN;for(u=t+1;u=n)return NaN;for(;u=n)return NaN;var c=s[0]+s[1]+s[2]+s[3]+s[4];return 5*Math.abs(c-o)>=o?NaN:r.foundPatternCross(s)?r.centerFromEnd(s,u):NaN},r.prototype.handlePossibleCenter=function(t,e,n,o){var i=t[0]+t[1]+t[2]+t[3]+t[4],a=r.centerFromEnd(t,n),s=this.crossCheckVertical(e,Math.floor(a),t[2],i);if(!isNaN(s)&&(a=this.crossCheckHorizontal(Math.floor(a),Math.floor(s),t[2],i),!isNaN(a)&&(!o||this.crossCheckDiagonal(Math.floor(s),Math.floor(a),t[2],i)))){for(var u=i/7,c=!1,f=this.possibleCenters,h=0,l=f.length;h=r.CENTER_QUORUM){if(n!=null)return this.hasSkipped=!0,Math.floor((Math.abs(n.getX()-a.getX())-Math.abs(n.getY()-a.getY()))/2);n=a}}}catch(s){t={error:s}}finally{try{i&&!i.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}return 0},r.prototype.haveMultiplyConfirmedCenters=function(){var t,e,n,o,i=0,a=0,s=this.possibleCenters.length;try{for(var u=Ht(this.possibleCenters),c=u.next();!c.done;c=u.next())(p=c.value).getCount()>=r.CENTER_QUORUM&&(i++,a+=p.getEstimatedModuleSize())}catch(y){t={error:y}}finally{try{c&&!c.done&&(e=u.return)&&e.call(u)}finally{if(t)throw t.error}}if(i<3)return!1;var f=a/s,h=0;try{for(var l=Ht(this.possibleCenters),d=l.next();!d.done;d=l.next()){var p=d.value;h+=Math.abs(p.getEstimatedModuleSize()-f)}}catch(y){n={error:y}}finally{try{d&&!d.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}return h<=.05*a},r.prototype.selectBestPatterns=function(){var t,e,n,o,i=this.possibleCenters.length;if(i<3)throw new E;var a,s=this.possibleCenters;if(i>3){var u=0,c=0;try{for(var f=Ht(this.possibleCenters),h=f.next();!h.done;h=f.next()){var l=h.value.getEstimatedModuleSize();u+=l,c+=l*l}}catch(_){t={error:_}}finally{try{h&&!h.done&&(e=f.return)&&e.call(f)}finally{if(t)throw t.error}}a=u/i;var d=Math.sqrt(c/i-a*a);s.sort(function(_,m){var I=Math.abs(m.getEstimatedModuleSize()-a),S=Math.abs(_.getEstimatedModuleSize()-a);return IS?1:0});for(var p=Math.max(.2*a,d),y=0;y3;y++){var C=s[y];Math.abs(C.getEstimatedModuleSize()-a)>p&&(s.splice(y,1),y--)}}if(s.length>3){u=0;try{for(var w=Ht(s),v=w.next();!v.done;v=w.next())u+=v.value.getEstimatedModuleSize()}catch(_){n={error:_}}finally{try{v&&!v.done&&(o=w.return)&&o.call(w)}finally{if(n)throw n.error}}a=u/s.length,s.sort(function(_,m){if(m.getCount()===_.getCount()){var I=Math.abs(m.getEstimatedModuleSize()-a),S=Math.abs(_.getEstimatedModuleSize()-a);return IS?-1:0}return m.getCount()-_.getCount()}),s.splice(3)}return[s[0],s[1],s[2]]},r.CENTER_QUORUM=2,r.MIN_SKIP=3,r.MAX_MODULES=57,r}(),Yo=function(){function r(t){this.image=t}return r.prototype.getImage=function(){return this.image},r.prototype.getResultPointCallback=function(){return this.resultPointCallback},r.prototype.detect=function(t){this.resultPointCallback=t==null?null:t.get(Q.NEED_RESULT_POINT_CALLBACK);var e=new jo(this.image,this.resultPointCallback).find(t);return this.processFinderPatternInfo(e)},r.prototype.processFinderPatternInfo=function(t){var e=t.getTopLeft(),n=t.getTopRight(),o=t.getBottomLeft(),i=this.calculateModuleSize(e,n,o);if(i<1)throw new E("No pattern found in proccess finder.");var a=r.computeDimension(e,n,o,i),s=Lt.getProvisionalVersionForDimension(a),u=s.getDimensionForVersion()-7,c=null;if(s.getAlignmentPatternCenters().length>0)for(var f=n.getX()-e.getX()+o.getX(),h=n.getY()-e.getY()+o.getY(),l=1-3/u,d=Math.floor(e.getX()+l*(f-e.getX())),p=Math.floor(e.getY()+l*(h-e.getY())),y=4;y<=16;y<<=1)try{c=this.findAlignmentInRegion(i,d,p,y);break}catch(v){if(!(v instanceof E))throw v}var C=r.createTransform(e,n,o,c,a),w=r.sampleGrid(this.image,C,a);return new xe(w,c===null?[o,e,n]:[o,e,n,c])},r.createTransform=function(t,e,n,o,i){var a,s,u,c,f=i-3.5;return o!==null?(a=o.getX(),s=o.getY(),c=u=f-3):(a=e.getX()-t.getX()+n.getX(),s=e.getY()-t.getY()+n.getY(),u=f,c=f),Sr.quadrilateralToQuadrilateral(3.5,3.5,f,3.5,u,c,3.5,f,t.getX(),t.getY(),e.getX(),e.getY(),a,s,n.getX(),n.getY())},r.sampleGrid=function(t,e,n){return ke.getInstance().sampleGridWithTransform(t,n,n,e)},r.computeDimension=function(t,e,n,o){var i=U.round(R.distance(t,e)/o),a=U.round(R.distance(t,n)/o),s=Math.floor((i+a)/2)+7;switch(3&s){case 0:s++;break;case 2:s--;break;case 3:throw new E("Dimensions could be not found.")}return s},r.prototype.calculateModuleSize=function(t,e,n){return(this.calculateModuleSizeOneWay(t,e)+this.calculateModuleSizeOneWay(t,n))/2},r.prototype.calculateModuleSizeOneWay=function(t,e){var n=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(t.getX()),Math.floor(t.getY()),Math.floor(e.getX()),Math.floor(e.getY())),o=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(e.getX()),Math.floor(e.getY()),Math.floor(t.getX()),Math.floor(t.getY()));return isNaN(n)?o/7:isNaN(o)?n/7:(n+o)/14},r.prototype.sizeOfBlackWhiteBlackRunBothWays=function(t,e,n,o){var i=this.sizeOfBlackWhiteBlackRun(t,e,n,o),a=1,s=t-(n-t);s<0?(a=t/(t-s),s=0):s>=this.image.getWidth()&&(a=(this.image.getWidth()-1-t)/(s-t),s=this.image.getWidth()-1);var u=Math.floor(e-(o-e)*a);return a=1,u<0?(a=e/(e-u),u=0):u>=this.image.getHeight()&&(a=(this.image.getHeight()-1-e)/(u-e),u=this.image.getHeight()-1),s=Math.floor(t+(s-t)*a),(i+=this.sizeOfBlackWhiteBlackRun(t,e,s,u))-1},r.prototype.sizeOfBlackWhiteBlackRun=function(t,e,n,o){var i=Math.abs(o-e)>Math.abs(n-t);if(i){var a=t;t=e,e=a,a=n,n=o,o=a}for(var s=Math.abs(n-t),u=Math.abs(o-e),c=-s/2,f=t0){if(y===o)break;y+=h,c-=s}}return l===2?U.distance(n+f,o,t,e):NaN},r.prototype.findAlignmentInRegion=function(t,e,n,o){var i=Math.floor(o*t),a=Math.max(0,e-i),s=Math.min(this.image.getWidth()-1,e+i);if(s-a<3*t)throw new E("Alignment top exceeds estimated module size.");var u=Math.max(0,n-i),c=Math.min(this.image.getHeight()-1,n+i);if(c-u<3*t)throw new E("Alignment bottom exceeds estimated module size.");return new Xo(this.image,a,u,s-a,c-u,t,this.resultPointCallback).find()},r}(),Re=function(){function r(){this.decoder=new ko}return r.prototype.getDecoder=function(){return this.decoder},r.prototype.decode=function(t,e){var n,o;if(e!=null&&e.get(Q.PURE_BARCODE)!==void 0){var i=r.extractPureBits(t.getBlackMatrix());n=this.decoder.decodeBitMatrix(i,e),o=r.NO_POINTS}else{var a=new Yo(t.getBlackMatrix()).detect(e);n=this.decoder.decodeBitMatrix(a.getBits(),e),o=a.getPoints()}n.getOther()instanceof Dr&&n.getOther().applyMirroredCorrection(o);var s=new ft(n.getText(),n.getRawBytes(),void 0,o,D.QR_CODE,void 0),u=n.getByteSegments();u!==null&&s.putMetadata(ct.BYTE_SEGMENTS,u);var c=n.getECLevel();return c!==null&&s.putMetadata(ct.ERROR_CORRECTION_LEVEL,c),n.hasStructuredAppend()&&(s.putMetadata(ct.STRUCTURED_APPEND_SEQUENCE,n.getStructuredAppendSequenceNumber()),s.putMetadata(ct.STRUCTURED_APPEND_PARITY,n.getStructuredAppendParity())),s},r.prototype.reset=function(){},r.extractPureBits=function(t){var e=t.getTopLeftOnBit(),n=t.getBottomRightOnBit();if(e===null||n===null)throw new E;var o=this.moduleSize(e,t),i=e[1],a=n[1],s=e[0],u=n[0];if(s>=u||i>=a)throw new E;if(a-i!=u-s&&(u=s+(a-i))>=t.getWidth())throw new E;var c=Math.round((u-s+1)/o),f=Math.round((a-i+1)/o);if(c<=0||f<=0)throw new E;if(f!==c)throw new E;var h=Math.floor(o/2);i+=h;var l=(s+=h)+Math.floor((c-1)*o)-u;if(l>0){if(l>h)throw new E;s-=l}var d=i+Math.floor((f-1)*o)-a;if(d>0){if(d>h)throw new E;i-=d}for(var p=new yt(c,f),y=0;y=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},V=function(){function r(){}return r.prototype.PDF417Common=function(){},r.getBitCountSum=function(t){return U.sum(t)},r.toIntArray=function(t){var e,n;if(t==null||!t.length)return r.EMPTY_INT_ARRAY;var o=new Int32Array(t.length),i=0;try{for(var a=Zo(t),s=a.next();!s.done;s=a.next()){var u=s.value;o[i++]=u}}catch(c){e={error:c}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}return o},r.getCodeword=function(t){var e=$.binarySearch(r.SYMBOL_TABLE,262143&t);return e<0?-1:(r.CODEWORD_TABLE[e]-1)%r.NUMBER_OF_CODEWORDS},r.NUMBER_OF_CODEWORDS=929,r.MAX_CODEWORDS_IN_BARCODE=r.NUMBER_OF_CODEWORDS-1,r.MIN_ROWS_IN_BARCODE=3,r.MAX_ROWS_IN_BARCODE=90,r.MODULES_IN_CODEWORD=17,r.MODULES_IN_STOP_PATTERN=18,r.BARS_IN_MODULE=8,r.EMPTY_INT_ARRAY=new Int32Array([]),r.SYMBOL_TABLE=Int32Array.from([66142,66170,66206,66236,66290,66292,66350,66382,66396,66454,66470,66476,66594,66600,66614,66626,66628,66632,66640,66654,66662,66668,66682,66690,66718,66720,66748,66758,66776,66798,66802,66804,66820,66824,66832,66846,66848,66876,66880,66936,66950,66956,66968,66992,67006,67022,67036,67042,67044,67048,67062,67118,67150,67164,67214,67228,67256,67294,67322,67350,67366,67372,67398,67404,67416,67438,67474,67476,67490,67492,67496,67510,67618,67624,67650,67656,67664,67678,67686,67692,67706,67714,67716,67728,67742,67744,67772,67782,67788,67800,67822,67826,67828,67842,67848,67870,67872,67900,67904,67960,67974,67992,68016,68030,68046,68060,68066,68068,68072,68086,68104,68112,68126,68128,68156,68160,68216,68336,68358,68364,68376,68400,68414,68448,68476,68494,68508,68536,68546,68548,68552,68560,68574,68582,68588,68654,68686,68700,68706,68708,68712,68726,68750,68764,68792,68802,68804,68808,68816,68830,68838,68844,68858,68878,68892,68920,68976,68990,68994,68996,69e3,69008,69022,69024,69052,69062,69068,69080,69102,69106,69108,69142,69158,69164,69190,69208,69230,69254,69260,69272,69296,69310,69326,69340,69386,69394,69396,69410,69416,69430,69442,69444,69448,69456,69470,69478,69484,69554,69556,69666,69672,69698,69704,69712,69726,69754,69762,69764,69776,69790,69792,69820,69830,69836,69848,69870,69874,69876,69890,69918,69920,69948,69952,70008,70022,70040,70064,70078,70094,70108,70114,70116,70120,70134,70152,70174,70176,70264,70384,70412,70448,70462,70496,70524,70542,70556,70584,70594,70600,70608,70622,70630,70636,70664,70672,70686,70688,70716,70720,70776,70896,71136,71180,71192,71216,71230,71264,71292,71360,71416,71452,71480,71536,71550,71554,71556,71560,71568,71582,71584,71612,71622,71628,71640,71662,71726,71732,71758,71772,71778,71780,71784,71798,71822,71836,71864,71874,71880,71888,71902,71910,71916,71930,71950,71964,71992,72048,72062,72066,72068,72080,72094,72096,72124,72134,72140,72152,72174,72178,72180,72206,72220,72248,72304,72318,72416,72444,72456,72464,72478,72480,72508,72512,72568,72588,72600,72624,72638,72654,72668,72674,72676,72680,72694,72726,72742,72748,72774,72780,72792,72814,72838,72856,72880,72894,72910,72924,72930,72932,72936,72950,72966,72972,72984,73008,73022,73056,73084,73102,73116,73144,73156,73160,73168,73182,73190,73196,73210,73226,73234,73236,73250,73252,73256,73270,73282,73284,73296,73310,73318,73324,73346,73348,73352,73360,73374,73376,73404,73414,73420,73432,73454,73498,73518,73522,73524,73550,73564,73570,73572,73576,73590,73800,73822,73858,73860,73872,73886,73888,73916,73944,73970,73972,73992,74014,74016,74044,74048,74104,74118,74136,74160,74174,74210,74212,74216,74230,74244,74256,74270,74272,74360,74480,74502,74508,74544,74558,74592,74620,74638,74652,74680,74690,74696,74704,74726,74732,74782,74784,74812,74992,75232,75288,75326,75360,75388,75456,75512,75576,75632,75646,75650,75652,75664,75678,75680,75708,75718,75724,75736,75758,75808,75836,75840,75896,76016,76256,76736,76824,76848,76862,76896,76924,76992,77048,77296,77340,77368,77424,77438,77536,77564,77572,77576,77584,77600,77628,77632,77688,77702,77708,77720,77744,77758,77774,77788,77870,77902,77916,77922,77928,77966,77980,78008,78018,78024,78032,78046,78060,78074,78094,78136,78192,78206,78210,78212,78224,78238,78240,78268,78278,78284,78296,78322,78324,78350,78364,78448,78462,78560,78588,78600,78622,78624,78652,78656,78712,78726,78744,78768,78782,78798,78812,78818,78820,78824,78838,78862,78876,78904,78960,78974,79072,79100,79296,79352,79368,79376,79390,79392,79420,79424,79480,79600,79628,79640,79664,79678,79712,79740,79772,79800,79810,79812,79816,79824,79838,79846,79852,79894,79910,79916,79942,79948,79960,79982,79988,80006,80024,80048,80062,80078,80092,80098,80100,80104,80134,80140,80176,80190,80224,80252,80270,80284,80312,80328,80336,80350,80358,80364,80378,80390,80396,80408,80432,80446,80480,80508,80576,80632,80654,80668,80696,80752,80766,80776,80784,80798,80800,80828,80844,80856,80878,80882,80884,80914,80916,80930,80932,80936,80950,80962,80968,80976,80990,80998,81004,81026,81028,81040,81054,81056,81084,81094,81100,81112,81134,81154,81156,81160,81168,81182,81184,81212,81216,81272,81286,81292,81304,81328,81342,81358,81372,81380,81384,81398,81434,81454,81458,81460,81486,81500,81506,81508,81512,81526,81550,81564,81592,81602,81604,81608,81616,81630,81638,81644,81702,81708,81722,81734,81740,81752,81774,81778,81780,82050,82078,82080,82108,82180,82184,82192,82206,82208,82236,82240,82296,82316,82328,82352,82366,82402,82404,82408,82440,82448,82462,82464,82492,82496,82552,82672,82694,82700,82712,82736,82750,82784,82812,82830,82882,82884,82888,82896,82918,82924,82952,82960,82974,82976,83004,83008,83064,83184,83424,83468,83480,83504,83518,83552,83580,83648,83704,83740,83768,83824,83838,83842,83844,83848,83856,83872,83900,83910,83916,83928,83950,83984,84e3,84028,84032,84088,84208,84448,84928,85040,85054,85088,85116,85184,85240,85488,85560,85616,85630,85728,85756,85764,85768,85776,85790,85792,85820,85824,85880,85894,85900,85912,85936,85966,85980,86048,86080,86136,86256,86496,86976,88160,88188,88256,88312,88560,89056,89200,89214,89312,89340,89536,89592,89608,89616,89632,89664,89720,89840,89868,89880,89904,89952,89980,89998,90012,90040,90190,90204,90254,90268,90296,90306,90308,90312,90334,90382,90396,90424,90480,90494,90500,90504,90512,90526,90528,90556,90566,90572,90584,90610,90612,90638,90652,90680,90736,90750,90848,90876,90884,90888,90896,90910,90912,90940,90944,91e3,91014,91020,91032,91056,91070,91086,91100,91106,91108,91112,91126,91150,91164,91192,91248,91262,91360,91388,91584,91640,91664,91678,91680,91708,91712,91768,91888,91928,91952,91966,92e3,92028,92046,92060,92088,92098,92100,92104,92112,92126,92134,92140,92188,92216,92272,92384,92412,92608,92664,93168,93200,93214,93216,93244,93248,93304,93424,93664,93720,93744,93758,93792,93820,93888,93944,93980,94008,94064,94078,94084,94088,94096,94110,94112,94140,94150,94156,94168,94246,94252,94278,94284,94296,94318,94342,94348,94360,94384,94398,94414,94428,94440,94470,94476,94488,94512,94526,94560,94588,94606,94620,94648,94658,94660,94664,94672,94686,94694,94700,94714,94726,94732,94744,94768,94782,94816,94844,94912,94968,94990,95004,95032,95088,95102,95112,95120,95134,95136,95164,95180,95192,95214,95218,95220,95244,95256,95280,95294,95328,95356,95424,95480,95728,95758,95772,95800,95856,95870,95968,95996,96008,96016,96030,96032,96060,96064,96120,96152,96176,96190,96220,96226,96228,96232,96290,96292,96296,96310,96322,96324,96328,96336,96350,96358,96364,96386,96388,96392,96400,96414,96416,96444,96454,96460,96472,96494,96498,96500,96514,96516,96520,96528,96542,96544,96572,96576,96632,96646,96652,96664,96688,96702,96718,96732,96738,96740,96744,96758,96772,96776,96784,96798,96800,96828,96832,96888,97008,97030,97036,97048,97072,97086,97120,97148,97166,97180,97208,97220,97224,97232,97246,97254,97260,97326,97330,97332,97358,97372,97378,97380,97384,97398,97422,97436,97464,97474,97476,97480,97488,97502,97510,97516,97550,97564,97592,97648,97666,97668,97672,97680,97694,97696,97724,97734,97740,97752,97774,97830,97836,97850,97862,97868,97880,97902,97906,97908,97926,97932,97944,97968,97998,98012,98018,98020,98024,98038,98618,98674,98676,98838,98854,98874,98892,98904,98926,98930,98932,98968,99006,99042,99044,99048,99062,99166,99194,99246,99286,99350,99366,99372,99386,99398,99416,99438,99442,99444,99462,99504,99518,99534,99548,99554,99556,99560,99574,99590,99596,99608,99632,99646,99680,99708,99726,99740,99768,99778,99780,99784,99792,99806,99814,99820,99834,99858,99860,99874,99880,99894,99906,99920,99934,99962,99970,99972,99976,99984,99998,1e5,100028,100038,100044,100056,100078,100082,100084,100142,100174,100188,100246,100262,100268,100306,100308,100390,100396,100410,100422,100428,100440,100462,100466,100468,100486,100504,100528,100542,100558,100572,100578,100580,100584,100598,100620,100656,100670,100704,100732,100750,100792,100802,100808,100816,100830,100838,100844,100858,100888,100912,100926,100960,100988,101056,101112,101148,101176,101232,101246,101250,101252,101256,101264,101278,101280,101308,101318,101324,101336,101358,101362,101364,101410,101412,101416,101430,101442,101448,101456,101470,101478,101498,101506,101508,101520,101534,101536,101564,101580,101618,101620,101636,101640,101648,101662,101664,101692,101696,101752,101766,101784,101838,101858,101860,101864,101934,101938,101940,101966,101980,101986,101988,101992,102030,102044,102072,102082,102084,102088,102096,102138,102166,102182,102188,102214,102220,102232,102254,102282,102290,102292,102306,102308,102312,102326,102444,102458,102470,102476,102488,102514,102516,102534,102552,102576,102590,102606,102620,102626,102632,102646,102662,102668,102704,102718,102752,102780,102798,102812,102840,102850,102856,102864,102878,102886,102892,102906,102936,102974,103008,103036,103104,103160,103224,103280,103294,103298,103300,103312,103326,103328,103356,103366,103372,103384,103406,103410,103412,103472,103486,103520,103548,103616,103672,103920,103992,104048,104062,104160,104188,104194,104196,104200,104208,104224,104252,104256,104312,104326,104332,104344,104368,104382,104398,104412,104418,104420,104424,104482,104484,104514,104520,104528,104542,104550,104570,104578,104580,104592,104606,104608,104636,104652,104690,104692,104706,104712,104734,104736,104764,104768,104824,104838,104856,104910,104930,104932,104936,104968,104976,104990,104992,105020,105024,105080,105200,105240,105278,105312,105372,105410,105412,105416,105424,105446,105518,105524,105550,105564,105570,105572,105576,105614,105628,105656,105666,105672,105680,105702,105722,105742,105756,105784,105840,105854,105858,105860,105864,105872,105888,105932,105970,105972,106006,106022,106028,106054,106060,106072,106100,106118,106124,106136,106160,106174,106190,106210,106212,106216,106250,106258,106260,106274,106276,106280,106306,106308,106312,106320,106334,106348,106394,106414,106418,106420,106566,106572,106610,106612,106630,106636,106648,106672,106686,106722,106724,106728,106742,106758,106764,106776,106800,106814,106848,106876,106894,106908,106936,106946,106948,106952,106960,106974,106982,106988,107032,107056,107070,107104,107132,107200,107256,107292,107320,107376,107390,107394,107396,107400,107408,107422,107424,107452,107462,107468,107480,107502,107506,107508,107544,107568,107582,107616,107644,107712,107768,108016,108060,108088,108144,108158,108256,108284,108290,108292,108296,108304,108318,108320,108348,108352,108408,108422,108428,108440,108464,108478,108494,108508,108514,108516,108520,108592,108640,108668,108736,108792,109040,109536,109680,109694,109792,109820,110016,110072,110084,110088,110096,110112,110140,110144,110200,110320,110342,110348,110360,110384,110398,110432,110460,110478,110492,110520,110532,110536,110544,110558,110658,110686,110714,110722,110724,110728,110736,110750,110752,110780,110796,110834,110836,110850,110852,110856,110864,110878,110880,110908,110912,110968,110982,111e3,111054,111074,111076,111080,111108,111112,111120,111134,111136,111164,111168,111224,111344,111372,111422,111456,111516,111554,111556,111560,111568,111590,111632,111646,111648,111676,111680,111736,111856,112096,112152,112224,112252,112320,112440,112514,112516,112520,112528,112542,112544,112588,112686,112718,112732,112782,112796,112824,112834,112836,112840,112848,112870,112890,112910,112924,112952,113008,113022,113026,113028,113032,113040,113054,113056,113100,113138,113140,113166,113180,113208,113264,113278,113376,113404,113416,113424,113440,113468,113472,113560,113614,113634,113636,113640,113686,113702,113708,113734,113740,113752,113778,113780,113798,113804,113816,113840,113854,113870,113890,113892,113896,113926,113932,113944,113968,113982,114016,114044,114076,114114,114116,114120,114128,114150,114170,114194,114196,114210,114212,114216,114242,114244,114248,114256,114270,114278,114306,114308,114312,114320,114334,114336,114364,114380,114420,114458,114478,114482,114484,114510,114524,114530,114532,114536,114842,114866,114868,114970,114994,114996,115042,115044,115048,115062,115130,115226,115250,115252,115278,115292,115298,115300,115304,115318,115342,115394,115396,115400,115408,115422,115430,115436,115450,115478,115494,115514,115526,115532,115570,115572,115738,115758,115762,115764,115790,115804,115810,115812,115816,115830,115854,115868,115896,115906,115912,115920,115934,115942,115948,115962,115996,116024,116080,116094,116098,116100,116104,116112,116126,116128,116156,116166,116172,116184,116206,116210,116212,116246,116262,116268,116282,116294,116300,116312,116334,116338,116340,116358,116364,116376,116400,116414,116430,116444,116450,116452,116456,116498,116500,116514,116520,116534,116546,116548,116552,116560,116574,116582,116588,116602,116654,116694,116714,116762,116782,116786,116788,116814,116828,116834,116836,116840,116854,116878,116892,116920,116930,116936,116944,116958,116966,116972,116986,117006,117048,117104,117118,117122,117124,117136,117150,117152,117180,117190,117196,117208,117230,117234,117236,117304,117360,117374,117472,117500,117506,117508,117512,117520,117536,117564,117568,117624,117638,117644,117656,117680,117694,117710,117724,117730,117732,117736,117750,117782,117798,117804,117818,117830,117848,117874,117876,117894,117936,117950,117966,117986,117988,117992,118022,118028,118040,118064,118078,118112,118140,118172,118210,118212,118216,118224,118238,118246,118266,118306,118312,118338,118352,118366,118374,118394,118402,118404,118408,118416,118430,118432,118460,118476,118514,118516,118574,118578,118580,118606,118620,118626,118628,118632,118678,118694,118700,118730,118738,118740,118830,118834,118836,118862,118876,118882,118884,118888,118902,118926,118940,118968,118978,118980,118984,118992,119006,119014,119020,119034,119068,119096,119152,119166,119170,119172,119176,119184,119198,119200,119228,119238,119244,119256,119278,119282,119284,119324,119352,119408,119422,119520,119548,119554,119556,119560,119568,119582,119584,119612,119616,119672,119686,119692,119704,119728,119742,119758,119772,119778,119780,119784,119798,119920,119934,120032,120060,120256,120312,120324,120328,120336,120352,120384,120440,120560,120582,120588,120600,120624,120638,120672,120700,120718,120732,120760,120770,120772,120776,120784,120798,120806,120812,120870,120876,120890,120902,120908,120920,120946,120948,120966,120972,120984,121008,121022,121038,121058,121060,121064,121078,121100,121112,121136,121150,121184,121212,121244,121282,121284,121288,121296,121318,121338,121356,121368,121392,121406,121440,121468,121536,121592,121656,121730,121732,121736,121744,121758,121760,121804,121842,121844,121890,121922,121924,121928,121936,121950,121958,121978,121986,121988,121992,122e3,122014,122016,122044,122060,122098,122100,122116,122120,122128,122142,122144,122172,122176,122232,122246,122264,122318,122338,122340,122344,122414,122418,122420,122446,122460,122466,122468,122472,122510,122524,122552,122562,122564,122568,122576,122598,122618,122646,122662,122668,122694,122700,122712,122738,122740,122762,122770,122772,122786,122788,122792,123018,123026,123028,123042,123044,123048,123062,123098,123146,123154,123156,123170,123172,123176,123190,123202,123204,123208,123216,123238,123244,123258,123290,123314,123316,123402,123410,123412,123426,123428,123432,123446,123458,123464,123472,123486,123494,123500,123514,123522,123524,123528,123536,123552,123580,123590,123596,123608,123630,123634,123636,123674,123698,123700,123740,123746,123748,123752,123834,123914,123922,123924,123938,123944,123958,123970,123976,123984,123998,124006,124012,124026,124034,124036,124048,124062,124064,124092,124102,124108,124120,124142,124146,124148,124162,124164,124168,124176,124190,124192,124220,124224,124280,124294,124300,124312,124336,124350,124366,124380,124386,124388,124392,124406,124442,124462,124466,124468,124494,124508,124514,124520,124558,124572,124600,124610,124612,124616,124624,124646,124666,124694,124710,124716,124730,124742,124748,124760,124786,124788,124818,124820,124834,124836,124840,124854,124946,124948,124962,124964,124968,124982,124994,124996,125e3,125008,125022,125030,125036,125050,125058,125060,125064,125072,125086,125088,125116,125126,125132,125144,125166,125170,125172,125186,125188,125192,125200,125216,125244,125248,125304,125318,125324,125336,125360,125374,125390,125404,125410,125412,125416,125430,125444,125448,125456,125472,125504,125560,125680,125702,125708,125720,125744,125758,125792,125820,125838,125852,125880,125890,125892,125896,125904,125918,125926,125932,125978,125998,126002,126004,126030,126044,126050,126052,126056,126094,126108,126136,126146,126148,126152,126160,126182,126202,126222,126236,126264,126320,126334,126338,126340,126344,126352,126366,126368,126412,126450,126452,126486,126502,126508,126522,126534,126540,126552,126574,126578,126580,126598,126604,126616,126640,126654,126670,126684,126690,126692,126696,126738,126754,126756,126760,126774,126786,126788,126792,126800,126814,126822,126828,126842,126894,126898,126900,126934,127126,127142,127148,127162,127178,127186,127188,127254,127270,127276,127290,127302,127308,127320,127342,127346,127348,127370,127378,127380,127394,127396,127400,127450,127510,127526,127532,127546,127558,127576,127598,127602,127604,127622,127628,127640,127664,127678,127694,127708,127714,127716,127720,127734,127754,127762,127764,127778,127784,127810,127812,127816,127824,127838,127846,127866,127898,127918,127922,127924,128022,128038,128044,128058,128070,128076,128088,128110,128114,128116,128134,128140,128152,128176,128190,128206,128220,128226,128228,128232,128246,128262,128268,128280,128304,128318,128352,128380,128398,128412,128440,128450,128452,128456,128464,128478,128486,128492,128506,128522,128530,128532,128546,128548,128552,128566,128578,128580,128584,128592,128606,128614,128634,128642,128644,128648,128656,128670,128672,128700,128716,128754,128756,128794,128814,128818,128820,128846,128860,128866,128868,128872,128886,128918,128934,128940,128954,128978,128980,129178,129198,129202,129204,129238,129258,129306,129326,129330,129332,129358,129372,129378,129380,129384,129398,129430,129446,129452,129466,129482,129490,129492,129562,129582,129586,129588,129614,129628,129634,129636,129640,129654,129678,129692,129720,129730,129732,129736,129744,129758,129766,129772,129814,129830,129836,129850,129862,129868,129880,129902,129906,129908,129930,129938,129940,129954,129956,129960,129974,130010]),r.CODEWORD_TABLE=Int32Array.from([2627,1819,2622,2621,1813,1812,2729,2724,2723,2779,2774,2773,902,896,908,868,865,861,859,2511,873,871,1780,835,2493,825,2491,842,837,844,1764,1762,811,810,809,2483,807,2482,806,2480,815,814,813,812,2484,817,816,1745,1744,1742,1746,2655,2637,2635,2626,2625,2623,2628,1820,2752,2739,2737,2728,2727,2725,2730,2785,2783,2778,2777,2775,2780,787,781,747,739,736,2413,754,752,1719,692,689,681,2371,678,2369,700,697,694,703,1688,1686,642,638,2343,631,2341,627,2338,651,646,643,2345,654,652,1652,1650,1647,1654,601,599,2322,596,2321,594,2319,2317,611,610,608,606,2324,603,2323,615,614,612,1617,1616,1614,1612,616,1619,1618,2575,2538,2536,905,901,898,909,2509,2507,2504,870,867,864,860,2512,875,872,1781,2490,2489,2487,2485,1748,836,834,832,830,2494,827,2492,843,841,839,845,1765,1763,2701,2676,2674,2653,2648,2656,2634,2633,2631,2629,1821,2638,2636,2770,2763,2761,2750,2745,2753,2736,2735,2733,2731,1848,2740,2738,2786,2784,591,588,576,569,566,2296,1590,537,534,526,2276,522,2274,545,542,539,548,1572,1570,481,2245,466,2242,462,2239,492,485,482,2249,496,494,1534,1531,1528,1538,413,2196,406,2191,2188,425,419,2202,415,2199,432,430,427,1472,1467,1464,433,1476,1474,368,367,2160,365,2159,362,2157,2155,2152,378,377,375,2166,372,2165,369,2162,383,381,379,2168,1419,1418,1416,1414,385,1411,384,1423,1422,1420,1424,2461,802,2441,2439,790,786,783,794,2409,2406,2403,750,742,738,2414,756,753,1720,2367,2365,2362,2359,1663,693,691,684,2373,680,2370,702,699,696,704,1690,1687,2337,2336,2334,2332,1624,2329,1622,640,637,2344,634,2342,630,2340,650,648,645,2346,655,653,1653,1651,1649,1655,2612,2597,2595,2571,2568,2565,2576,2534,2529,2526,1787,2540,2537,907,904,900,910,2503,2502,2500,2498,1768,2495,1767,2510,2508,2506,869,866,863,2513,876,874,1782,2720,2713,2711,2697,2694,2691,2702,2672,2670,2664,1828,2678,2675,2647,2646,2644,2642,1823,2639,1822,2654,2652,2650,2657,2771,1855,2765,2762,1850,1849,2751,2749,2747,2754,353,2148,344,342,336,2142,332,2140,345,1375,1373,306,2130,299,2128,295,2125,319,314,311,2132,1354,1352,1349,1356,262,257,2101,253,2096,2093,274,273,267,2107,263,2104,280,278,275,1316,1311,1308,1320,1318,2052,202,2050,2044,2040,219,2063,212,2060,208,2055,224,221,2066,1260,1258,1252,231,1248,229,1266,1264,1261,1268,155,1998,153,1996,1994,1991,1988,165,164,2007,162,2006,159,2003,2e3,172,171,169,2012,166,2010,1186,1184,1182,1179,175,1176,173,1192,1191,1189,1187,176,1194,1193,2313,2307,2305,592,589,2294,2292,2289,578,572,568,2297,580,1591,2272,2267,2264,1547,538,536,529,2278,525,2275,547,544,541,1574,1571,2237,2235,2229,1493,2225,1489,478,2247,470,2244,465,2241,493,488,484,2250,498,495,1536,1533,1530,1539,2187,2186,2184,2182,1432,2179,1430,2176,1427,414,412,2197,409,2195,405,2193,2190,426,424,421,2203,418,2201,431,429,1473,1471,1469,1466,434,1477,1475,2478,2472,2470,2459,2457,2454,2462,803,2437,2432,2429,1726,2443,2440,792,789,785,2401,2399,2393,1702,2389,1699,2411,2408,2405,745,741,2415,758,755,1721,2358,2357,2355,2353,1661,2350,1660,2347,1657,2368,2366,2364,2361,1666,690,687,2374,683,2372,701,698,705,1691,1689,2619,2617,2610,2608,2605,2613,2593,2588,2585,1803,2599,2596,2563,2561,2555,1797,2551,1795,2573,2570,2567,2577,2525,2524,2522,2520,1786,2517,1785,2514,1783,2535,2533,2531,2528,1788,2541,2539,906,903,911,2721,1844,2715,2712,1838,1836,2699,2696,2693,2703,1827,1826,1824,2673,2671,2669,2666,1829,2679,2677,1858,1857,2772,1854,1853,1851,1856,2766,2764,143,1987,139,1986,135,133,131,1984,128,1983,125,1981,138,137,136,1985,1133,1132,1130,112,110,1974,107,1973,104,1971,1969,122,121,119,117,1977,114,1976,124,1115,1114,1112,1110,1117,1116,84,83,1953,81,1952,78,1950,1948,1945,94,93,91,1959,88,1958,85,1955,99,97,95,1961,1086,1085,1083,1081,1078,100,1090,1089,1087,1091,49,47,1917,44,1915,1913,1910,1907,59,1926,56,1925,53,1922,1919,66,64,1931,61,1929,1042,1040,1038,71,1035,70,1032,68,1048,1047,1045,1043,1050,1049,12,10,1869,1867,1864,1861,21,1880,19,1877,1874,1871,28,1888,25,1886,22,1883,982,980,977,974,32,30,991,989,987,984,34,995,994,992,2151,2150,2147,2146,2144,356,355,354,2149,2139,2138,2136,2134,1359,343,341,338,2143,335,2141,348,347,346,1376,1374,2124,2123,2121,2119,1326,2116,1324,310,308,305,2131,302,2129,298,2127,320,318,316,313,2133,322,321,1355,1353,1351,1357,2092,2091,2089,2087,1276,2084,1274,2081,1271,259,2102,256,2100,252,2098,2095,272,269,2108,266,2106,281,279,277,1317,1315,1313,1310,282,1321,1319,2039,2037,2035,2032,1203,2029,1200,1197,207,2053,205,2051,201,2049,2046,2043,220,218,2064,215,2062,211,2059,228,226,223,2069,1259,1257,1254,232,1251,230,1267,1265,1263,2316,2315,2312,2311,2309,2314,2304,2303,2301,2299,1593,2308,2306,590,2288,2287,2285,2283,1578,2280,1577,2295,2293,2291,579,577,574,571,2298,582,581,1592,2263,2262,2260,2258,1545,2255,1544,2252,1541,2273,2271,2269,2266,1550,535,532,2279,528,2277,546,543,549,1575,1573,2224,2222,2220,1486,2217,1485,2214,1482,1479,2238,2236,2234,2231,1496,2228,1492,480,477,2248,473,2246,469,2243,490,487,2251,497,1537,1535,1532,2477,2476,2474,2479,2469,2468,2466,2464,1730,2473,2471,2453,2452,2450,2448,1729,2445,1728,2460,2458,2456,2463,805,804,2428,2427,2425,2423,1725,2420,1724,2417,1722,2438,2436,2434,2431,1727,2444,2442,793,791,788,795,2388,2386,2384,1697,2381,1696,2378,1694,1692,2402,2400,2398,2395,1703,2392,1701,2412,2410,2407,751,748,744,2416,759,757,1807,2620,2618,1806,1805,2611,2609,2607,2614,1802,1801,1799,2594,2592,2590,2587,1804,2600,2598,1794,1793,1791,1789,2564,2562,2560,2557,1798,2554,1796,2574,2572,2569,2578,1847,1846,2722,1843,1842,1840,1845,2716,2714,1835,1834,1832,1830,1839,1837,2700,2698,2695,2704,1817,1811,1810,897,862,1777,829,826,838,1760,1758,808,2481,1741,1740,1738,1743,2624,1818,2726,2776,782,740,737,1715,686,679,695,1682,1680,639,628,2339,647,644,1645,1643,1640,1648,602,600,597,595,2320,593,2318,609,607,604,1611,1610,1608,1606,613,1615,1613,2328,926,924,892,886,899,857,850,2505,1778,824,823,821,819,2488,818,2486,833,831,828,840,1761,1759,2649,2632,2630,2746,2734,2732,2782,2781,570,567,1587,531,527,523,540,1566,1564,476,467,463,2240,486,483,1524,1521,1518,1529,411,403,2192,399,2189,423,416,1462,1457,1454,428,1468,1465,2210,366,363,2158,360,2156,357,2153,376,373,370,2163,1410,1409,1407,1405,382,1402,380,1417,1415,1412,1421,2175,2174,777,774,771,784,732,725,722,2404,743,1716,676,674,668,2363,665,2360,685,1684,1681,626,624,622,2335,620,2333,617,2330,641,635,649,1646,1644,1642,2566,928,925,2530,2527,894,891,888,2501,2499,2496,858,856,854,851,1779,2692,2668,2665,2645,2643,2640,2651,2768,2759,2757,2744,2743,2741,2748,352,1382,340,337,333,1371,1369,307,300,296,2126,315,312,1347,1342,1350,261,258,250,2097,246,2094,271,268,264,1306,1301,1298,276,1312,1309,2115,203,2048,195,2045,191,2041,213,209,2056,1246,1244,1238,225,1234,222,1256,1253,1249,1262,2080,2079,154,1997,150,1995,147,1992,1989,163,160,2004,156,2001,1175,1174,1172,1170,1167,170,1164,167,1185,1183,1180,1177,174,1190,1188,2025,2024,2022,587,586,564,559,556,2290,573,1588,520,518,512,2268,508,2265,530,1568,1565,461,457,2233,450,2230,446,2226,479,471,489,1526,1523,1520,397,395,2185,392,2183,389,2180,2177,410,2194,402,422,1463,1461,1459,1456,1470,2455,799,2433,2430,779,776,773,2397,2394,2390,734,728,724,746,1717,2356,2354,2351,2348,1658,677,675,673,670,667,688,1685,1683,2606,2589,2586,2559,2556,2552,927,2523,2521,2518,2515,1784,2532,895,893,890,2718,2709,2707,2689,2687,2684,2663,2662,2660,2658,1825,2667,2769,1852,2760,2758,142,141,1139,1138,134,132,129,126,1982,1129,1128,1126,1131,113,111,108,105,1972,101,1970,120,118,115,1109,1108,1106,1104,123,1113,1111,82,79,1951,75,1949,72,1946,92,89,86,1956,1077,1076,1074,1072,98,1069,96,1084,1082,1079,1088,1968,1967,48,45,1916,42,1914,39,1911,1908,60,57,54,1923,50,1920,1031,1030,1028,1026,67,1023,65,1020,62,1041,1039,1036,1033,69,1046,1044,1944,1943,1941,11,9,1868,7,1865,1862,1859,20,1878,16,1875,13,1872,970,968,966,963,29,960,26,23,983,981,978,975,33,971,31,990,988,985,1906,1904,1902,993,351,2145,1383,331,330,328,326,2137,323,2135,339,1372,1370,294,293,291,289,2122,286,2120,283,2117,309,303,317,1348,1346,1344,245,244,242,2090,239,2088,236,2085,2082,260,2099,249,270,1307,1305,1303,1300,1314,189,2038,186,2036,183,2033,2030,2026,206,198,2047,194,216,1247,1245,1243,1240,227,1237,1255,2310,2302,2300,2286,2284,2281,565,563,561,558,575,1589,2261,2259,2256,2253,1542,521,519,517,514,2270,511,533,1569,1567,2223,2221,2218,2215,1483,2211,1480,459,456,453,2232,449,474,491,1527,1525,1522,2475,2467,2465,2451,2449,2446,801,800,2426,2424,2421,2418,1723,2435,780,778,775,2387,2385,2382,2379,1695,2375,1693,2396,735,733,730,727,749,1718,2616,2615,2604,2603,2601,2584,2583,2581,2579,1800,2591,2550,2549,2547,2545,1792,2542,1790,2558,929,2719,1841,2710,2708,1833,1831,2690,2688,2686,1815,1809,1808,1774,1756,1754,1737,1736,1734,1739,1816,1711,1676,1674,633,629,1638,1636,1633,1641,598,1605,1604,1602,1600,605,1609,1607,2327,887,853,1775,822,820,1757,1755,1584,524,1560,1558,468,464,1514,1511,1508,1519,408,404,400,1452,1447,1444,417,1458,1455,2208,364,361,358,2154,1401,1400,1398,1396,374,1393,371,1408,1406,1403,1413,2173,2172,772,726,723,1712,672,669,666,682,1678,1675,625,623,621,618,2331,636,632,1639,1637,1635,920,918,884,880,889,849,848,847,846,2497,855,852,1776,2641,2742,2787,1380,334,1367,1365,301,297,1340,1338,1335,1343,255,251,247,1296,1291,1288,265,1302,1299,2113,204,196,192,2042,1232,1230,1224,214,1220,210,1242,1239,1235,1250,2077,2075,151,148,1993,144,1990,1163,1162,1160,1158,1155,161,1152,157,1173,1171,1168,1165,168,1181,1178,2021,2020,2018,2023,585,560,557,1585,516,509,1562,1559,458,447,2227,472,1516,1513,1510,398,396,393,390,2181,386,2178,407,1453,1451,1449,1446,420,1460,2209,769,764,720,712,2391,729,1713,664,663,661,659,2352,656,2349,671,1679,1677,2553,922,919,2519,2516,885,883,881,2685,2661,2659,2767,2756,2755,140,1137,1136,130,127,1125,1124,1122,1127,109,106,102,1103,1102,1100,1098,116,1107,1105,1980,80,76,73,1947,1068,1067,1065,1063,90,1060,87,1075,1073,1070,1080,1966,1965,46,43,40,1912,36,1909,1019,1018,1016,1014,58,1011,55,1008,51,1029,1027,1024,1021,63,1037,1034,1940,1939,1937,1942,8,1866,4,1863,1,1860,956,954,952,949,946,17,14,969,967,964,961,27,957,24,979,976,972,1901,1900,1898,1896,986,1905,1903,350,349,1381,329,327,324,1368,1366,292,290,287,284,2118,304,1341,1339,1337,1345,243,240,237,2086,233,2083,254,1297,1295,1293,1290,1304,2114,190,187,184,2034,180,2031,177,2027,199,1233,1231,1229,1226,217,1223,1241,2078,2076,584,555,554,552,550,2282,562,1586,507,506,504,502,2257,499,2254,515,1563,1561,445,443,441,2219,438,2216,435,2212,460,454,475,1517,1515,1512,2447,798,797,2422,2419,770,768,766,2383,2380,2376,721,719,717,714,731,1714,2602,2582,2580,2548,2546,2543,923,921,2717,2706,2705,2683,2682,2680,1771,1752,1750,1733,1732,1731,1735,1814,1707,1670,1668,1631,1629,1626,1634,1599,1598,1596,1594,1603,1601,2326,1772,1753,1751,1581,1554,1552,1504,1501,1498,1509,1442,1437,1434,401,1448,1445,2206,1392,1391,1389,1387,1384,359,1399,1397,1394,1404,2171,2170,1708,1672,1669,619,1632,1630,1628,1773,1378,1363,1361,1333,1328,1336,1286,1281,1278,248,1292,1289,2111,1218,1216,1210,197,1206,193,1228,1225,1221,1236,2073,2071,1151,1150,1148,1146,152,1143,149,1140,145,1161,1159,1156,1153,158,1169,1166,2017,2016,2014,2019,1582,510,1556,1553,452,448,1506,1500,394,391,387,1443,1441,1439,1436,1450,2207,765,716,713,1709,662,660,657,1673,1671,916,914,879,878,877,882,1135,1134,1121,1120,1118,1123,1097,1096,1094,1092,103,1101,1099,1979,1059,1058,1056,1054,77,1051,74,1066,1064,1061,1071,1964,1963,1007,1006,1004,1002,999,41,996,37,1017,1015,1012,1009,52,1025,1022,1936,1935,1933,1938,942,940,938,935,932,5,2,955,953,950,947,18,943,15,965,962,958,1895,1894,1892,1890,973,1899,1897,1379,325,1364,1362,288,285,1334,1332,1330,241,238,234,1287,1285,1283,1280,1294,2112,188,185,181,178,2028,1219,1217,1215,1212,200,1209,1227,2074,2072,583,553,551,1583,505,503,500,513,1557,1555,444,442,439,436,2213,455,451,1507,1505,1502,796,763,762,760,767,711,710,708,706,2377,718,715,1710,2544,917,915,2681,1627,1597,1595,2325,1769,1749,1747,1499,1438,1435,2204,1390,1388,1385,1395,2169,2167,1704,1665,1662,1625,1623,1620,1770,1329,1282,1279,2109,1214,1207,1222,2068,2065,1149,1147,1144,1141,146,1157,1154,2013,2011,2008,2015,1579,1549,1546,1495,1487,1433,1431,1428,1425,388,1440,2205,1705,658,1667,1664,1119,1095,1093,1978,1057,1055,1052,1062,1962,1960,1005,1003,1e3,997,38,1013,1010,1932,1930,1927,1934,941,939,936,933,6,930,3,951,948,944,1889,1887,1884,1881,959,1893,1891,35,1377,1360,1358,1327,1325,1322,1331,1277,1275,1272,1269,235,1284,2110,1205,1204,1201,1198,182,1195,179,1213,2070,2067,1580,501,1551,1548,440,437,1497,1494,1490,1503,761,709,707,1706,913,912,2198,1386,2164,2161,1621,1766,2103,1208,2058,2054,1145,1142,2005,2002,1999,2009,1488,1429,1426,2200,1698,1659,1656,1975,1053,1957,1954,1001,998,1924,1921,1918,1928,937,934,931,1879,1876,1873,1870,945,1885,1882,1323,1273,1270,2105,1202,1199,1196,1211,2061,2057,1576,1543,1540,1484,1481,1478,1491,1700]),r}(),Ko=function(){function r(t,e){this.bits=t,this.points=e}return r.prototype.getBits=function(){return this.bits},r.prototype.getPoints=function(){return this.points},r}(),qo=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Qo=function(){function r(){}return r.detectMultiple=function(t,e,n){var o=t.getBlackMatrix(),i=r.detect(n,o);return i.length||((o=o.clone()).rotate180(),i=r.detect(n,o)),new Ko(o,i)},r.detect=function(t,e){for(var n,o,i=new Array,a=0,s=0,u=!1;a0;){if((l=r.findGuardPattern(t,i,--o,n,!1,a,c))==null){o++;break}d=l}s[0]=new R(d[0],o),s[1]=new R(d[1],o),u=!0;break}var f=o+1;if(u){for(var h=0,l=Int32Array.from([Math.trunc(s[0].getX()),Math.trunc(s[1].getX())]);fr.SKIPPED_ROW_COUNT_MAX)break;h++}}f-=h+1,s[2]=new R(l[0],f),s[3]=new R(l[1],f)}return f-o0&&c++l?h-l:l-h;if(d>n)return 1/0;c+=d}return c/i},r.INDEXES_START_PATTERN=Int32Array.from([0,4,1,5]),r.INDEXES_STOP_PATTERN=Int32Array.from([6,2,7,3]),r.MAX_AVG_VARIANCE=.42,r.MAX_INDIVIDUAL_VARIANCE=.8,r.START_PATTERN=Int32Array.from([8,1,1,1,1,1,1,3]),r.STOP_PATTERN=Int32Array.from([7,1,1,3,1,1,1,2,1]),r.MAX_PIXEL_DRIFT=3,r.MAX_PATTERN_DRIFT=5,r.SKIPPED_ROW_COUNT_MAX=25,r.ROW_STEP=5,r.BARCODE_MIN_HEIGHT=10,r}(),Jo=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Bt=function(){function r(t,e){if(e.length===0)throw new N;this.field=t;var n=e.length;if(n>1&&e[0]===0){for(var o=1;on.length){var o=e;e=n,n=o}var i=new Int32Array(n.length),a=n.length-e.length;Z.arraycopy(n,0,i,0,a);for(var s=a;s=0;e--){var n=this.getCoefficient(e);n!==0&&(n<0?(t.append(" - "),n=-n):t.length()>0&&t.append(" + "),e!==0&&n===1||t.append(n),e!==0&&(e===1?t.append("x"):(t.append("x^"),t.append(e))))}return t.toString()},r}(),$o=function(){function r(){}return r.prototype.add=function(t,e){return(t+e)%this.modulus},r.prototype.subtract=function(t,e){return(this.modulus+t-e)%this.modulus},r.prototype.exp=function(t){return this.expTable[t]},r.prototype.log=function(t){if(t===0)throw new N;return this.logTable[t]},r.prototype.inverse=function(t){if(t===0)throw new Ir;return this.expTable[this.modulus-this.logTable[t]-1]},r.prototype.multiply=function(t,e){return t===0||e===0?0:this.expTable[(this.logTable[t]+this.logTable[e])%(this.modulus-1)]},r.prototype.getSize=function(){return this.modulus},r.prototype.equals=function(t){return t===this},r}(),ti=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),ei=function(r){function t(e,n){var o=r.call(this)||this;o.modulus=e,o.expTable=new Int32Array(e),o.logTable=new Int32Array(e);for(var i=1,a=0;a=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ni=function(){function r(){this.field=ei.PDF417_GF}return r.prototype.decode=function(t,e,n){for(var o,i,a=new Bt(this.field,t),s=new Int32Array(e),u=!1,c=e;c>0;c--){var f=a.evaluateAt(this.field.exp(c));s[e-c]=f,f!==0&&(u=!0)}if(!u)return 0;var h=this.field.getOne();if(n!=null)try{for(var l=ri(n),d=l.next();!d.done;d=l.next()){var p=d.value,y=this.field.exp(t.length-1-p),C=new Bt(this.field,new Int32Array([this.field.subtract(0,y),1]));h=h.multiply(C)}}catch(M){o={error:M}}finally{try{d&&!d.done&&(i=l.return)&&i.call(l)}finally{if(o)throw o.error}}var w=new Bt(this.field,s),v=this.runEuclideanAlgorithm(this.field.buildMonomial(e,1),w,e),_=v[0],m=v[1],I=this.findErrorLocations(_),S=this.findErrorMagnitudes(m,_,I);for(c=0;c=Math.round(n/2);){var c=i,f=s;if(s=u,(i=a).isZero())throw at.getChecksumInstance();a=c;for(var h=this.field.getZero(),l=i.getCoefficient(i.getDegree()),d=this.field.inverse(l);a.getDegree()>=i.getDegree()&&!a.isZero();){var p=a.getDegree()-i.getDegree(),y=this.field.multiply(a.getCoefficient(a.getDegree()),d);h=h.add(this.field.buildMonomial(p,y)),a=a.subtract(i.multiplyByMonomial(p,y))}u=h.multiply(s).subtract(f).negative()}var C=u.getCoefficient(0);if(C===0)throw at.getChecksumInstance();var w=this.field.inverse(C);return[u.multiply(w),a.multiply(w)]},r.prototype.findErrorLocations=function(t){for(var e=t.getDegree(),n=new Int32Array(e),o=0,i=1;i0){var u=n?this.topLeft:this.topRight,c=Math.trunc(u.getY()-t);c<0&&(c=0);var f=new R(u.getX(),c);n?o=f:a=f}if(e>0){var h=n?this.bottomLeft:this.bottomRight,l=Math.trunc(h.getY()+e);l>=this.image.getHeight()&&(l=this.image.getHeight()-1);var d=new R(h.getX(),l);n?i=d:s=d}return new r(this.image,o,i,a,s)},r.prototype.getMinX=function(){return this.minX},r.prototype.getMaxX=function(){return this.maxX},r.prototype.getMinY=function(){return this.minY},r.prototype.getMaxY=function(){return this.maxY},r.prototype.getTopLeft=function(){return this.topLeft},r.prototype.getTopRight=function(){return this.topRight},r.prototype.getBottomLeft=function(){return this.bottomLeft},r.prototype.getBottomRight=function(){return this.bottomRight},r}(),oi=function(){function r(t,e,n,o){this.columnCount=t,this.errorCorrectionLevel=o,this.rowCountUpperPart=e,this.rowCountLowerPart=n,this.rowCount=e+n}return r.prototype.getColumnCount=function(){return this.columnCount},r.prototype.getErrorCorrectionLevel=function(){return this.errorCorrectionLevel},r.prototype.getRowCount=function(){return this.rowCount},r.prototype.getRowCountUpperPart=function(){return this.rowCountUpperPart},r.prototype.getRowCountLowerPart=function(){return this.rowCountLowerPart},r}(),He=function(){function r(){this.buffer=""}return r.form=function(t,e){var n=-1;return t.replace(/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g,function(o,i,a,s,u,c){if(o==="%%")return"%";if(e[++n]!==void 0){o=s?parseInt(s.substr(1)):void 0;var f,h=u?parseInt(u.substr(1)):void 0;switch(c){case"s":f=e[n];break;case"c":f=e[n][0];break;case"f":f=parseFloat(e[n]).toFixed(o);break;case"p":f=parseFloat(e[n]).toPrecision(o);break;case"e":f=parseFloat(e[n]).toExponential(o);break;case"x":f=parseInt(e[n]).toString(h||16);break;case"d":f=parseFloat(parseInt(e[n],h||10).toPrecision(o)).toFixed(0)}f=typeof f=="object"?JSON.stringify(f):(+f).toString(h);for(var l=parseInt(a),d=a&&a[0]+""=="0"?"0":" ";f.length=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Mr=function(){function r(t){this.boundingBox=new Ne(t),this.codewords=new Array(t.getMaxY()-t.getMinY()+1)}return r.prototype.getCodewordNearby=function(t){var e=this.getCodeword(t);if(e!=null)return e;for(var n=1;n=0&&(e=this.codewords[o])!=null||(o=this.imageRowToCodewordIndex(t)+n)=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},si=function(r,t){var e=typeof Symbol=="function"&&r[Symbol.iterator];if(!e)return r;var n,o,i=e.call(r),a=[];try{for(;(t===void 0||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(s){o={error:s}}finally{try{n&&!n.done&&(e=i.return)&&e.call(i)}finally{if(o)throw o.error}}return a},zt=function(){function r(){this.values=new Map}return r.prototype.setValue=function(t){t=Math.trunc(t);var e=this.values.get(t);e==null&&(e=0),e++,this.values.set(t,e)},r.prototype.getValue=function(){var t,e,n=-1,o=new Array,i=function(c,f){var h=function(){return c},l=function(){return f};l()>n?(n=l(),(o=[]).push(h())):l()===n&&o.push(h())};try{for(var a=ai(this.values.entries()),s=a.next();!s.done;s=a.next()){var u=si(s.value,2);i(u[0],u[1])}}catch(c){t={error:c}}finally{try{s&&!s.done&&(e=a.return)&&e.call(a)}finally{if(t)throw t.error}}return V.toIntArray(o)},r.prototype.getConfidence=function(t){return this.values.get(t)},r}(),ui=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),ye=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},hr=function(r){function t(e,n){var o=r.call(this,e)||this;return o._isLeft=n,o}return ui(t,r),t.prototype.setRowNumbers=function(){var e,n;try{for(var o=ye(this.getCodewords()),i=o.next();!i.done;i=o.next()){var a=i.value;a?.setRowNumberAsRowIndicatorColumn()}}catch(s){e={error:s}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}},t.prototype.adjustCompleteIndicatorColumnRowNumbers=function(e){var n=this.getCodewords();this.setRowNumbers(),this.removeIncorrectCodewords(n,e);for(var o=this.getBoundingBox(),i=this._isLeft?o.getTopLeft():o.getTopRight(),a=this._isLeft?o.getBottomLeft():o.getBottomRight(),s=this.imageRowToCodewordIndex(Math.trunc(i.getY())),u=this.imageRowToCodewordIndex(Math.trunc(a.getY())),c=-1,f=1,h=0,l=s;l=e.getRowCount()||p>l)n[l]=null;else{for(var y=void 0,C=(y=f>2?(f-2)*p:p)>=l,w=1;w<=y&&!C;w++)C=n[l-w]!=null;C?n[l]=null:(c=d.getRowNumber(),h=1)}}},t.prototype.getRowHeights=function(){var e,n,o=this.getBarcodeMetadata();if(o==null)return null;this.adjustIncompleteIndicatorColumnRowNumbers(o);var i=new Int32Array(o.getRowCount());try{for(var a=ye(this.getCodewords()),s=a.next();!s.done;s=a.next()){var u=s.value;if(u!=null){var c=u.getRowNumber();if(c>=i.length)continue;i[c]++}}}catch(f){e={error:f}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}return i},t.prototype.adjustIncompleteIndicatorColumnRowNumbers=function(e){for(var n=this.getBoundingBox(),o=this._isLeft?n.getTopLeft():n.getTopRight(),i=this._isLeft?n.getBottomLeft():n.getBottomRight(),a=this.imageRowToCodewordIndex(Math.trunc(o.getY())),s=this.imageRowToCodewordIndex(Math.trunc(i.getY())),u=this.getCodewords(),c=-1,f=a;f=e.getRowCount()?u[f]=null:c=h.getRowNumber())}},t.prototype.getBarcodeMetadata=function(){var e,n,o=this.getCodewords(),i=new zt,a=new zt,s=new zt,u=new zt;try{for(var c=ye(o),f=c.next();!f.done;f=c.next()){var h=f.value;if(h!=null){h.setRowNumberAsRowIndicatorColumn();var l=h.getValue()%30,d=h.getRowNumber();switch(this._isLeft||(d+=2),d%3){case 0:a.setValue(3*l+1);break;case 1:u.setValue(l/3),s.setValue(l%3);break;case 2:i.setValue(l+1)}}}}catch(y){e={error:y}}finally{try{f&&!f.done&&(n=c.return)&&n.call(c)}finally{if(e)throw e.error}}if(i.getValue().length===0||a.getValue().length===0||s.getValue().length===0||u.getValue().length===0||i.getValue()[0]<1||a.getValue()[0]+s.getValue()[0]V.MAX_ROWS_IN_BARCODE)return null;var p=new oi(i.getValue()[0],a.getValue()[0],s.getValue()[0],u.getValue()[0]);return this.removeIncorrectCodewords(o,p),p},t.prototype.removeIncorrectCodewords=function(e,n){for(var o=0;on.getRowCount())e[o]=null;else switch(this._isLeft||(s+=2),s%3){case 0:3*a+1!==n.getRowCountUpperPart()&&(e[o]=null);break;case 1:Math.trunc(a/3)===n.getErrorCorrectionLevel()&&a%3===n.getRowCountLowerPart()||(e[o]=null);break;case 2:a+1!==n.getColumnCount()&&(e[o]=null)}}}},t.prototype.isLeft=function(){return this._isLeft},t.prototype.toString=function(){return"IsLeft: "+this._isLeft+` +`+r.prototype.toString.call(this)},t}(Mr),ci=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},fi=function(){function r(t,e){this.ADJUST_ROW_NUMBER_SKIP=2,this.barcodeMetadata=t,this.barcodeColumnCount=t.getColumnCount(),this.boundingBox=e,this.detectionResultColumns=new Array(this.barcodeColumnCount+2)}return r.prototype.getDetectionResultColumns=function(){this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[0]),this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[this.barcodeColumnCount+1]);var t,e=V.MAX_CODEWORDS_IN_BARCODE;do t=e,e=this.adjustRowNumbersAndGetCount();while(e>0&&e0&&i0&&(c[0]=n[e-1],c[4]=s[e-1],c[5]=u[e-1]),e>1&&(c[8]=n[e-2],c[10]=s[e-2],c[11]=u[e-2]),e>=1;n=1&e,r.RATIOS_TABLE[t]||(r.RATIOS_TABLE[t]=new Array(V.BARS_IN_MODULE)),r.RATIOS_TABLE[t][V.BARS_IN_MODULE-o-1]=Math.fround(i/V.MODULES_IN_CODEWORD)}this.bSymbolTableReady=!0},r.getDecodedValue=function(t){var e=r.getDecodedCodewordValue(r.sampleBitCounts(t));return e!==-1?e:r.getClosestDecodedValue(t)},r.sampleBitCounts=function(t){for(var e=U.sum(t),n=new Int32Array(V.BARS_IN_MODULE),o=0,i=0,a=0;a1)for(var o=0;o=i)break}ut.length||n<0||e+n>t.length||e+n<0)throw new Le;if(n!==0)for(var o=0;o0&&this.grow(e)},t.prototype.grow=function(e){var n=this.buf.length<<1;if(n-e<0&&(n=e),n<0){if(e<0)throw new Ci;n=P.MAX_VALUE}this.buf=$.copyOfUint8Array(this.buf,n)},t.prototype.write=function(e){this.ensureCapacity(this.count+1),this.buf[this.count]=e,this.count+=1},t.prototype.writeBytesOffset=function(e,n,o){if(n<0||n>e.length||o<0||n+o-e.length>0)throw new Le;this.ensureCapacity(this.count+o),Z.arraycopy(e,n,this.buf,this.count,o),this.count+=o},t.prototype.writeTo=function(e){e.writeBytesOffset(this.buf,0,this.count)},t.prototype.reset=function(){this.count=0},t.prototype.toByteArray=function(){return $.copyOfUint8Array(this.buf,this.count)},t.prototype.size=function(){return this.count},t.prototype.toString=function(e){return e?typeof e=="string"?this.toString_string(e):this.toString_number(e):this.toString_void()},t.prototype.toString_void=function(){return new String(this.buf).toString()},t.prototype.toString_string=function(e){return new String(this.buf).toString()},t.prototype.toString_number=function(e){return new String(this.buf).toString()},t.prototype.close=function(){},t}(yi);function Pr(){if(typeof window<"u")return window.BigInt||null;if(lr!==void 0)return lr.BigInt||null;if(typeof self<"u")return self.BigInt||null;throw new Error("Can't search globals for BigInt!")}function bt(r){if(te===void 0&&(te=Pr()),te===null)throw new Error("BigInt is not supported!");return te(r)}(function(r){r[r.ALPHA=0]="ALPHA",r[r.LOWER=1]="LOWER",r[r.MIXED=2]="MIXED",r[r.PUNCT=3]="PUNCT",r[r.ALPHA_SHIFT=4]="ALPHA_SHIFT",r[r.PUNCT_SHIFT=5]="PUNCT_SHIFT"})(Y||(Y={}));var De,_i=function(){function r(){}return r.decode=function(t,e){var n=new B(""),o=nt.ISO8859_1;n.enableDecoding(o);for(var i=1,a=t[i++],s=new di;it[0])throw T.getFormatInstance();for(var o=new Int32Array(r.NUMBER_OF_SEQUENCE_CODEWORDS),i=0;i0){for(var l=0;l<6;++l)a.write(Number(bt(u)>>bt(8*(5-l))));u=0,s=0}}o===e[0]&&h0){for(l=0;l<6;++l)a.write(Number(bt(u)>>bt(8*(5-l))));u=0,s=0}}}return i.append(At.decode(a.toByteArray(),n)),o},r.numericCompaction=function(t,e,n){for(var o=0,i=!1,a=new Int32Array(r.MAX_NUMERIC_CODEWORDS);e0&&(n.append(r.decodeBase900toBase10(a,o)),o=0)}return e},r.decodeBase900toBase10=function(t,e){for(var n=bt(0),o=0;o@[\\]_\`~!\r ,: +-.$/"|*()?{}'`,r.MIXED_CHARS="0123456789&\r ,:#-.$/+%*=^",r.EXP900=Pr()?function(){var t=[];t[0]=bt(1);var e=bt(900);t[1]=e;for(var n=2;n<16;n++)t[n]=t[n-1]*e;return t}():[],r.NUMBER_OF_SEQUENCE_CODEWORDS=2,r}(),Ut=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},mi=function(){function r(){}return r.decode=function(t,e,n,o,i,a,s){for(var u,c=new Ne(t,e,n,o,i),f=null,h=null,l=!0;;l=!1){if(e!=null&&(f=r.getRowIndicatorColumn(t,c,e,!0,a,s)),o!=null&&(h=r.getRowIndicatorColumn(t,c,o,!1,a,s)),(u=r.merge(f,h))==null)throw E.getNotFoundInstance();var d=u.getBoundingBox();if(!l||d==null||!(d.getMinY()c.getMaxY()))break;c=d}u.setBoundingBox(c);var p=u.getBarcodeColumnCount()+1;u.setDetectionResultColumn(0,f),u.setDetectionResultColumn(p,h);for(var y=f!=null,C=1;C<=p;C++){var w=y?C:p-C;if(u.getDetectionResultColumn(w)===void 0){var v=void 0;v=w===0||w===p?new hr(c,w===0):new Mr(c),u.setDetectionResultColumn(w,v);for(var _=-1,m=_,I=c.getMinY();I<=c.getMaxY();I++){if((_=r.getStartColumn(u,w,I,y))<0||_>c.getMaxX()){if(m===-1)continue;_=m}var S=r.detectCodeword(t,c.getMinX(),c.getMaxX(),y,_,I,a,s);S!=null&&(v.setCodeword(I,S),m=_,a=Math.min(a,S.getWidth()),s=Math.max(s,S.getWidth()))}}}return r.createDecoderResult(u)},r.merge=function(t,e){if(t==null&&e==null)return null;var n=r.getBarcodeMetadata(t,e);if(n==null)return null;var o=Ne.merge(r.adjustBoundingBox(t),r.adjustBoundingBox(e));return new fi(n,o)},r.adjustBoundingBox=function(t){var e,n;if(t==null)return null;var o=t.getRowHeights();if(o==null)return null;var i=r.getMax(o),a=0;try{for(var s=Ut(o),u=s.next();!u.done;u=s.next()){var c=u.value;if(a+=i-c,c>0)break}}catch(d){e={error:d}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}for(var f=t.getCodewords(),h=0;a>0&&f[h]==null;h++)a--;var l=0;for(h=o.length-1;h>=0&&(l+=i-o[h],!(o[h]>0));h--);for(h=f.length-1;l>0&&f[h]==null;h--)l--;return t.getBoundingBox().addMissingRows(a,l,t.isLeft())},r.getMax=function(t){var e,n,o=-1;try{for(var i=Ut(t),a=i.next();!a.done;a=i.next()){var s=a.value;o=Math.max(o,s)}}catch(u){e={error:u}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return o},r.getBarcodeMetadata=function(t,e){var n,o;return t==null||(n=t.getBarcodeMetadata())==null?e==null?null:e.getBarcodeMetadata():e==null||(o=e.getBarcodeMetadata())==null?n:n.getColumnCount()!==o.getColumnCount()&&n.getErrorCorrectionLevel()!==o.getErrorCorrectionLevel()&&n.getRowCount()!==o.getRowCount()?null:n},r.getRowIndicatorColumn=function(t,e,n,o,i,a){for(var s=new hr(e,o),u=0;u<2;u++)for(var c=u===0?1:-1,f=Math.trunc(Math.trunc(n.getX())),h=Math.trunc(Math.trunc(n.getY()));h<=e.getMaxY()&&h>=e.getMinY();h+=c){var l=r.detectCodeword(t,0,t.getWidth(),o,f,h,i,a);l!=null&&(s.setCodeword(h,l),f=o?l.getStartX():l.getEndX())}return s},r.adjustCodewordCount=function(t,e){var n=e[0][1],o=n.getValue(),i=t.getBarcodeColumnCount()*t.getBarcodeRowCount()-r.getNumberOfECCodeWords(t.getBarcodeECLevel());if(o.length===0){if(i<1||i>V.MAX_CODEWORDS_IN_BARCODE)throw E.getNotFoundInstance();n.setValue(i)}else o[0]!==i&&n.setValue(i)},r.createDecoderResult=function(t){var e=r.createBarcodeMatrix(t);r.adjustCodewordCount(t,e);for(var n=new Array,o=new Int32Array(t.getBarcodeRowCount()*t.getBarcodeColumnCount()),i=[],a=new Array,s=0;s0;){for(var u=0;u=0){if(C>=a.length)continue;a[C][c].setValue(y.getValue())}}}}catch(w){o={error:w}}finally{try{p&&!p.done&&(i=d.return)&&i.call(d)}finally{if(o)throw o.error}}c++}}catch(w){e={error:w}}finally{try{h&&!h.done&&(n=f.return)&&n.call(f)}finally{if(e)throw e.error}}return a},r.isValidBarcodeColumn=function(t,e){return e>=0&&e<=t.getBarcodeColumnCount()+1},r.getStartColumn=function(t,e,n,o){var i,a,s=o?1:-1,u=null;if(r.isValidBarcodeColumn(t,e-s)&&(u=t.getDetectionResultColumn(e-s).getCodeword(n)),u!=null)return o?u.getEndX():u.getStartX();if((u=t.getDetectionResultColumn(e).getCodewordNearby(n))!=null)return o?u.getStartX():u.getEndX();if(r.isValidBarcodeColumn(t,e-s)&&(u=t.getDetectionResultColumn(e-s).getCodewordNearby(n)),u!=null)return o?u.getEndX():u.getStartX();for(var c=0;r.isValidBarcodeColumn(t,e-s);){e-=s;try{for(var f=(i=void 0,Ut(t.getDetectionResultColumn(e).getCodewords())),h=f.next();!h.done;h=f.next()){var l=h.value;if(l!=null)return(o?l.getEndX():l.getStartX())+s*c*(l.getEndX()-l.getStartX())}}catch(d){i={error:d}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(i)throw i.error}}c++}return o?t.getBoundingBox().getMinX():t.getBoundingBox().getMaxX()},r.detectCodeword=function(t,e,n,o,i,a,s,u){i=r.adjustCodewordStartColumn(t,e,n,o,i,a);var c,f=r.getModuleBitCount(t,e,n,o,i,a);if(f==null)return null;var h=U.sum(f);if(o)c=i+h;else{for(var l=0;l=e)&&c=e:sr.CODEWORD_SKEW_SIZE)return i;s+=u}u=-u,o=!o}return s},r.checkCodewordSkew=function(t,e,n){return e-r.CODEWORD_SKEW_SIZE<=t&&t<=n+r.CODEWORD_SKEW_SIZE},r.decodeCodewords=function(t,e,n){if(t.length===0)throw T.getFormatInstance();var o=1<n/2+r.MAX_ERRORS||n<0||n>r.MAX_EC_CODEWORDS)throw at.getChecksumInstance();return r.errorCorrection.decode(t,n,e)},r.verifyCodewordCount=function(t,e){if(t.length<4)throw T.getFormatInstance();var n=t[0];if(n>t.length)throw T.getFormatInstance();if(n===0){if(!(e>=1;return e},r.getCodewordBucketNumber=function(t){return t instanceof Int32Array?this.getCodewordBucketNumber_Int32Array(t):this.getCodewordBucketNumber_number(t)},r.getCodewordBucketNumber_number=function(t){return r.getCodewordBucketNumber(r.getBitCountForCodeword(t))},r.getCodewordBucketNumber_Int32Array=function(t){return(t[0]-t[2]+t[4]-t[6]+9)%9},r.toString=function(t){for(var e=new He,n=0;n=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Me=function(){function r(){}return r.prototype.decode=function(t,e){e===void 0&&(e=null);var n=r.decode(t,e,!1);if(n==null||n.length===0||n[0]==null)throw E.getNotFoundInstance();return n[0]},r.prototype.decodeMultiple=function(t,e){e===void 0&&(e=null);try{return r.decode(t,e,!0)}catch(n){throw n instanceof T||n instanceof at?E.getNotFoundInstance():n}},r.decode=function(t,e,n){var o,i,a=new Array,s=Qo.detectMultiple(t,e,n);try{for(var u=Ei(s.getPoints()),c=u.next();!c.done;c=u.next()){var f=c.value,h=mi.decode(s.getBits(),f[4],f[5],f[6],f[7],r.getMinCodewordWidth(f),r.getMaxCodewordWidth(f)),l=new ft(h.getText(),h.getRawBytes(),void 0,f,D.PDF_417);l.putMetadata(ct.ERROR_CORRECTION_LEVEL,h.getECLevel());var d=h.getOther();d!=null&&l.putMetadata(ct.PDF417_EXTRA_METADATA,d),a.push(l)}}catch(p){o={error:p}}finally{try{c&&!c.done&&(i=u.return)&&i.call(u)}finally{if(o)throw o.error}}return a.map(function(p){return p})},r.getMaxWidth=function(t,e){return t==null||e==null?0:Math.trunc(Math.abs(t.getX()-e.getX()))},r.getMinWidth=function(t,e){return t==null||e==null?P.MAX_VALUE:Math.trunc(Math.abs(t.getX()-e.getX()))},r.getMaxCodewordWidth=function(t){return Math.floor(Math.max(Math.max(r.getMaxWidth(t[0],t[4]),r.getMaxWidth(t[6],t[2])*V.MODULES_IN_CODEWORD/V.MODULES_IN_STOP_PATTERN),Math.max(r.getMaxWidth(t[1],t[5]),r.getMaxWidth(t[7],t[3])*V.MODULES_IN_CODEWORD/V.MODULES_IN_STOP_PATTERN)))},r.getMinCodewordWidth=function(t){return Math.floor(Math.min(Math.min(r.getMinWidth(t[0],t[4]),r.getMinWidth(t[6],t[2])*V.MODULES_IN_CODEWORD/V.MODULES_IN_STOP_PATTERN),Math.min(r.getMinWidth(t[1],t[5]),r.getMinWidth(t[7],t[3])*V.MODULES_IN_CODEWORD/V.MODULES_IN_STOP_PATTERN)))},r.prototype.reset=function(){},r}(),Ii=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),pr=function(r){function t(){return r!==null&&r.apply(this,arguments)||this}return Ii(t,r),t.kind="ReaderException",t}(wt),gr=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Si=function(){function r(){}return r.prototype.decode=function(t,e){return this.setHints(e),this.decodeInternal(t)},r.prototype.decodeWithState=function(t){return this.readers!==null&&this.readers!==void 0||this.setHints(null),this.decodeInternal(t)},r.prototype.setHints=function(t){this.hints=t;var e=t!=null&&t.get(Q.TRY_HARDER)!==void 0,n=t==null?null:t.get(Q.POSSIBLE_FORMATS),o=new Array;if(n!=null){var i=n.some(function(a){return a===D.UPC_A||a===D.UPC_E||a===D.EAN_13||a===D.EAN_8||a===D.CODABAR||a===D.CODE_39||a===D.CODE_93||a===D.CODE_128||a===D.ITF||a===D.RSS_14||a===D.RSS_EXPANDED});i&&!e&&o.push(new Wt(t)),n.includes(D.QR_CODE)&&o.push(new Re),n.includes(D.DATA_MATRIX)&&o.push(new be),n.includes(D.AZTEC)&&o.push(new Te),n.includes(D.PDF_417)&&o.push(new Me),i&&e&&o.push(new Wt(t))}o.length===0&&(e||o.push(new Wt(t)),o.push(new Re),o.push(new be),o.push(new Te),o.push(new Me),e&&o.push(new Wt(t))),this.readers=o},r.prototype.reset=function(){var t,e;if(this.readers!==null)try{for(var n=gr(this.readers),o=n.next();!o.done;o=n.next())o.value.reset()}catch(i){t={error:i}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},r.prototype.decodeInternal=function(t){var e,n;if(this.readers===null)throw new pr("No readers where selected, nothing can be read.");try{for(var o=gr(this.readers),i=o.next();!i.done;i=o.next()){var a=i.value;try{return a.decode(t,this.hints)}catch(s){if(s instanceof pr)continue}}}catch(s){e={error:s}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}throw new E("No MultiFormat Readers were able to detect the code.")},r}(),Ti=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Ea=function(r){function t(e,n){e===void 0&&(e=null),n===void 0&&(n=500);var o=new Si;return o.setHints(e),r.call(this,o,n)||this}return Ti(t,r),t.prototype.decodeBitmap=function(e){return this.reader.decodeWithState(e)},t}(Vt),Oi=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Ia=function(r){function t(e){return e===void 0&&(e=500),r.call(this,new Me,e)||this}return Oi(t,r),t}(Vt),bi=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Sa=function(r){function t(e){return e===void 0&&(e=500),r.call(this,new Re,e)||this}return bi(t,r),t}(Vt);(function(r){r[r.ERROR_CORRECTION=0]="ERROR_CORRECTION",r[r.CHARACTER_SET=1]="CHARACTER_SET",r[r.DATA_MATRIX_SHAPE=2]="DATA_MATRIX_SHAPE",r[r.DATA_MATRIX_COMPACT=3]="DATA_MATRIX_COMPACT",r[r.MIN_SIZE=4]="MIN_SIZE",r[r.MAX_SIZE=5]="MAX_SIZE",r[r.MARGIN=6]="MARGIN",r[r.PDF417_COMPACT=7]="PDF417_COMPACT",r[r.PDF417_COMPACTION=8]="PDF417_COMPACTION",r[r.PDF417_DIMENSIONS=9]="PDF417_DIMENSIONS",r[r.AZTEC_LAYERS=10]="AZTEC_LAYERS",r[r.QR_VERSION=11]="QR_VERSION",r[r.GS1_FORMAT=12]="GS1_FORMAT",r[r.FORCE_C40=13]="FORCE_C40"})(De||(De={}));var Pe,yr,j=De,Br=function(){function r(t){this.field=t,this.cachedGenerators=[],this.cachedGenerators.push(new Rt(t,Int32Array.from([1])))}return r.prototype.buildGenerator=function(t){var e=this.cachedGenerators;if(t>=e.length)for(var n=e[e.length-1],o=this.field,i=e.length;i<=t;i++){var a=n.multiply(new Rt(o,Int32Array.from([1,o.exp(i-1+o.getGeneratorBase())])));e.push(a),n=a}return e[t]},r.prototype.encode=function(t,e){if(e===0)throw new N("No error correction bytes");var n=t.length-e;if(n<=0)throw new N("No data bytes provided");var o=this.buildGenerator(e),i=new Int32Array(n);Z.arraycopy(t,0,i,0,n);for(var a=new Rt(this.field,i),s=(a=a.multiplyByMonomial(e,1)).divide(o)[1].getCoefficients(),u=e-s.length,c=0;c=5&&(n+=r.N1+(u-5)),u=1,c=h)}u>=5&&(n+=r.N1+(u-5))}return n},r.N1=3,r.N2=3,r.N3=40,r.N4=10,r}(),Ri=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Lr=function(){function r(t,e){this.width=t,this.height=e;for(var n=new Array(e),o=0;o!==e;o++)n[o]=new Uint8Array(t);this.bytes=n}return r.prototype.getHeight=function(){return this.height},r.prototype.getWidth=function(){return this.width},r.prototype.get=function(t,e){return this.bytes[e][t]},r.prototype.getArray=function(){return this.bytes},r.prototype.setNumber=function(t,e,n){this.bytes[e][t]=n},r.prototype.setBoolean=function(t,e,n){this.bytes[e][t]=n?1:0},r.prototype.clear=function(t){var e,n;try{for(var o=Ri(this.bytes),i=o.next();!i.done;i=o.next()){var a=i.value;$.fill(a,t)}}catch(s){e={error:s}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}},r.prototype.equals=function(t){if(!(t instanceof r))return!1;var e=t;if(this.width!==e.width||this.height!==e.height)return!1;for(var n=0,o=this.height;n> +`),t.toString()},r.prototype.setMode=function(t){this.mode=t},r.prototype.setECLevel=function(t){this.ecLevel=t},r.prototype.setVersion=function(t){this.version=t},r.prototype.setMaskPattern=function(t){this.maskPattern=t},r.prototype.setMatrix=function(t){this.matrix=t},r.isValidMaskPattern=function(t){return t>=0&&t0;){for(a===6&&(a-=1);s>=0&&s=n;)t^=e<=0)for(var u=0;u!==a;u++){var c=o[u];c>=0&&r.isEmpty(e.get(c,s))&&r.embedPositionAdjustmentPattern(c-2,s-2,e)}}},r.POSITION_DETECTION_PATTERN=Array.from([Int32Array.from([1,1,1,1,1,1,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,1,1,1,1,1,1])]),r.POSITION_ADJUSTMENT_PATTERN=Array.from([Int32Array.from([1,1,1,1,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,0,1,0,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,1,1,1,1])]),r.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE=Array.from([Int32Array.from([-1,-1,-1,-1,-1,-1,-1]),Int32Array.from([6,18,-1,-1,-1,-1,-1]),Int32Array.from([6,22,-1,-1,-1,-1,-1]),Int32Array.from([6,26,-1,-1,-1,-1,-1]),Int32Array.from([6,30,-1,-1,-1,-1,-1]),Int32Array.from([6,34,-1,-1,-1,-1,-1]),Int32Array.from([6,22,38,-1,-1,-1,-1]),Int32Array.from([6,24,42,-1,-1,-1,-1]),Int32Array.from([6,26,46,-1,-1,-1,-1]),Int32Array.from([6,28,50,-1,-1,-1,-1]),Int32Array.from([6,30,54,-1,-1,-1,-1]),Int32Array.from([6,32,58,-1,-1,-1,-1]),Int32Array.from([6,34,62,-1,-1,-1,-1]),Int32Array.from([6,26,46,66,-1,-1,-1]),Int32Array.from([6,26,48,70,-1,-1,-1]),Int32Array.from([6,26,50,74,-1,-1,-1]),Int32Array.from([6,30,54,78,-1,-1,-1]),Int32Array.from([6,30,56,82,-1,-1,-1]),Int32Array.from([6,30,58,86,-1,-1,-1]),Int32Array.from([6,34,62,90,-1,-1,-1]),Int32Array.from([6,28,50,72,94,-1,-1]),Int32Array.from([6,26,50,74,98,-1,-1]),Int32Array.from([6,30,54,78,102,-1,-1]),Int32Array.from([6,28,54,80,106,-1,-1]),Int32Array.from([6,32,58,84,110,-1,-1]),Int32Array.from([6,30,58,86,114,-1,-1]),Int32Array.from([6,34,62,90,118,-1,-1]),Int32Array.from([6,26,50,74,98,122,-1]),Int32Array.from([6,30,54,78,102,126,-1]),Int32Array.from([6,26,52,78,104,130,-1]),Int32Array.from([6,30,56,82,108,134,-1]),Int32Array.from([6,34,60,86,112,138,-1]),Int32Array.from([6,30,58,86,114,142,-1]),Int32Array.from([6,34,62,90,118,146,-1]),Int32Array.from([6,30,54,78,102,126,150]),Int32Array.from([6,24,50,76,102,128,154]),Int32Array.from([6,28,54,80,106,132,158]),Int32Array.from([6,32,58,84,110,136,162]),Int32Array.from([6,26,54,82,110,138,166]),Int32Array.from([6,30,58,86,114,142,170])]),r.TYPE_INFO_COORDINATES=Array.from([Int32Array.from([8,0]),Int32Array.from([8,1]),Int32Array.from([8,2]),Int32Array.from([8,3]),Int32Array.from([8,4]),Int32Array.from([8,5]),Int32Array.from([8,7]),Int32Array.from([8,8]),Int32Array.from([7,8]),Int32Array.from([5,8]),Int32Array.from([4,8]),Int32Array.from([3,8]),Int32Array.from([2,8]),Int32Array.from([1,8]),Int32Array.from([0,8])]),r.VERSION_INFO_POLY=7973,r.TYPE_INFO_POLY=1335,r.TYPE_INFO_MASK_PATTERN=21522,r}(),Di=function(){function r(t,e){this.dataBytes=t,this.errorCorrectionBytes=e}return r.prototype.getDataBytes=function(){return this.dataBytes},r.prototype.getErrorCorrectionBytes=function(){return this.errorCorrectionBytes},r}(),Cr=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Fr=function(){function r(){}return r.calculateMaskPenalty=function(t){return jt.applyMaskPenaltyRule1(t)+jt.applyMaskPenaltyRule2(t)+jt.applyMaskPenaltyRule3(t)+jt.applyMaskPenaltyRule4(t)},r.encode=function(t,e,n){n===void 0&&(n=null);var o=r.DEFAULT_BYTE_MODE_ENCODING,i=n!==null&&n.get(j.CHARACTER_SET)!==void 0;i&&(o=n.get(j.CHARACTER_SET).toString());var a=this.chooseMode(t,o),s=new st;if(a===q.BYTE&&(i||r.DEFAULT_BYTE_MODE_ENCODING!==o)){var u=nt.getCharacterSetECIByName(o);u!==void 0&&this.appendECI(u,s)}this.appendModeInfo(a,s);var c,f=new st;if(this.appendBytes(t,a,f,o),n!==null&&n.get(j.QR_VERSION)!==void 0){var h=Number.parseInt(n.get(j.QR_VERSION).toString(),10);c=Lt.getVersionForNumber(h);var l=this.calculateBitsNeeded(a,s,f,c);if(!this.willFit(l,c,e))throw new K("Data too big for requested version")}else c=this.recommendVersion(e,a,s,f);var d=new st;d.appendBitArray(s);var p=a===q.BYTE?f.getSizeInBytes():t.length;this.appendLengthInfo(p,c,a,d),d.appendBitArray(f);var y=c.getECBlocksForLevel(e),C=c.getTotalCodewords()-y.getTotalECCodewords();this.terminateBits(C,d);var w=this.interleaveWithECBytes(d,c.getTotalCodewords(),C,y.getNumBlocks()),v=new Be;v.setECLevel(e),v.setMode(a),v.setVersion(c);var _=c.getDimensionForVersion(),m=new Lr(_,_),I=this.chooseMaskPattern(w,e,c,m);return v.setMaskPattern(I),wr.buildMatrix(w,e,c,I,m),v.setMatrix(m),v},r.recommendVersion=function(t,e,n,o){var i=this.calculateBitsNeeded(e,n,o,Lt.getVersionForNumber(1)),a=this.chooseVersion(i,t),s=this.calculateBitsNeeded(e,n,o,a);return this.chooseVersion(s,t)},r.calculateBitsNeeded=function(t,e,n,o){return e.getSize()+t.getCharacterCountBits(o)+n.getSize()},r.getAlphanumericCode=function(t){return t159)&&(i<224||i>235))return!1}return!0},r.chooseMaskPattern=function(t,e,n,o){for(var i=Number.MAX_SAFE_INTEGER,a=-1,s=0;s=(t+7)/8},r.terminateBits=function(t,e){var n=8*t;if(e.getSize()>n)throw new K("data bits cannot fit in the QR Code"+e.getSize()+" > "+n);for(var o=0;o<4&&e.getSize()0)for(o=i;o<8;o++)e.appendBit(!1);var a=t-e.getSizeInBytes();for(o=0;o=n)throw new K("Block ID too large");var s=t%n,u=n-s,c=Math.floor(t/n),f=c+1,h=Math.floor(e/n),l=h+1,d=c-h,p=f-l;if(d!==p)throw new K("EC bytes mismatch");if(n!==u+s)throw new K("RS blocks mismatch");if(t!==(h+d)*u+(l+p)*s)throw new K("Total bytes mismatch");o=1<=0&&e<=9},r.appendNumericBytes=function(t,e){for(var n=t.length,o=0;o=33088&&a<=40956?s=a-33088:a>=57408&&a<=60351&&(s=a-49472),s===-1)throw new K("Invalid byte sequence");var u=192*(s>>8)+(255&s);e.appendBits(u,13)}},r.appendECI=function(t,e){e.appendBits(q.ECI.getBits(),4),e.appendBits(t.getValue(),8)},r.ALPHANUMERIC_TABLE=Int32Array.from([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,36,-1,-1,-1,37,38,-1,-1,-1,-1,39,40,-1,41,42,43,0,1,2,3,4,5,6,7,8,9,44,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,-1]),r.DEFAULT_BYTE_MODE_ENCODING=nt.UTF8.getName(),r}(),Ta=function(){function r(){}return r.prototype.write=function(t,e,n,o){if(o===void 0&&(o=null),t.length===0)throw new N("Found empty contents");if(e<0||n<0)throw new N("Requested dimensions are too small: "+e+"x"+n);var i=Zt.L,a=r.QUIET_ZONE_SIZE;o!==null&&(o.get(j.ERROR_CORRECTION)!==void 0&&(i=Zt.fromString(o.get(j.ERROR_CORRECTION).toString())),o.get(j.MARGIN)!==void 0&&(a=Number.parseInt(o.get(j.MARGIN).toString(),10)));var s=Fr.encode(t,i,o);return this.renderResult(s,e,n,a)},r.prototype.writeToDom=function(t,e,n,o,i){i===void 0&&(i=null),typeof t=="string"&&(t=document.querySelector(t));var a=this.write(e,n,o,i);t&&t.appendChild(a)},r.prototype.renderResult=function(t,e,n,o){var i=t.getMatrix();if(i===null)throw new Nt;for(var a=i.getWidth(),s=i.getHeight(),u=a+2*o,c=s+2*o,f=Math.max(e,u),h=Math.max(n,c),l=Math.min(Math.floor(f/u),Math.floor(h/c)),d=Math.floor((f-a*l)/2),p=Math.floor((h-s*l)/2),y=this.createSVGElement(f,h),C=0,w=p;Cn||a+u>o)throw new N("Crop rectangle does not fit within image data.");return c&&f.reverseHorizontal(s,u),f}return Pi(t,r),t.prototype.getRow=function(e,n){if(e<0||e>=this.getHeight())throw new N("Requested row is outside the image: "+e);var o=this.getWidth();(n==null||n.length>16&255,y=d>>7&510,C=255&d;h[l]=(p+y+C)/4&255}c.luminances=h}else c.luminances=e;if(i===void 0&&(c.dataWidth=n),a===void 0&&(c.dataHeight=o),s===void 0&&(c.left=0),u===void 0&&(c.top=0),c.left+n>c.dataWidth||c.top+o>c.dataHeight)throw new N("Crop rectangle does not fit within image data.");return c}return Bi(t,r),t.prototype.getRow=function(e,n){if(e<0||e>=this.getHeight())throw new N("Requested row is outside the image: "+e);var o=this.getWidth();(n==null||n.length=0&&this.noBit(n,e)&&this.utah(e,n,t++),e-=2,n+=2;while(e>=0&&n=0&&n=0);e+=3,n++}while(e=256&&(e^=301);return{LOG:r,ALOG:t}}([],[]),Pe.LOG),Ar=Pe.ALOG;(function(r){r[r.FORCE_NONE=0]="FORCE_NONE",r[r.FORCE_SQUARE=1]="FORCE_SQUARE",r[r.FORCE_RECTANGLE=2]="FORCE_RECTANGLE"})(yr||(yr={}));var b,kr="[)>05",Vr="[)>06",se="",ki=function(){function r(){}return r.encodeECC200=function(t,e){if(t.length!==e.getDataCapacity())throw new Error("The number of codewords does not match the selected symbol");var n=new B;n.append(t);var o=e.getInterleavedBlockCount();if(o===1){var i=this.createECCBlock(t,e.getErrorCodewords());n.append(i)}else{for(var a=[],s=[],u=0;u0;u--)s!==0&&i[u]!==0?a[u]=a[u-1]^Ar[(ee[s]+ee[i[u]])%255]:a[u]=a[u-1];s!==0&&i[0]!==0?a[0]=Ar[(ee[s]+ee[i[0]])%255]:a[0]=0}var c=[];for(o=0;o=2)t.writeCodeword(this.encodeASCIIDigits(t.getMessage().charCodeAt(t.pos),t.getMessage().charCodeAt(t.pos+1))),t.pos+=2;else{var e=t.getCurrentChar(),n=L.lookAheadTest(t.getMessage(),t.pos,this.getEncodingMode());if(n!==this.getEncodingMode())switch(n){case 5:return t.writeCodeword(231),void t.signalEncoderChange(5);case 1:return t.writeCodeword(230),void t.signalEncoderChange(1);case 3:t.writeCodeword(238),t.signalEncoderChange(3);break;case 2:t.writeCodeword(239),t.signalEncoderChange(2);break;case 4:t.writeCodeword(240),t.signalEncoderChange(4);break;default:throw new Error("Illegal mode: "+n)}else L.isExtendedASCII(e)?(t.writeCodeword(235),t.writeCodeword(e-128+1),t.pos++):(t.writeCodeword(e+1),t.pos++)}},r.prototype.encodeASCIIDigits=function(t,e){if(L.isDigit(t)&&L.isDigit(e))return 10*(t-48)+(e-48)+130;throw new Error("not digits: "+t+e)},r}(),Hi=function(){function r(){}return r.prototype.getEncodingMode=function(){return 5},r.prototype.encode=function(t){var e=new B;for(e.append(0);t.hasMoreCharacters();){var n=t.getCurrentChar();if(e.append(n),t.pos++,L.lookAheadTest(t.getMessage(),t.pos,this.getEncodingMode())!==this.getEncodingMode()){t.signalEncoderChange(0);break}}var o=e.length()-1,i=t.getCodewordCount()+o+1;t.updateSymbolInfo(i);var a=t.getSymbolInfo().getDataCapacity()-i>0;if(t.hasMoreCharacters()||a)if(o<=249)e.setCharAt(0,F.getCharAt(o));else{if(!(o<=1555))throw new Error("Message length not in valid ranges: "+o);e.setCharAt(0,F.getCharAt(Math.floor(o/250)+249)),e.insert(1,F.getCharAt(o%250))}var s=0;for(n=e.length();s3||c!==1))&&(t.pos=o)}e.length()>0&&t.writeCodeword(230),this.handleEOD(t,e)},r.prototype.encode=function(t){for(var e=new B;t.hasMoreCharacters();){var n=t.getCurrentChar();t.pos++;var o=this.encodeChar(n,e),i=2*Math.floor(e.length()/3),a=t.getCodewordCount()+i;t.updateSymbolInfo(a);var s=t.getSymbolInfo().getDataCapacity()-a;if(!t.hasMoreCharacters()){var u=new B;for(e.length()%3==2&&s!==2&&(o=this.backtrackOneCharacter(t,e,u,o));e.length()%3==1&&(o>3||s!==1);)o=this.backtrackOneCharacter(t,e,u,o);break}if(e.length()%3==0&&L.lookAheadTest(t.getMessage(),t.pos,this.getEncodingMode())!==this.getEncodingMode()){t.signalEncoderChange(0);break}}this.handleEOD(t,e)},r.prototype.backtrackOneCharacter=function(t,e,n,o){var i=e.length(),a=e.toString().substring(0,i-o);e.setLengthToZero(),e.append(a),t.pos--;var s=t.getCurrentChar();return o=this.encodeChar(s,n),t.resetSymbolInfo(),o},r.prototype.writeNextTriplet=function(t,e){t.writeCodewords(this.encodeToCodewords(e.toString()));var n=e.toString().substring(3);e.setLengthToZero(),e.append(n)},r.prototype.handleEOD=function(t,e){var n=Math.floor(e.length()/3*2),o=e.length()%3,i=t.getCodewordCount()+n;t.updateSymbolInfo(i);var a=t.getSymbolInfo().getDataCapacity()-i;if(o===2){for(e.append("\0");e.length()>=3;)this.writeNextTriplet(t,e);t.hasMoreCharacters()&&t.writeCodeword(254)}else if(a===1&&o===1){for(;e.length()>=3;)this.writeNextTriplet(t,e);t.hasMoreCharacters()&&t.writeCodeword(254),t.pos--}else{if(o!==0)throw new Error("Unexpected case. Please report!");for(;e.length()>=3;)this.writeNextTriplet(t,e);(a>0||t.hasMoreCharacters())&&t.writeCodeword(254)}t.signalEncoderChange(0)},r.prototype.encodeChar=function(t,e){if(t===" ".charCodeAt(0))return e.append(3),1;if(t>="0".charCodeAt(0)&&t<="9".charCodeAt(0))return e.append(t-48+4),1;if(t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0))return e.append(t-65+14),1;if(t<" ".charCodeAt(0))return e.append(0),e.append(t),2;if(t<="/".charCodeAt(0))return e.append(1),e.append(t-33),2;if(t<="@".charCodeAt(0))return e.append(1),e.append(t-58+15),2;if(t<="_".charCodeAt(0))return e.append(1),e.append(t-91+22),2;if(t<=127)return e.append(2),e.append(t-96),2;e.append("1");var n=2;return n+=this.encodeChar(t-128,e)},r.prototype.encodeToCodewords=function(t){var e=1600*t.charCodeAt(0)+40*t.charCodeAt(1)+t.charCodeAt(2)+1,n=e/256,o=e%256,i=new B;return i.append(n),i.append(o),i.toString()},r}(),Ui=function(){function r(){}return r.prototype.getEncodingMode=function(){return 4},r.prototype.encode=function(t){for(var e=new B;t.hasMoreCharacters();){var n=t.getCurrentChar();if(this.encodeChar(n,e),t.pos++,e.length()>=4){t.writeCodewords(this.encodeToCodewords(e.toString()));var o=e.toString().substring(4);if(e.setLengthToZero(),e.append(o),L.lookAheadTest(t.getMessage(),t.pos,this.getEncodingMode())!==this.getEncodingMode()){t.signalEncoderChange(0);break}}}e.append(F.getCharAt(31)),this.handleEOD(t,e)},r.prototype.handleEOD=function(t,e){try{var n=e.length();if(n===0)return;if(n===1){t.updateSymbolInfo();var o=t.getSymbolInfo().getDataCapacity()-t.getCodewordCount(),i=t.getRemainingCharacters();if(i>o&&(t.updateSymbolInfo(t.getCodewordCount()+1),o=t.getSymbolInfo().getDataCapacity()-t.getCodewordCount()),i<=o&&o<=2)return}if(n>4)throw new Error("Count must not exceed 4");var a=n-1,s=this.encodeToCodewords(e.toString()),u=!t.hasMoreCharacters()&&a<=2;a<=2&&(t.updateSymbolInfo(t.getCodewordCount()+a),(o=t.getSymbolInfo().getDataCapacity()-t.getCodewordCount())>=3&&(u=!1,t.updateSymbolInfo(t.getCodewordCount()+s.length))),u?(t.resetSymbolInfo(),t.pos-=a):t.writeCodewords(s)}finally{t.signalEncoderChange(0)}},r.prototype.encodeChar=function(t,e){t>=" ".charCodeAt(0)&&t<="?".charCodeAt(0)?e.append(t):t>="@".charCodeAt(0)&&t<="^".charCodeAt(0)?e.append(F.getCharAt(t-64)):L.illegalCharacter(F.getCharAt(t))},r.prototype.encodeToCodewords=function(t){var e=t.length;if(e===0)throw new Error("StringBuilder must not be empty");var n=(t.charAt(0).charCodeAt(0)<<18)+((e>=2?t.charAt(1).charCodeAt(0):0)<<12)+((e>=3?t.charAt(2).charCodeAt(0):0)<<6)+(e>=4?t.charAt(3).charCodeAt(0):0),o=n>>16&255,i=n>>8&255,a=255&n,s=new B;return s.append(o),e>=2&&s.append(i),e>=3&&s.append(a),s.toString()},r}(),Xi=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Gi=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},H=function(){function r(t,e,n,o,i,a,s,u){s===void 0&&(s=0),u===void 0&&(u=0),this.rectangular=t,this.dataCapacity=e,this.errorCodewords=n,this.matrixWidth=o,this.matrixHeight=i,this.dataRegions=a,this.rsBlockData=s,this.rsBlockError=u}return r.lookup=function(t,e,n,o,i){var a,s;e===void 0&&(e=0),n===void 0&&(n=null),o===void 0&&(o=null),i===void 0&&(i=!0);try{for(var u=Gi(zi),c=u.next();!c.done;c=u.next()){var f=c.value;if((e!==1||!f.rectangular)&&(e!==2||f.rectangular)&&(n==null||!(f.getSymbolWidth()o.getWidth()||f.getSymbolHeight()>o.getHeight()))&&t<=f.dataCapacity)return f}}catch(h){a={error:h}}finally{try{c&&!c.done&&(s=u.return)&&s.call(u)}finally{if(a)throw a.error}}if(i)throw new Error("Can't find a symbol arrangement that matches the message. Data codewords: "+t);return null},r.prototype.getHorizontalDataRegions=function(){switch(this.dataRegions){case 1:return 1;case 2:case 4:return 2;case 16:return 4;case 36:return 6;default:throw new Error("Cannot handle this number of data regions")}},r.prototype.getVerticalDataRegions=function(){switch(this.dataRegions){case 1:case 2:return 1;case 4:return 2;case 16:return 4;case 36:return 6;default:throw new Error("Cannot handle this number of data regions")}},r.prototype.getSymbolDataWidth=function(){return this.getHorizontalDataRegions()*this.matrixWidth},r.prototype.getSymbolDataHeight=function(){return this.getVerticalDataRegions()*this.matrixHeight},r.prototype.getSymbolWidth=function(){return this.getSymbolDataWidth()+2*this.getHorizontalDataRegions()},r.prototype.getSymbolHeight=function(){return this.getSymbolDataHeight()+2*this.getVerticalDataRegions()},r.prototype.getCodewordCount=function(){return this.dataCapacity+this.errorCodewords},r.prototype.getInterleavedBlockCount=function(){return this.rsBlockData?this.dataCapacity/this.rsBlockData:1},r.prototype.getDataCapacity=function(){return this.dataCapacity},r.prototype.getErrorCodewords=function(){return this.errorCodewords},r.prototype.getDataLengthForInterleavedBlock=function(t){return this.rsBlockData},r.prototype.getErrorLengthForInterleavedBlock=function(t){return this.rsBlockError},r}(),Wi=function(r){function t(){return r.call(this,!1,1558,620,22,22,36,-1,62)||this}return Xi(t,r),t.prototype.getInterleavedBlockCount=function(){return 10},t.prototype.getDataLengthForInterleavedBlock=function(e){return e<=8?156:155},t}(H),zi=[new H(!1,3,5,8,8,1),new H(!1,5,7,10,10,1),new H(!0,5,7,16,6,1),new H(!1,8,10,12,12,1),new H(!0,10,11,14,6,2),new H(!1,12,12,14,14,1),new H(!0,16,14,24,10,1),new H(!1,18,14,16,16,1),new H(!1,22,18,18,18,1),new H(!0,22,18,16,10,2),new H(!1,30,20,20,20,1),new H(!0,32,24,16,14,2),new H(!1,36,24,22,22,1),new H(!1,44,28,24,24,1),new H(!0,49,28,22,14,2),new H(!1,62,36,14,14,4),new H(!1,86,42,16,16,4),new H(!1,114,48,18,18,4),new H(!1,144,56,20,20,4),new H(!1,174,68,22,22,4),new H(!1,204,84,24,24,4,102,42),new H(!1,280,112,14,14,16,140,56),new H(!1,368,144,16,16,16,92,36),new H(!1,456,192,18,18,16,114,48),new H(!1,576,224,20,20,16,144,56),new H(!1,696,272,22,22,16,174,68),new H(!1,816,336,24,24,16,136,56),new H(!1,1050,408,18,18,36,175,68),new H(!1,1304,496,20,20,36,163,62),new Wi],ji=function(){function r(t){this.msg=t,this.pos=0,this.skipAtEnd=0;for(var e=t.split("").map(function(s){return s.charCodeAt(0)}),n=new B,o=0,i=e.length;othis.symbolInfo.getDataCapacity())&&(this.symbolInfo=H.lookup(t,this.shape,this.minSize,this.maxSize,!0))},r.prototype.resetSymbolInfo=function(){this.symbolInfo=null},r}(),Yi=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Zi=function(r){function t(){return r!==null&&r.apply(this,arguments)||this}return Yi(t,r),t.prototype.getEncodingMode=function(){return 3},t.prototype.encode=function(e){for(var n=new B;e.hasMoreCharacters();){var o=e.getCurrentChar();if(e.pos++,this.encodeChar(o,n),n.length()%3==0&&(this.writeNextTriplet(e,n),L.lookAheadTest(e.getMessage(),e.pos,this.getEncodingMode())!==this.getEncodingMode())){e.signalEncoderChange(0);break}}this.handleEOD(e,n)},t.prototype.encodeChar=function(e,n){switch(e){case 13:n.append(0);break;case"*".charCodeAt(0):n.append(1);break;case">".charCodeAt(0):n.append(2);break;case" ".charCodeAt(0):n.append(3);break;default:e>="0".charCodeAt(0)&&e<="9".charCodeAt(0)?n.append(e-48+4):e>="A".charCodeAt(0)&&e<="Z".charCodeAt(0)?n.append(e-65+14):L.illegalCharacter(F.getCharAt(e))}return 1},t.prototype.handleEOD=function(e,n){e.updateSymbolInfo();var o=e.getSymbolInfo().getDataCapacity()-e.getCodewordCount(),i=n.length();e.pos-=i,(e.getRemainingCharacters()>1||o>1||e.getRemainingCharacters()!==o)&&e.writeCodeword(254),e.getNewEncoding()<0&&e.signalEncoderChange(0)},t}(Xe),Ki=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),qi=function(r){function t(){return r!==null&&r.apply(this,arguments)||this}return Ki(t,r),t.prototype.getEncodingMode=function(){return 2},t.prototype.encodeChar=function(e,n){if(e===" ".charCodeAt(0))return n.append(3),1;if(e>="0".charCodeAt(0)&&e<="9".charCodeAt(0))return n.append(e-48+4),1;if(e>="a".charCodeAt(0)&&e<="z".charCodeAt(0))return n.append(e-97+14),1;if(e<" ".charCodeAt(0))return n.append(0),n.append(e),2;if(e<="/".charCodeAt(0))return n.append(1),n.append(e-33),2;if(e<="@".charCodeAt(0))return n.append(1),n.append(e-58+15),2;if(e>="[".charCodeAt(0)&&e<="_".charCodeAt(0))return n.append(1),n.append(e-91+22),2;if(e==="`".charCodeAt(0))return n.append(2),n.append(0),2;if(e<="Z".charCodeAt(0))return n.append(2),n.append(e-65+1),2;if(e<=127)return n.append(2),n.append(e-123+27),2;n.append("1");var o=2;return o+=this.encodeChar(e-128,n)},t}(Xe),Qi=function(){function r(){}return r.randomize253State=function(t){var e=129+(149*t%253+1);return e<=254?e:e-254},r.encodeHighLevel=function(t,e,n,o,i){e===void 0&&(e=0),n===void 0&&(n=null),o===void 0&&(o=null),i===void 0&&(i=!1);var a=new Xe,s=[new Vi,a,new qi,new Zi,new Ui,new Hi],u=new ji(t);u.setSymbolShape(e),u.setSizeConstraints(n,o),t.startsWith(kr)&&t.endsWith(se)?(u.writeCodeword(236),u.setSkipAtEnd(2),u.pos+=7):t.startsWith(Vr)&&t.endsWith(se)&&(u.writeCodeword(237),u.setSkipAtEnd(2),u.pos+=7);var c=0;for(i&&(a.encodeMaximal(u),c=u.getNewEncoding(),u.resetEncoderSignal());u.hasMoreCharacters();)s[c].encode(u),u.getNewEncoding()>=0&&(c=u.getNewEncoding(),u.resetEncoderSignal());var f=u.getCodewordCount();u.updateSymbolInfo();var h=u.getSymbolInfo().getDataCapacity();f=t.length)return n;var o;n===0?o=[0,1,1,1,1,1.25]:(o=[1,2,2,2,2,2.25])[n]=0;for(var i=0,a=new Uint8Array(6),s=[];;){if(e+i===t.length){$.fill(a,0),$.fill(s,0);var u=this.findMinimums(o,s,P.MAX_VALUE,a),c=this.getMinimumCount(a);if(s[0]===u)return 0;if(c===1){if(a[5]>0)return 5;if(a[4]>0)return 4;if(a[2]>0)return 2;if(a[3]>0)return 3}return 1}var f=t.charCodeAt(e+i);if(i++,this.isDigit(f)?o[0]+=.5:this.isExtendedASCII(f)?(o[0]=Math.ceil(o[0]),o[0]+=2):(o[0]=Math.ceil(o[0]),o[0]++),this.isNativeC40(f)?o[1]+=2/3:this.isExtendedASCII(f)?o[1]+=8/3:o[1]+=4/3,this.isNativeText(f)?o[2]+=2/3:this.isExtendedASCII(f)?o[2]+=8/3:o[2]+=4/3,this.isNativeX12(f)?o[3]+=2/3:this.isExtendedASCII(f)?o[3]+=13/3:o[3]+=10/3,this.isNativeEDIFACT(f)?o[4]+=3/4:this.isExtendedASCII(f)?o[4]+=4.25:o[4]+=3.25,this.isSpecialB256(f)?o[5]+=4:o[5]++,i>=4){if($.fill(a,0),$.fill(s,0),this.findMinimums(o,s,P.MAX_VALUE,a),s[0]a&&(n=a,$.fill(o,0)),n===a&&(o[i]=o[i]+1)}return n},r.getMinimumCount=function(t){for(var e=0,n=0;n<6;n++)e+=t[n];return e||0},r.isDigit=function(t){return t>="0".charCodeAt(0)&&t<="9".charCodeAt(0)},r.isExtendedASCII=function(t){return t>=128&&t<=255},r.isNativeC40=function(t){return t===" ".charCodeAt(0)||t>="0".charCodeAt(0)&&t<="9".charCodeAt(0)||t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0)},r.isNativeText=function(t){return t===" ".charCodeAt(0)||t>="0".charCodeAt(0)&&t<="9".charCodeAt(0)||t>="a".charCodeAt(0)&&t<="z".charCodeAt(0)},r.isNativeX12=function(t){return this.isX12TermSep(t)||t===" ".charCodeAt(0)||t>="0".charCodeAt(0)&&t<="9".charCodeAt(0)||t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0)},r.isX12TermSep=function(t){return t===13||t==="*".charCodeAt(0)||t===">".charCodeAt(0)},r.isNativeEDIFACT=function(t){return t>=" ".charCodeAt(0)&&t<="^".charCodeAt(0)},r.isSpecialB256=function(t){return!1},r.determineConsecutiveDigitCount=function(t,e){e===void 0&&(e=0);for(var n=t.length,o=e;o=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},_r=function(){function r(t){this.charset=t,this.name=t.name}return r.prototype.canEncode=function(t){try{return At.encode(t,this.charset)!=null}catch{return!1}},r}(),Ji=function(){function r(t,e,n){var o,i,a,s,u,c;this.ENCODERS=["IBM437","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1250","windows-1251","windows-1252","windows-1256","Shift_JIS"].map(function(M){return new _r(Ue.forName(M))}),this.encoders=[];var f=[];f.push(new _r(xr.ISO_8859_1));for(var h=e!=null&&e.name.startsWith("UTF"),l=0;l=this.bytes.length)return!1;for(var n=0;n=this.length())throw new Error(""+t);if(this.isECI(t))throw new Error("value at "+t+" is not a character but an ECI");return this.isFNC1(t)?this.fnc1:this.bytes[t]},r.prototype.subSequence=function(t,e){if(t<0||t>e||e>this.length())throw new Error(""+t);for(var n=new B,o=t;o=this.length())throw new Error(""+t);return this.bytes[t]>255&&this.bytes[t]<=999},r.prototype.isFNC1=function(t){if(t<0||t>=this.length())throw new Error(""+t);return this.bytes[t]===1e3},r.prototype.getECIValue=function(t){if(t<0||t>=this.length())throw new Error(""+t);if(!this.isECI(t))throw new Error("value at "+t+" is not an ECI but a character");return this.bytes[t]-256},r.prototype.addEdge=function(t,e,n){(t[e][n.encoderIndex]==null||t[e][n.encoderIndex].cachedTotalSize>n.cachedTotalSize)&&(t[e][n.encoderIndex]=n)},r.prototype.addEdges=function(t,e,n,o,i,a){var s=t.charAt(o).charCodeAt(0),u=0,c=e.length();e.getPriorityEncoderIndex()>=0&&(s===a||e.canEncode(s,e.getPriorityEncoderIndex()))&&(c=(u=e.getPriorityEncoderIndex())+1);for(var f=u;f=0;a--)h.unshift(255&d[a])}(l.previous===null?0:l.previous.encoderIndex)!==l.encoderIndex&&h.unshift(256+e.getECIValue(l.encoderIndex)),l=l.previous}var p=[];for(a=0;a=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ea=function(r,t){var e=typeof Symbol=="function"&&r[Symbol.iterator];if(!e)return r;var n,o,i=e.call(r),a=[];try{for(;(t===void 0||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(s){o={error:s}}finally{try{n&&!n.done&&(e=i.return)&&e.call(i)}finally{if(o)throw o.error}}return a},ra=function(){for(var r=[],t=0;t","?","@","[","\\","]","^","_"],pt=function(){function r(){}return r.isExtendedASCII=function(t,e){return t!==e&&t>=128&&t<=255},r.isInC40Shift1Set=function(t){return t<=31},r.isInC40Shift2Set=function(t,e){var n,o;try{for(var i=Yt(na),a=i.next();!a.done;a=i.next())if(a.value.charCodeAt(0)===t)return!0}catch(s){n={error:s}}finally{try{a&&!a.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}return t===e},r.isInTextShift1Set=function(t){return this.isInC40Shift1Set(t)},r.isInTextShift2Set=function(t,e){return this.isInC40Shift2Set(t,e)},r.encodeHighLevel=function(t,e,n,o){e===void 0&&(e=null),n===void 0&&(n=-1),o===void 0&&(o=0);var i=0;return t.startsWith(kr)&&t.endsWith(se)?(i=5,t=t.substring(7,t.length-2)):t.startsWith(Vr)&&t.endsWith(se)&&(i=6,t=t.substring(7,t.length-2)),decodeURIComponent(escape(String.fromCharCode.apply(String,ra(this.encode(t,e,n,o,i)))))},r.encode=function(t,e,n,o,i){return this.encodeMinimally(new ia(t,e,n,o,i)).getBytes()},r.addEdge=function(t,e){var n=e.fromPosition+e.characterLength;(t[n][e.getEndMode()]===null||t[n][e.getEndMode()].cachedTotalSize>e.cachedTotalSize)&&(t[n][e.getEndMode()]=e)},r.getNumberOfC40Words=function(t,e,n,o){for(var i=0,a=e;a=128&&(n&&L.isNativeC40(u-128)||!n&&L.isNativeText(u-128))?i+=3:i+=4}else i+=2;if(i%3==0||(i-2)%3==0&&a+1===t.length())return o[0]=a-e+1,Math.ceil(i/3)}return o[0]=0,0},r.addEdges=function(t,e,n,o){var i,a;if(t.isECI(n))this.addEdge(e,new vt(t,b.ASCII,n,1,o));else{var s,u=t.charAt(n);if(o===null||o.getEndMode()!==b.EDF){L.isDigit(u)&&t.haveNCharacters(n,2)&&L.isDigit(t.charAt(n+1))?this.addEdge(e,new vt(t,b.ASCII,n,2,o)):this.addEdge(e,new vt(t,b.ASCII,n,1,o));var c=[b.C40,b.TEXT];try{for(var f=Yt(c),h=f.next();!h.done;h=f.next()){var l=h.value,d=[];r.getNumberOfC40Words(t,n,l===b.C40,d)>0&&this.addEdge(e,new vt(t,l,n,d[0],o))}}catch(y){i={error:y}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(i)throw i.error}}t.haveNCharacters(n,3)&&L.isNativeX12(t.charAt(n))&&L.isNativeX12(t.charAt(n+1))&&L.isNativeX12(t.charAt(n+2))&&this.addEdge(e,new vt(t,b.X12,n,3,o)),this.addEdge(e,new vt(t,b.B256,n,1,o))}for(s=0;s<3;s++){var p=n+s;if(!t.haveNCharacters(p,1)||!L.isNativeEDIFACT(t.charAt(p)))break;this.addEdge(e,new vt(t,b.EDF,n,s+1,o))}s===3&&t.haveNCharacters(n,4)&&L.isNativeEDIFACT(t.charAt(n+3))&&this.addEdge(e,new vt(t,b.EDF,n,4,o))}},r.encodeMinimally=function(t){var e=t.length(),n=Array(e+1).fill(null).map(function(){return Array(6).fill(0)});this.addEdges(t,n,0,null);for(var o=1;o<=e;o++){for(var i=0;i<6;i++)n[o][i]!==null&&o=1&&i<=3?u.cachedTotalSize+1:u.cachedTotalSize;c0&&(n+=this.prepend(vt.getBytes(232),o));for(var u=0;u=0;n--)e.unshift(t[n]);return t.length},r.prototype.randomize253State=function(t){var e=129+(149*t%253+1);return e<=254?e:e-254},r.prototype.applyRandomPattern=function(t,e,n){for(var o=0;o0&&this.getCodewordsRemaining(this.cachedTotalSize+t)<=2-t))return b.ASCII;if(this.mode===b.C40||this.mode===b.TEXT||this.mode===b.X12){if(this.fromPosition+this.characterLength>=this.input.length()&&this.getCodewordsRemaining(this.cachedTotalSize)===0)return b.ASCII;var t;if((t=this.getLastASCII())===1&&this.getCodewordsRemaining(this.cachedTotalSize+1)===0)return b.ASCII}return this.mode},r.prototype.getMode=function(){return this.mode},r.prototype.getLastASCII=function(){var t=this.input.length(),e=this.fromPosition+this.characterLength;return t-e>4||e>=t?0:t-e==1?pt.isExtendedASCII(this.input.charAt(e),this.input.getFNC1Character())?0:1:t-e==2?pt.isExtendedASCII(this.input.charAt(e),this.input.getFNC1Character())||pt.isExtendedASCII(this.input.charAt(e+1),this.input.getFNC1Character())?0:L.isDigit(this.input.charAt(e))&&L.isDigit(this.input.charAt(e+1))?1:2:t-e==3?L.isDigit(this.input.charAt(e))&&L.isDigit(this.input.charAt(e+1))&&!pt.isExtendedASCII(this.input.charAt(e+2),this.input.getFNC1Character())||L.isDigit(this.input.charAt(e+1))&&L.isDigit(this.input.charAt(e+2))&&!pt.isExtendedASCII(this.input.charAt(e),this.input.getFNC1Character())?2:0:L.isDigit(this.input.charAt(e))&&L.isDigit(this.input.charAt(e+1))&&L.isDigit(this.input.charAt(e+2))&&L.isDigit(this.input.charAt(e+3))?2:0},r.prototype.getMinSymbolSize=function(t){var e,n,o,i,a,s;switch(this.input.getShapeHint()){case 1:try{for(var u=Yt(this.squareCodewordCapacities),c=u.next();!c.done;c=u.next())if((p=c.value)>=t)return p}catch(y){e={error:y}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(e)throw e.error}}break;case 2:try{for(var f=Yt(this.rectangularCodewordCapacities),h=f.next();!h.done;h=f.next())if((p=h.value)>=t)return p}catch(y){o={error:y}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(o)throw o.error}}}try{for(var l=Yt(this.allCodewordCapacities),d=l.next();!d.done;d=l.next()){var p;if((p=d.value)>=t)return p}}catch(y){a={error:y}}finally{try{d&&!d.done&&(s=l.return)&&s.call(l)}finally{if(a)throw a.error}}return this.allCodewordCapacities[this.allCodewordCapacities.length-1]},r.prototype.getCodewordsRemaining=function(t){return this.getMinSymbolSize(t)-t},r.getBytes=function(t,e){var n=new Uint8Array(e?2:1);return n[0]=t,e&&(n[1]=e),n},r.prototype.setC40Word=function(t,e,n,o,i){var a=1600*(255&n)+40*(255&o)+(255&i)+1;t[e]=a/256,t[e+1]=a%256},r.prototype.getX12Value=function(t){return t===13?0:t===42?1:t===62?2:t===32?3:t>=48&&t<=57?t-44:t>=65&&t<=90?t-51:t},r.prototype.getX12Words=function(){if(this.characterLength%3!=0)throw new Error("X12 words must be a multiple of 3");for(var t=new Uint8Array(this.characterLength/3*2),e=0;e=33&&n<=47?n-33:n>=48&&n<=57?n-44:n>=58&&n<=64?n-43:n>=65&&n<=90?n-64:n>=91&&n<=95?n-69:n===96?0:n>=97&&n<=122?n-83:n>=123&&n<=127?n-96:n},r.prototype.getC40Words=function(t,e){for(var n=[],o=0;o>16&255,e[i+1]=u>>8&255,e[i+2]=255&u}return e},r.prototype.getLatchBytes=function(){switch(this.getPreviousMode()){case b.ASCII:case b.B256:switch(this.mode){case b.B256:return r.getBytes(231);case b.C40:return r.getBytes(230);case b.TEXT:return r.getBytes(239);case b.X12:return r.getBytes(238);case b.EDF:return r.getBytes(240)}break;case b.C40:case b.TEXT:case b.X12:if(this.mode!==this.getPreviousMode())switch(this.mode){case b.ASCII:return r.getBytes(254);case b.B256:return r.getBytes(254,231);case b.C40:return r.getBytes(254,230);case b.TEXT:return r.getBytes(254,239);case b.X12:return r.getBytes(254,238);case b.EDF:return r.getBytes(254,240)}break;case b.EDF:if(this.mode!==b.EDF)throw new Error("Cannot switch from EDF to "+this.mode)}return new Uint8Array(0)},r.prototype.getDataBytes=function(){switch(this.mode){case b.ASCII:return this.input.isECI(this.fromPosition)?r.getBytes(241,this.input.getECIValue(this.fromPosition)+1):pt.isExtendedASCII(this.input.charAt(this.fromPosition),this.input.getFNC1Character())?r.getBytes(235,this.input.charAt(this.fromPosition)-127):this.characterLength===2?r.getBytes(10*this.input.charAt(this.fromPosition)+this.input.charAt(this.fromPosition+1)+130):this.input.isFNC1(this.fromPosition)?r.getBytes(232):r.getBytes(this.input.charAt(this.fromPosition)+1);case b.B256:return r.getBytes(this.input.charAt(this.fromPosition));case b.C40:return this.getC40Words(!0,this.input.getFNC1Character());case b.TEXT:return this.getC40Words(!1,this.input.getFNC1Character());case b.X12:return this.getX12Words();case b.EDF:return this.getEDFBytes()}},r}(),ia=function(r){function t(e,n,o,i,a){var s=r.call(this,e,n,o)||this;return s.shape=i,s.macroId=a,s}return ta(t,r),t.prototype.getMacroId=function(){return this.macroId},t.prototype.getShapeHint=function(){return this.shape},t}($i),Na=function(){function r(){}return r.prototype.encode=function(t,e,n,o,i){if(i===void 0&&(i=null),t.trim()==="")throw new Error("Found empty contents");if(e!==D.DATA_MATRIX)throw new Error("Can only encode DATA_MATRIX, but got "+e);if(n<0||o<0)throw new Error("Requested dimensions can't be negative: "+n+"x"+o);var a,s=0,u=null,c=null;if(i!=null){var f=i.get(j.DATA_MATRIX_SHAPE);f!=null&&(s=f);var h=i.get(j.MIN_SIZE);h!=null&&(u=h);var l=i.get(j.MAX_SIZE);l!=null&&(c=l)}if(i!=null&&i.has(j.DATA_MATRIX_COMPACT)&&i.get(j.DATA_MATRIX_COMPACT).toString()){var d=i.has(j.GS1_FORMAT)&&!!i.get(j.GS1_FORMAT).toString(),p=null;i.has(j.CHARACTER_SET)&&(p=Ue.forName(i.get(j.CHARACTER_SET).toString())),a=pt.encodeHighLevel(t,p,d?29:-1,s)}else{var y=i!=null&&i.has(j.FORCE_C40)&&!!i.get(j.FORCE_C40).toString();a=L.encodeHighLevel(t,s,u,c,y)}var C=H.lookup(a.length,s,u,c,!0),w=ki.encodeECC200(a,C),v=new Fi(w,C.getSymbolDataWidth(),C.getSymbolDataHeight());return v.place(),this.encodeLowLevel(v,C,n,o)},r.prototype.encodeLowLevel=function(t,e,n,o){for(var i=e.getSymbolDataWidth(),a=e.getSymbolDataHeight(),s=new Lr(e.getSymbolWidth(),e.getSymbolHeight()),u=0,c=0;c"},t}(sa),ca=function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var i in o)o.hasOwnProperty(i)&&(n[i]=o[i])},r(t,e)};return function(t,e){function n(){this.constructor=t}r(t,e),t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),fa=function(r){function t(e,n,o){var i=r.call(this,e,0,0)||this;return i.binaryShiftStart=n,i.binaryShiftByteCount=o,i}return ca(t,r),t.prototype.appendTo=function(e,n){for(var o=0;o62?e.appendBits(this.binaryShiftByteCount-31,16):o===0?e.appendBits(Math.min(this.binaryShiftByteCount,31),5):e.appendBits(this.binaryShiftByteCount-31,5)),e.appendBits(n[this.binaryShiftStart+o],8)},t.prototype.addBinaryShift=function(e,n){return new t(this,e,n)},t.prototype.toString=function(){return"<"+this.binaryShiftStart+"::"+(this.binaryShiftStart+this.binaryShiftByteCount-1)+">"},t}(Ge);function Xt(r,t,e){return new Ge(r,t,e)}var ha=["UPPER","LOWER","DIGIT","MIXED","PUNCT"],la=new Ge(null,0,0),Ce=[Int32Array.from([0,327708,327710,327709,656318]),Int32Array.from([590318,0,327710,327709,656318]),Int32Array.from([262158,590300,0,590301,932798]),Int32Array.from([327709,327708,656318,0,327710]),Int32Array.from([327711,656380,656382,656381,0])],da=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Hr=function(r){var t,e;try{for(var n=da(r),o=n.next();!o.done;o=n.next()){var i=o.value;$.fill(i,-1)}}catch(a){t={error:a}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return r[0][4]=0,r[1][4]=0,r[1][0]=28,r[3][4]=0,r[2][4]=0,r[2][0]=15,r}($.createInt32Array(6,6)),pa=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ga=function(){function r(t,e,n,o){this.token=t,this.mode=e,this.binaryShiftByteCount=n,this.bitCount=o}return r.prototype.getMode=function(){return this.mode},r.prototype.getToken=function(){return this.token},r.prototype.getBinaryShiftByteCount=function(){return this.binaryShiftByteCount},r.prototype.getBitCount=function(){return this.bitCount},r.prototype.latchAndAppend=function(t,e){var n=this.bitCount,o=this.token;if(t!==this.mode){var i=Ce[this.mode][t];o=Xt(o,65535&i,i>>16),n+=i>>16}var a=t===2?4:5;return new r(o=Xt(o,e,a),t,0,n+a)},r.prototype.shiftAndAppend=function(t,e){var n=this.token,o=this.mode===2?4:5;return n=Xt(n,Hr[this.mode][t],o),new r(n=Xt(n,e,5),this.mode,0,this.bitCount+o+5)},r.prototype.addBinaryShiftChar=function(t){var e=this.token,n=this.mode,o=this.bitCount;if(this.mode===4||this.mode===2){var i=Ce[n][0];e=Xt(e,65535&i,i>>16),o+=i>>16,n=0}var a=this.binaryShiftByteCount===0||this.binaryShiftByteCount===31?18:this.binaryShiftByteCount===62?9:8,s=new r(e,n,this.binaryShiftByteCount+1,o+a);return s.binaryShiftByteCount===2078&&(s=s.endBinaryShift(t+1)),s},r.prototype.endBinaryShift=function(t){if(this.binaryShiftByteCount===0)return this;var e=this.token;return new r(e=function(n,o,i){return new fa(n,o,i)}(e,t-this.binaryShiftByteCount,this.binaryShiftByteCount),this.mode,0,this.bitCount)},r.prototype.isBetterThanOrEqualTo=function(t){var e=this.bitCount+(Ce[this.mode][t.mode]>>16);return this.binaryShiftByteCountt.binaryShiftByteCount&&t.binaryShiftByteCount>0&&(e+=10),e<=t.bitCount},r.prototype.toBitArray=function(t){for(var e,n,o=[],i=this.endBinaryShift(t.length).token;i!==null;i=i.getPrevious())o.unshift(i);var a=new st;try{for(var s=pa(o),u=s.next();!u.done;u=s.next())u.value.appendTo(a,t)}catch(c){e={error:c}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}return a},r.prototype.toString=function(){return F.format("%s bits=%d bytes=%d",ha[this.mode],this.bitCount,this.binaryShiftByteCount)},r.calculateBinaryShiftCost=function(t){return t.binaryShiftByteCount>62?21:t.binaryShiftByteCount>31?20:t.binaryShiftByteCount>0?10:0},r.INITIAL_STATE=new r(la,0,0,0),r}(),ve=function(r){var t=F.getCharCode(" "),e=F.getCharCode("."),n=F.getCharCode(",");r[0][t]=1;for(var o=F.getCharCode("Z"),i=F.getCharCode("A"),a=i;a<=o;a++)r[0][a]=a-i+2;r[1][t]=1;var s=F.getCharCode("z"),u=F.getCharCode("a");for(a=u;a<=s;a++)r[1][a]=a-u+2;r[2][t]=1;var c=F.getCharCode("9"),f=F.getCharCode("0");for(a=f;a<=c;a++)r[2][a]=a-f+2;r[2][n]=12,r[2][e]=13;for(var h=["\0"," ","","","","","","","\x07","\b"," ",` +`,"\v","\f","\r","\x1B","","","","","@","\\","^","_","`","|","~","\x7F"],l=0;l","?","[","]","{","}"];for(l=0;l0&&(r[4][F.getCharCode(d[l])]=l);return r}($.createInt32Array(5,256)),re=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ya=function(){function r(t){this.text=t}return r.prototype.encode=function(){for(var t=F.getCharCode(" "),e=F.getCharCode(` +`),n=Er.singletonList(ga.INITIAL_STATE),o=0;o0?(n=r.updateStateListForPair(n,o,i),o++):n=this.updateStateListForChar(n,o)}return Er.min(n,function(s,u){return s.getBitCount()-u.getBitCount()}).toBitArray(this.text)},r.prototype.updateStateListForChar=function(t,e){var n,o,i=[];try{for(var a=re(t),s=a.next();!s.done;s=a.next()){var u=s.value;this.updateStateForChar(u,e,i)}}catch(c){n={error:c}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}return r.simplifyStates(i)},r.prototype.updateStateForChar=function(t,e,n){for(var o=255&this.text[e],i=ve[t.getMode()][o]>0,a=null,s=0;s<=4;s++){var u=ve[s][o];if(u>0){if(a==null&&(a=t.endBinaryShift(e)),!i||s===t.getMode()||s===2){var c=a.latchAndAppend(s,u);n.push(c)}if(!i&&Hr[t.getMode()][s]>=0){var f=a.shiftAndAppend(s,u);n.push(f)}}}if(t.getBinaryShiftByteCount()>0||ve[t.getMode()][o]===0){var h=t.addBinaryShiftChar(e);n.push(h)}},r.updateStateListForPair=function(t,e,n){var o,i,a=[];try{for(var s=re(t),u=s.next();!u.done;u=s.next()){var c=u.value;this.updateStateForPair(c,e,n,a)}}catch(f){o={error:f}}finally{try{u&&!u.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}return this.simplifyStates(a)},r.updateStateForPair=function(t,e,n,o){var i=t.endBinaryShift(e);if(o.push(i.latchAndAppend(4,n)),t.getMode()!==4&&o.push(i.shiftAndAppend(4,n)),n===3||n===4){var a=i.latchAndAppend(2,16-n).latchAndAppend(2,1);o.push(a)}if(t.getBinaryShiftByteCount()>0){var s=t.addBinaryShiftChar(e).addBinaryShiftChar(e+1);o.push(s)}},r.simplifyStates=function(t){var e,n,o,i,a=[];try{for(var s=re(t),u=s.next();!u.done;u=s.next()){var c=u.value,f=!0,h=function(p){if(p.isBetterThanOrEqualTo(c))return f=!1,"break";c.isBetterThanOrEqualTo(p)&&(a=a.filter(function(y){return y!==p}))};try{for(var l=(o=void 0,re(a)),d=l.next();!d.done&&h(d.value)!=="break";d=l.next());}catch(p){o={error:p}}finally{try{d&&!d.done&&(i=l.return)&&i.call(l)}finally{if(o)throw o.error}}f&&a.push(c)}}catch(p){e={error:p}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}return a},r}(),wa=function(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},Ae=function(){function r(){}return r.encodeBytes=function(t){return r.encode(t,r.DEFAULT_EC_PERCENT,r.DEFAULT_AZTEC_LAYERS)},r.encode=function(t,e,n){var o,i,a,s,u,c=new ya(t).encode(),f=P.truncDivision(c.getSize()*e,100)+11,h=c.getSize()+f;if(n!==r.DEFAULT_AZTEC_LAYERS){if(o=n<0,(i=Math.abs(n))>(o?r.MAX_NB_BITS_COMPACT:r.MAX_NB_BITS))throw new N(F.format("Illegal value %s for layers",n));var l=(a=r.totalBitsInLayer(i,o))-a%(s=r.WORD_SIZE[i]);if((u=r.stuffBits(c,s)).getSize()+f>l)throw new N("Data to large for user specified layer");if(o&&u.getSize()>64*s)throw new N("Data to large for user specified layer")}else{s=0,u=null;for(var d=0;;d++){if(d>r.MAX_NB_BITS)throw new N("Data too large for an Aztec code");if(i=(o=d<=3)?d+1:d,!(h>(a=r.totalBitsInLayer(i,o)))&&(u!=null&&s===r.WORD_SIZE[i]||(s=r.WORD_SIZE[i],u=r.stuffBits(c,s)),l=a-a%s,!(o&&u.getSize()>64*s)&&u.getSize()+f<=l))break}}var p,y=r.generateCheckWords(u,a,s),C=u.getSize()/s,w=r.generateModeMessage(o,i,C),v=(o?11:14)+4*i,_=new Int32Array(v);if(o)for(p=v,d=0;d<_.length;d++)_[d]=d;else{p=v+1+2*P.truncDivision(P.truncDivision(v,2)-1,15);var m=P.truncDivision(v,2),I=P.truncDivision(p,2);for(d=0;d=o||t.get(a+u))&&(s|=1<