@vansite/ts-sharetribe-flex-sdk 1.0.33 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/endpoints/assets/index.d.ts +47 -0
- package/dist/endpoints/auth/index.d.ts +45 -0
- package/dist/endpoints/integrationApi/AvailabilityExceptions.d.ts +66 -0
- package/dist/endpoints/integrationApi/Events.d.ts +43 -0
- package/dist/endpoints/integrationApi/Images.d.ts +36 -0
- package/dist/endpoints/integrationApi/Listings.d.ts +87 -0
- package/dist/endpoints/integrationApi/Marketplace.d.ts +30 -0
- package/dist/endpoints/integrationApi/Stock.d.ts +42 -0
- package/dist/endpoints/integrationApi/StockAdjustments.d.ts +64 -0
- package/dist/{types/endpoints/integrationApi/StockReservation.d.ts → endpoints/integrationApi/StockReservations.d.ts} +3 -4
- package/dist/endpoints/integrationApi/Transactions.d.ts +76 -0
- package/dist/endpoints/integrationApi/Users.d.ts +72 -0
- package/dist/endpoints/integrationApi/index.d.ts +58 -0
- package/dist/endpoints/marketplace/AvailabilityExceptions.d.ts +69 -0
- package/dist/endpoints/marketplace/Bookings.d.ts +45 -0
- package/dist/endpoints/marketplace/CurrentUser.d.ts +110 -0
- package/dist/endpoints/marketplace/Images.d.ts +38 -0
- package/dist/endpoints/marketplace/Listings.d.ts +52 -0
- package/dist/endpoints/marketplace/Marketplace.d.ts +33 -0
- package/dist/endpoints/marketplace/Messages.d.ts +51 -0
- package/dist/endpoints/marketplace/OwnListings.d.ts +116 -0
- package/dist/endpoints/marketplace/PasswordReset.d.ts +50 -0
- package/dist/endpoints/marketplace/ProcessTransitions.d.ts +42 -0
- package/dist/endpoints/marketplace/Reviews.d.ts +49 -0
- package/dist/endpoints/marketplace/Stock.d.ts +50 -0
- package/dist/endpoints/marketplace/StockAdjustments.d.ts +64 -0
- package/dist/endpoints/marketplace/StripeAccount.d.ts +56 -0
- package/dist/endpoints/marketplace/StripeAccountLinks.d.ts +42 -0
- package/dist/endpoints/marketplace/StripeCustomer.d.ts +62 -0
- package/dist/endpoints/marketplace/StripePersons.d.ts +37 -0
- package/dist/endpoints/marketplace/StripeSetupIntents.d.ts +42 -0
- package/dist/endpoints/marketplace/TimeSlots.d.ts +40 -0
- package/dist/endpoints/marketplace/Transactions.d.ts +89 -0
- package/dist/endpoints/marketplace/Users.d.ts +34 -0
- package/dist/endpoints/marketplace/index.d.ts +80 -0
- package/dist/index.d.ts +161 -0
- package/dist/index.js +3 -0
- package/dist/{ts-sharetribe-flex-sdk.cjs.LICENSE.txt → index.js.LICENSE.txt} +53 -41
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +3 -0
- package/dist/{ts-sharetribe-flex-sdk.js.LICENSE.txt → index.mjs.LICENSE.txt} +13 -5
- package/dist/index.mjs.map +1 -0
- package/dist/index.umd.js +3 -0
- package/dist/{ts-sharetribe-flex-sdk.mjs.LICENSE.txt → index.umd.js.LICENSE.txt} +13 -5
- package/dist/index.umd.js.map +1 -0
- package/dist/integrationSdk.d.ts +119 -0
- package/dist/sdk.d.ts +211 -0
- package/dist/sdkTypes/BigDecimal.d.ts +30 -0
- package/dist/sdkTypes/LatLng.d.ts +34 -0
- package/dist/sdkTypes/LatLngBounds.d.ts +51 -0
- package/dist/sdkTypes/Money.d.ts +28 -0
- package/dist/sdkTypes/UUID.d.ts +38 -0
- package/dist/types/apiConfigs.d.ts +104 -0
- package/dist/types/assets/index.d.ts +101 -0
- package/dist/types/authentication/index.d.ts +152 -0
- package/dist/types/axios.d.ts +10 -0
- package/dist/types/config.d.ts +99 -0
- package/dist/types/endpoints/assets/index.d.ts +22 -36
- package/dist/types/endpoints/assets/index.d.ts.map +1 -1
- package/dist/types/endpoints/auth/index.d.ts +20 -41
- package/dist/types/endpoints/auth/index.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/AvailabilityExceptions.d.ts +30 -49
- package/dist/types/endpoints/integrationApi/AvailabilityExceptions.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Events.d.ts +23 -27
- package/dist/types/endpoints/integrationApi/Events.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Images.d.ts +17 -28
- package/dist/types/endpoints/integrationApi/Images.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Listings.d.ts +42 -104
- package/dist/types/endpoints/integrationApi/Listings.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Marketplace.d.ts +12 -20
- package/dist/types/endpoints/integrationApi/Marketplace.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Stock.d.ts +22 -28
- package/dist/types/endpoints/integrationApi/Stock.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/StockAdjustments.d.ts +35 -35
- package/dist/types/endpoints/integrationApi/StockAdjustments.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/StockReservations.d.ts +43 -0
- package/dist/types/endpoints/integrationApi/StockReservations.d.ts.map +1 -0
- package/dist/types/endpoints/integrationApi/Transactions.d.ts +36 -80
- package/dist/types/endpoints/integrationApi/Transactions.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Users.d.ts +35 -70
- package/dist/types/endpoints/integrationApi/Users.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/index.d.ts +40 -40
- package/dist/types/endpoints/integrationApi/index.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/AvailabilityExceptions.d.ts +34 -48
- package/dist/types/endpoints/marketplace/AvailabilityExceptions.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Bookings.d.ts +24 -23
- package/dist/types/endpoints/marketplace/Bookings.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/CurrentUser.d.ts +54 -125
- package/dist/types/endpoints/marketplace/CurrentUser.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Images.d.ts +19 -27
- package/dist/types/endpoints/marketplace/Images.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Listings.d.ts +26 -25
- package/dist/types/endpoints/marketplace/Listings.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Marketplace.d.ts +15 -19
- package/dist/types/endpoints/marketplace/Marketplace.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Messages.d.ts +24 -29
- package/dist/types/endpoints/marketplace/Messages.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/OwnListings.d.ts +55 -119
- package/dist/types/endpoints/marketplace/OwnListings.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/PasswordReset.d.ts +23 -35
- package/dist/types/endpoints/marketplace/PasswordReset.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/ProcessTransitions.d.ts +22 -22
- package/dist/types/endpoints/marketplace/ProcessTransitions.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Reviews.d.ts +23 -25
- package/dist/types/endpoints/marketplace/Reviews.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Stock.d.ts +30 -26
- package/dist/types/endpoints/marketplace/Stock.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StockAdjustments.d.ts +36 -34
- package/dist/types/endpoints/marketplace/StockAdjustments.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StripeAccount.d.ts +28 -49
- package/dist/types/endpoints/marketplace/StripeAccount.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StripeAccountLinks.d.ts +22 -31
- package/dist/types/endpoints/marketplace/StripeAccountLinks.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StripeCustomer.d.ts +32 -46
- package/dist/types/endpoints/marketplace/StripeCustomer.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StripePersons.d.ts +17 -25
- package/dist/types/endpoints/marketplace/StripePersons.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StripeSetupIntents.d.ts +24 -24
- package/dist/types/endpoints/marketplace/StripeSetupIntents.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/TimeSlots.d.ts +20 -23
- package/dist/types/endpoints/marketplace/TimeSlots.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Transactions.d.ts +45 -81
- package/dist/types/endpoints/marketplace/Transactions.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Users.d.ts +15 -22
- package/dist/types/endpoints/marketplace/Users.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/index.d.ts +50 -40
- package/dist/types/endpoints/marketplace/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +15 -30
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/integration/events.d.ts +87 -0
- package/dist/types/integrationSdk.d.ts +4 -5
- package/dist/types/integrationSdk.d.ts.map +1 -1
- package/dist/types/marketplace/availabilityExceptions.d.ts +99 -0
- package/dist/types/marketplace/availabilityPlan.d.ts +17 -0
- package/dist/types/marketplace/bookings.d.ts +80 -0
- package/dist/types/marketplace/currentUser.d.ts +202 -0
- package/dist/types/marketplace/images.d.ts +65 -0
- package/dist/types/marketplace/listings.d.ts +169 -0
- package/dist/types/marketplace/marketplace.d.ts +30 -0
- package/dist/types/marketplace/messages.d.ts +87 -0
- package/dist/types/marketplace/ownListings.d.ts +155 -0
- package/dist/types/marketplace/passwordReset.d.ts +54 -0
- package/dist/types/marketplace/processTransitions.d.ts +56 -0
- package/dist/types/marketplace/reviews.d.ts +108 -0
- package/dist/types/marketplace/stock.d.ts +45 -0
- package/dist/types/marketplace/stockAdjustment.d.ts +97 -0
- package/dist/types/marketplace/stockReservations.d.ts +89 -0
- package/dist/types/marketplace/stripeAccount.d.ts +67 -0
- package/dist/types/marketplace/stripeAccountLinks.d.ts +55 -0
- package/dist/types/marketplace/stripeCustomer.d.ts +94 -0
- package/dist/types/marketplace/stripePaymentMethod.d.ts +21 -0
- package/dist/types/marketplace/stripePersons.d.ts +48 -0
- package/dist/types/marketplace/stripeSetupIntents.d.ts +48 -0
- package/dist/types/marketplace/timeSlots.d.ts +51 -0
- package/dist/types/marketplace/transactions.d.ts +200 -0
- package/dist/types/marketplace/user.d.ts +200 -0
- package/dist/types/sdk-types.d.ts +10 -0
- package/dist/types/sdk.d.ts +6 -7
- package/dist/types/sdk.d.ts.map +1 -1
- package/dist/types/sdkTypes/BigDecimal.d.ts +1 -1
- package/dist/types/sdkTypes/BigDecimal.d.ts.map +1 -1
- package/dist/types/sdkTypes/LatLng.d.ts +1 -1
- package/dist/types/sdkTypes/LatLng.d.ts.map +1 -1
- package/dist/types/sdkTypes/LatLngBounds.d.ts +1 -1
- package/dist/types/sdkTypes/LatLngBounds.d.ts.map +1 -1
- package/dist/types/sdkTypes/Money.d.ts +1 -1
- package/dist/types/sdkTypes/Money.d.ts.map +1 -1
- package/dist/types/sdkTypes/UUID.d.ts +1 -1
- package/dist/types/sdkTypes/UUID.d.ts.map +1 -1
- package/dist/types/sharetribe.d.ts +227 -0
- package/dist/types/store.d.ts +22 -0
- package/dist/types/types/apiConfigs.d.ts.map +1 -1
- package/dist/types/types/assets/index.d.ts +74 -36
- package/dist/types/types/assets/index.d.ts.map +1 -1
- package/dist/types/types/authentication/index.d.ts +111 -60
- package/dist/types/types/authentication/index.d.ts.map +1 -1
- package/dist/types/types/axios.d.ts.map +1 -1
- package/dist/types/types/config.d.ts +1 -39
- package/dist/types/types/config.d.ts.map +1 -1
- package/dist/types/types/integration/events.d.ts +52 -20
- package/dist/types/types/integration/events.d.ts.map +1 -1
- package/dist/types/types/marketplace/availabilityExceptions.d.ts +59 -16
- package/dist/types/types/marketplace/availabilityExceptions.d.ts.map +1 -1
- package/dist/types/types/marketplace/availabilityPlan.d.ts +18 -0
- package/dist/types/types/marketplace/availabilityPlan.d.ts.map +1 -0
- package/dist/types/types/marketplace/bookings.d.ts +48 -14
- package/dist/types/types/marketplace/bookings.d.ts.map +1 -1
- package/dist/types/types/marketplace/currentUser.d.ts +99 -55
- package/dist/types/types/marketplace/currentUser.d.ts.map +1 -1
- package/dist/types/types/marketplace/images.d.ts +40 -14
- package/dist/types/types/marketplace/images.d.ts.map +1 -1
- package/dist/types/types/marketplace/listings.d.ts +96 -66
- package/dist/types/types/marketplace/listings.d.ts.map +1 -1
- package/dist/types/types/marketplace/marketplace.d.ts +16 -6
- package/dist/types/types/marketplace/marketplace.d.ts.map +1 -1
- package/dist/types/types/marketplace/messages.d.ts +53 -15
- package/dist/types/types/marketplace/messages.d.ts.map +1 -1
- package/dist/types/types/marketplace/ownListings.d.ts +92 -65
- package/dist/types/types/marketplace/ownListings.d.ts.map +1 -1
- package/dist/types/types/marketplace/passwordReset.d.ts +32 -9
- package/dist/types/types/marketplace/passwordReset.d.ts.map +1 -1
- package/dist/types/types/marketplace/processTransitions.d.ts +33 -14
- package/dist/types/types/marketplace/processTransitions.d.ts.map +1 -1
- package/dist/types/types/marketplace/reviews.d.ts +72 -23
- package/dist/types/types/marketplace/reviews.d.ts.map +1 -1
- package/dist/types/types/marketplace/stock.d.ts +23 -6
- package/dist/types/types/marketplace/stock.d.ts.map +1 -1
- package/dist/types/types/marketplace/stockAdjustment.d.ts +60 -14
- package/dist/types/types/marketplace/stockAdjustment.d.ts.map +1 -1
- package/dist/types/types/marketplace/stockReservations.d.ts +59 -14
- package/dist/types/types/marketplace/stockReservations.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripeAccount.d.ts +28 -5
- package/dist/types/types/marketplace/stripeAccount.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripeAccountLinks.d.ts +26 -6
- package/dist/types/types/marketplace/stripeAccountLinks.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripeCustomer.d.ts +60 -13
- package/dist/types/types/marketplace/stripeCustomer.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripePaymentMethod.d.ts +1 -2
- package/dist/types/types/marketplace/stripePaymentMethod.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripePersons.d.ts +17 -15
- package/dist/types/types/marketplace/stripePersons.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripeSetupIntents.d.ts +16 -14
- package/dist/types/types/marketplace/stripeSetupIntents.d.ts.map +1 -1
- package/dist/types/types/marketplace/timeSlots.d.ts +13 -15
- package/dist/types/types/marketplace/timeSlots.d.ts.map +1 -1
- package/dist/types/types/marketplace/transactions.d.ts +77 -83
- package/dist/types/types/marketplace/transactions.d.ts.map +1 -1
- package/dist/types/types/marketplace/user.d.ts +85 -64
- package/dist/types/types/marketplace/user.d.ts.map +1 -1
- package/dist/types/types/sharetribe.d.ts +130 -92
- package/dist/types/types/sharetribe.d.ts.map +1 -1
- package/dist/types/types/store.d.ts +3 -14
- package/dist/types/types/store.d.ts.map +1 -1
- package/dist/types/utils/apis.d.ts +1 -1
- package/dist/types/utils/apis.d.ts.map +1 -1
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/convert-types.d.ts.map +1 -1
- package/dist/types/utils/parameter-serializer.d.ts.map +1 -1
- package/dist/types/utils/prepare-axios-instance.d.ts +1 -1
- package/dist/types/utils/prepare-axios-instance.d.ts.map +1 -1
- package/dist/types/utils/stores/BrowserStore.d.ts +1 -2
- package/dist/types/utils/stores/BrowserStore.d.ts.map +1 -1
- package/dist/types/utils/stores/ExpressStore.d.ts +6 -7
- package/dist/types/utils/stores/ExpressStore.d.ts.map +1 -1
- package/dist/types/utils/stores/MemoryStore.d.ts +1 -2
- package/dist/types/utils/stores/MemoryStore.d.ts.map +1 -1
- package/dist/types/utils/stores/store.d.ts.map +1 -1
- package/dist/types/utils/transit.d.ts +1 -1
- package/dist/types/utils/transit.d.ts.map +1 -1
- package/dist/types/utils/util.d.ts +2 -2
- package/dist/types/utils/util.d.ts.map +1 -1
- package/dist/utils/apis.d.ts +8 -0
- package/dist/utils/config.d.ts +32 -0
- package/dist/utils/convert-types.d.ts +13 -0
- package/dist/utils/parameter-serializer.d.ts +23 -0
- package/dist/utils/prepare-axios-instance.d.ts +14 -0
- package/dist/utils/stores/BrowserStore.d.ts +37 -0
- package/dist/utils/stores/ExpressStore.d.ts +48 -0
- package/dist/utils/stores/MemoryStore.d.ts +23 -0
- package/dist/utils/stores/store.d.ts +8 -0
- package/dist/utils/transit.d.ts +28 -0
- package/dist/utils/util.d.ts +15 -0
- package/package.json +18 -17
- package/dist/ts-sharetribe-flex-sdk.cjs +0 -3
- package/dist/ts-sharetribe-flex-sdk.cjs.map +0 -1
- package/dist/ts-sharetribe-flex-sdk.js +0 -3
- package/dist/ts-sharetribe-flex-sdk.js.map +0 -1
- package/dist/ts-sharetribe-flex-sdk.mjs +0 -3
- package/dist/ts-sharetribe-flex-sdk.mjs.map +0 -1
- package/dist/types/endpoints/integrationApi/StockReservation.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.umd.js","mappings":"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","sources":["webpack://TsSharetribeFlexSdk/webpack/universalModuleDefinition","webpack://TsSharetribeFlexSdk/./src/endpoints/auth/index.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/throttle.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/spread.js","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/index.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/toFormData.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/Messages.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/defaults/transitional.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/ProcessTransitions.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://TsSharetribeFlexSdk/./node_modules/is-retry-allowed/index.js","webpack://TsSharetribeFlexSdk/./src/integrationSdk.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/trackStream.js","webpack://TsSharetribeFlexSdk/./node_modules/uuid/dist/esm-browser/native.js","webpack://TsSharetribeFlexSdk/./node_modules/axios-retry/dist/esm/index.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/bind.js","webpack://TsSharetribeFlexSdk/./src/endpoints/assets/index.ts","webpack://TsSharetribeFlexSdk/./src/utils/stores/BrowserStore.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/StripeAccountLinks.ts","webpack://TsSharetribeFlexSdk/./src/utils/config.ts","webpack://TsSharetribeFlexSdk/./src/utils/prepare-axios-instance.ts","webpack://TsSharetribeFlexSdk/./src/sdk.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/Events.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/Stock.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/platform/common/utils.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/StripeSetupIntents.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/composeSignals.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/PasswordReset.ts","webpack://TsSharetribeFlexSdk/./src/sdkTypes/BigDecimal.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/null.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/StripeCustomer.ts","webpack://TsSharetribeFlexSdk/./src/utils/stores/MemoryStore.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/StockReservations.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/validator.js","webpack://TsSharetribeFlexSdk/./node_modules/uuid/dist/esm-browser/rng.js","webpack://TsSharetribeFlexSdk/./node_modules/transit-js/transit.js","webpack://TsSharetribeFlexSdk/./src/utils/stores/store.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/Listings.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/platform/index.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/StripePersons.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/core/settle.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/CurrentUser.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/speedometer.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/buildURL.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/Marketplace.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/core/AxiosError.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/Bookings.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/core/mergeConfig.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/cancel/CancelToken.js","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/AvailabilityExceptions.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/index.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/AvailabilityExceptions.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/Stock.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/core/Axios.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/defaults/index.js","webpack://TsSharetribeFlexSdk/./node_modules/uuid/dist/esm-browser/v4.js","webpack://TsSharetribeFlexSdk/./src/utils/stores/ExpressStore.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/adapters/adapters.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/Users.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/combineURLs.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/platform/browser/index.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/adapters/xhr.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/utils.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/core/InterceptorManager.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/Users.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/StockAdjustments.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/Transactions.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/OwnListings.ts","webpack://TsSharetribeFlexSdk/./src/utils/util.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/axios.js","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/Listings.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/Images.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://TsSharetribeFlexSdk/./src/utils/apis.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/StripeAccount.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/adapters/fetch.js","webpack://TsSharetribeFlexSdk/./src/sdkTypes/UUID.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/Images.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/core/buildFullPath.js","webpack://TsSharetribeFlexSdk/./src/endpoints/integrationApi/Marketplace.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://TsSharetribeFlexSdk/./src/utils/convert-types.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/cancel/CanceledError.js","webpack://TsSharetribeFlexSdk/./src/utils/transit.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/core/dispatchRequest.js","webpack://TsSharetribeFlexSdk/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/Transactions.ts","webpack://TsSharetribeFlexSdk/./node_modules/js-cookie/dist/js.cookie.mjs","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/TimeSlots.ts","webpack://TsSharetribeFlexSdk/./src/sdkTypes/LatLngBounds.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/core/transformData.js","webpack://TsSharetribeFlexSdk/./src/utils/parameter-serializer.ts","webpack://TsSharetribeFlexSdk/./src/sdkTypes/Money.ts","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/Reviews.ts","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/cancel/isCancel.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/helpers/cookies.js","webpack://TsSharetribeFlexSdk/./node_modules/axios/lib/env/data.js","webpack://TsSharetribeFlexSdk/./src/endpoints/marketplace/StockAdjustments.ts","webpack://TsSharetribeFlexSdk/./src/sdkTypes/LatLng.ts","webpack://TsSharetribeFlexSdk/webpack/bootstrap","webpack://TsSharetribeFlexSdk/webpack/runtime/compat get default export","webpack://TsSharetribeFlexSdk/webpack/runtime/define property getters","webpack://TsSharetribeFlexSdk/webpack/runtime/global","webpack://TsSharetribeFlexSdk/webpack/runtime/hasOwnProperty shorthand","webpack://TsSharetribeFlexSdk/webpack/runtime/make namespace object","webpack://TsSharetribeFlexSdk/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TsSharetribeFlexSdk\"] = factory();\n\telse\n\t\troot[\"TsSharetribeFlexSdk\"] = factory();\n})(this, () => {\nreturn ","/**\n * @fileoverview Client for Sharetribe Authentication API (OAuth2)\n *\n * @see https://www.sharetribe.com/api-reference/authentication.html\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport SharetribeSdk from \"../../sdk\";\nimport IntegrationSdk from \"../../integrationSdk\";\nimport {\n AuthWithIdpParameter,\n RevokeResponse,\n TokenDetails,\n TokenRequest,\n TokenResponse,\n UserTokenRequest,\n} from \"../../types\";\n\n/**\n * Encodes object as application/x-www-form-urlencoded\n */\nexport const urlEncodeFormData = (obj: Record<string, any> | null): string => {\n if (!obj) return \"\";\n\n return Object.entries(obj)\n .filter(([, v]) => v !== null && v !== undefined)\n .map(([k, v]) => {\n const key = encodeURIComponent(k);\n const value = Array.isArray(v)\n ? encodeURIComponent(v.join(\",\"))\n : typeof v === \"object\"\n ? encodeURIComponent(JSON.stringify(v))\n : encodeURIComponent(String(v));\n return `${key}=${value}`;\n })\n .join(\"&\");\n};\n\nclass AuthenticationApi {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(sdk: SharetribeSdk | IntegrationSdk) {\n const config = sdk.apisConfigs.auth(sdk.sdkConfig);\n this.endpoint = config.baseUrl;\n this.headers = {...config.headers, \"Content-Type\": \"application/x-www-form-urlencoded\"};\n this.axios = sdk.axios;\n }\n\n /**\n * Request a token using any supported OAuth2 grant\n *\n * @template T - Token request type\n * @param {T} params - OAuth2 token request parameters\n * @returns {Promise<AxiosResponse<TokenResponse<T>>>}\n */\n async token<T extends TokenRequest>(\n params: T\n ): Promise<AxiosResponse<TokenResponse<T>>> {\n return this.axios.post(\n `${this.endpoint}/token`,\n urlEncodeFormData(params as Record<string, any>),\n {headers: this.headers}\n );\n }\n\n /**\n * Authenticate via external Identity Provider\n *\n * @param {AuthWithIdpParameter} params\n * @returns {Promise<AxiosResponse<TokenResponse<UserTokenRequest>>>}\n */\n async authWithIdp(\n params: AuthWithIdpParameter\n ): Promise<AxiosResponse<TokenResponse<UserTokenRequest>>> {\n return this.axios.post(\n `${this.endpoint}/auth_with_idp`,\n urlEncodeFormData(params),\n {headers: this.headers}\n );\n }\n\n /**\n * Revoke a refresh token\n *\n * @param {string} token - Refresh token to revoke\n */\n async revoke(token: string): Promise<AxiosResponse<RevokeResponse>> {\n return this.axios.post(\n `${this.endpoint}/revoke`,\n urlEncodeFormData({token}),\n {headers: this.headers}\n );\n }\n\n /**\n * Introspect current access token\n */\n async details(): Promise<AxiosResponse<TokenDetails>> {\n return this.axios.get(`${this.endpoint}/details`, {\n headers: this.headers,\n });\n }\n}\n\nexport default AuthenticationApi;","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","/**\n * @fileoverview Client for the Sharetribe Integration API.\n *\n * This is the main entry point for server-side or trusted integrations.\n * It provides access to all privileged endpoints: availability exceptions, events,\n * image uploads, stock management, transactions, users, and more.\n *\n * Requires a client secret for authentication.\n *\n * @example\n * const sdk = new IntegrationSdk({\n * clientId: \"abc123\",\n * clientSecret: \"super-secret\",\n * baseUrl: \"https://api.sharetribe.com\"\n * });\n *\n * // Query recent events\n * const { data: events } = await sdk.integration.events.query({\n * createdAtStart: \"2025-01-01T00:00:00Z\"\n * });\n */\n\nimport type {AxiosInstance} from \"axios\";\nimport IntegrationSdk from \"../../integrationSdk\";\n\nimport AvailabilityExceptions from \"./AvailabilityExceptions\";\nimport Events from \"./Events\";\nimport Images from \"./Images\";\nimport Listings from \"./Listings\";\nimport Marketplace from \"./Marketplace\";\nimport Stock from \"./Stock\";\nimport StockAdjustments from \"./StockAdjustments\";\nimport StockReservations from \"./StockReservations\";\nimport Transactions from \"./Transactions\";\nimport Users from \"./Users\";\n\n/**\n * Integration API client\n */\nclass IntegrationApi {\n /** Axios instance with auth headers */\n readonly axios: AxiosInstance;\n\n /** Base URL for all Integration API endpoints */\n readonly endpoint: string;\n\n /** Default headers (includes Authorization) */\n readonly headers: Record<string, string>;\n\n /** Most endpoints require authentication */\n readonly authRequired = true;\n\n // Sub-clients\n readonly availabilityExceptions: AvailabilityExceptions;\n readonly events: Events;\n readonly images: Images;\n readonly listings: Listings;\n readonly marketplace: Marketplace;\n readonly stock: Stock;\n readonly stockAdjustments: StockAdjustments;\n readonly stockReservations: StockReservations;\n readonly transactions: Transactions;\n readonly users: Users;\n\n constructor(sdk: IntegrationSdk) {\n const config = sdk.apisConfigs.integrationApi(sdk.sdkConfig);\n\n this.axios = sdk.axios;\n this.endpoint = config.baseUrl;\n this.headers = config.headers;\n\n // Initialize all sub-APIs\n this.availabilityExceptions = new AvailabilityExceptions(this);\n this.events = new Events(this);\n this.images = new Images(this);\n this.listings = new Listings(this);\n this.marketplace = new Marketplace(this);\n this.stock = new Stock(this);\n this.stockAdjustments = new StockAdjustments(this);\n this.stockReservations = new StockReservations(this);\n this.transactions = new Transactions(this);\n this.users = new Users(this);\n }\n}\n\nexport default IntegrationApi;","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","/**\n * @fileoverview Client for querying and sending messages in the Sharetribe Marketplace API.\n *\n * Use this to read conversation history and send messages in transactions.\n * Messages are tied to a specific transaction (order/inquiry).\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#messages\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, MessagesQueryParameter, MessagesResponse, MessagesSendParameter,} from \"../../types\";\n\n/**\n * Messages API client\n */\nclass Messages {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/messages`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query messages in a transaction\n *\n * @template P\n * @param {P & MessagesQueryParameter} params\n * @returns {Promise<AxiosResponse<MessagesResponse<\"query\", P>>>}\n *\n * @example\n * const { data } = await sdk.messages.query({\n * transactionId: \"tx-abc123\"\n * });\n */\n async query<P extends MessagesQueryParameter>(\n params: P\n ): Promise<AxiosResponse<MessagesResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Send a new message in a transaction\n *\n * @template P\n * @template EP\n * @param {P & MessagesSendParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<MessagesResponse<\"send\", P, EP>>>}\n *\n * @example\n * await sdk.messages.send({\n * transactionId: \"tx-abc123\",\n * content: \"Hi! When are you available?\"\n * });\n */\n async send<\n P extends MessagesSendParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<MessagesResponse<\"send\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/send`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Messages;","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","/**\n * @fileoverview Client for querying process transitions in the Sharetribe Marketplace API.\n *\n * Process transitions define the state machine of a transaction process (e.g. booking, sale).\n * Use this endpoint to inspect available transitions and their parameters.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#process-transitions\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ProcessTransitionsQueryParameter, ProcessTransitionsResponse,} from \"../../types\";\n\n/**\n * Process Transitions API client\n */\nclass ProcessTransitions {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/process_transitions`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query available process transitions\n *\n * @template P\n * @param {P & ProcessTransitionsQueryParameter} params\n * @returns {Promise<AxiosResponse<ProcessTransitionsResponse<\"query\">>>}\n *\n * @example\n * // Fetch all transitions for the default booking process\n * const { data } = await sdk.processTransitions.query({\n * processAlias: \"default-booking\"\n * });\n *\n * @example\n * // Inspect a specific transition\n * await sdk.processTransitions.query({\n * lastTransition: \"transition/confirm-payment\"\n * });\n */\n async query<P extends ProcessTransitionsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<ProcessTransitionsResponse<\"query\">>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default ProcessTransitions;","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nconst denyList = new Set([\n\t'ENOTFOUND',\n\t'ENETUNREACH',\n\n\t// SSL errors from https://github.com/nodejs/node/blob/fc8e3e2cdc521978351de257030db0076d79e0ab/src/crypto/crypto_common.cc#L301-L328\n\t'UNABLE_TO_GET_ISSUER_CERT',\n\t'UNABLE_TO_GET_CRL',\n\t'UNABLE_TO_DECRYPT_CERT_SIGNATURE',\n\t'UNABLE_TO_DECRYPT_CRL_SIGNATURE',\n\t'UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY',\n\t'CERT_SIGNATURE_FAILURE',\n\t'CRL_SIGNATURE_FAILURE',\n\t'CERT_NOT_YET_VALID',\n\t'CERT_HAS_EXPIRED',\n\t'CRL_NOT_YET_VALID',\n\t'CRL_HAS_EXPIRED',\n\t'ERROR_IN_CERT_NOT_BEFORE_FIELD',\n\t'ERROR_IN_CERT_NOT_AFTER_FIELD',\n\t'ERROR_IN_CRL_LAST_UPDATE_FIELD',\n\t'ERROR_IN_CRL_NEXT_UPDATE_FIELD',\n\t'OUT_OF_MEM',\n\t'DEPTH_ZERO_SELF_SIGNED_CERT',\n\t'SELF_SIGNED_CERT_IN_CHAIN',\n\t'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',\n\t'UNABLE_TO_VERIFY_LEAF_SIGNATURE',\n\t'CERT_CHAIN_TOO_LONG',\n\t'CERT_REVOKED',\n\t'INVALID_CA',\n\t'PATH_LENGTH_EXCEEDED',\n\t'INVALID_PURPOSE',\n\t'CERT_UNTRUSTED',\n\t'CERT_REJECTED',\n\t'HOSTNAME_MISMATCH'\n]);\n\n// TODO: Use `error?.code` when targeting Node.js 14\nmodule.exports = error => !denyList.has(error && error.code);\n","import {ApiConfigs, SdkConfig} from \"./types\";\nimport axios, {AxiosInstance} from \"axios\";\nimport IntegrationApi from \"./endpoints/integrationApi\";\nimport {createApisConfigs} from \"./utils/apis\";\nimport {createAxiosConfig, prepareAxiosInstance,} from \"./utils/prepare-axios-instance\";\nimport AuthenticationApi from \"./endpoints/auth\";\nimport AvailabilityExceptions from \"./endpoints/integrationApi/AvailabilityExceptions\";\nimport Events from \"./endpoints/integrationApi/Events\";\nimport Images from \"./endpoints/integrationApi/Images\";\nimport Listings from \"./endpoints/integrationApi/Listings\";\nimport Marketplace from \"./endpoints/integrationApi/Marketplace\";\nimport Stock from \"./endpoints/integrationApi/Stock\";\nimport StockAdjustments from \"./endpoints/integrationApi/StockAdjustments\";\nimport StockReservations from \"./endpoints/integrationApi/StockReservations\";\nimport Transactions from \"./endpoints/integrationApi/Transactions\";\nimport Users from \"./endpoints/integrationApi/Users\";\nimport {DefaultIntegrationSdkConfig} from \"./utils/config\";\n\n/**\n * The main Sharetribe Integration SDK for interacting with the Sharetribe Integration API.\n *\n * @class\n */\nclass IntegrationSdk {\n /**\n * Configuration for the SDK.\n *\n * @type {SdkConfig}\n */\n sdkConfig: SdkConfig;\n\n /**\n * Configuration for the API endpoints.\n *\n * @type {ApiConfigs<true>}\n */\n apisConfigs: ApiConfigs<true>;\n\n /**\n * Axios instance used for making API requests.\n *\n * @type {AxiosInstance}\n */\n axios: AxiosInstance;\n\n // Endpoints\n /**\n * Endpoint for handling authentication.\n *\n * @type {AuthenticationApi}\n */\n auth: AuthenticationApi;\n\n /**\n * Main integration API.\n *\n * @type {IntegrationApi}\n */\n integration_api: IntegrationApi;\n\n // API Endpoints\n /**\n * Endpoint for managing availability exceptions.\n *\n * @type {AvailabilityExceptions}\n */\n availabilityExceptions: AvailabilityExceptions;\n\n /**\n * Endpoint for retrieving and managing events.\n *\n * @type {Events}\n */\n events: Events;\n\n /**\n * Endpoint for handling image-related operations.\n *\n * @type {Images}\n */\n images: Images;\n\n /**\n * Endpoint for managing listings.\n *\n * @type {Listings}\n */\n listings: Listings;\n\n /**\n * Endpoint for accessing marketplace details.\n *\n * @type {Marketplace}\n */\n marketplace: Marketplace;\n\n /**\n * Endpoint for managing stock.\n *\n * @type {Stock}\n */\n stock: Stock;\n\n /**\n * Endpoint for handling stock adjustments.\n *\n * @type {StockAdjustments}\n */\n stockAdjustments: StockAdjustments;\n\n /**\n * Endpoint for managing stock reservations.\n *\n * @type {StockReservations}\n */\n stockReservations: StockReservations;\n\n /**\n * Endpoint for managing transactions.\n *\n * @type {Transactions}\n */\n transactions: Transactions;\n\n /**\n * Endpoint for managing user data.\n *\n * @type {Users}\n */\n users: Users;\n\n /**\n * Initializes a new instance of the SharetribeIntegrationSdk class.\n *\n * @constructor\n * @param {SdkConfig} config - The configuration object for the SDK.\n */\n constructor(config: SdkConfig) {\n this.sdkConfig = {\n ...DefaultIntegrationSdkConfig,\n ...config,\n };\n\n this.apisConfigs = createApisConfigs(true);\n this.axios = axios.create(\n createAxiosConfig(this, {\n baseURL: `${this.sdkConfig.baseUrl}/${this.sdkConfig.version}/`,\n httpAgent: this.sdkConfig.httpAgent,\n httpsAgent: this.sdkConfig.httpsAgent,\n })\n );\n prepareAxiosInstance(this);\n\n this.auth = new AuthenticationApi(this);\n this.integration_api = new IntegrationApi(this);\n\n // Api Endpoints\n this.availabilityExceptions = this.integration_api.availabilityExceptions;\n this.events = this.integration_api.events;\n this.images = this.integration_api.images;\n this.listings = this.integration_api.listings;\n this.marketplace = this.integration_api.marketplace;\n this.stock = this.integration_api.stock;\n this.stockAdjustments = this.integration_api.stockAdjustments;\n this.stockReservations = this.integration_api.stockReservations;\n this.transactions = this.integration_api.transactions;\n this.users = this.integration_api.users;\n }\n}\n\nexport default IntegrationSdk;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import isRetryAllowed from 'is-retry-allowed';\nexport const namespace = 'axios-retry';\nexport function isNetworkError(error) {\n const CODE_EXCLUDE_LIST = ['ERR_CANCELED', 'ECONNABORTED'];\n if (error.response) {\n return false;\n }\n if (!error.code) {\n return false;\n }\n // Prevents retrying timed out & cancelled requests\n if (CODE_EXCLUDE_LIST.includes(error.code)) {\n return false;\n }\n // Prevents retrying unsafe errors\n return isRetryAllowed(error);\n}\nconst SAFE_HTTP_METHODS = ['get', 'head', 'options'];\nconst IDEMPOTENT_HTTP_METHODS = SAFE_HTTP_METHODS.concat(['put', 'delete']);\nexport function isRetryableError(error) {\n return (error.code !== 'ECONNABORTED' &&\n (!error.response ||\n error.response.status === 429 ||\n (error.response.status >= 500 && error.response.status <= 599)));\n}\nexport function isSafeRequestError(error) {\n if (!error.config?.method) {\n // Cannot determine if the request can be retried\n return false;\n }\n return isRetryableError(error) && SAFE_HTTP_METHODS.indexOf(error.config.method) !== -1;\n}\nexport function isIdempotentRequestError(error) {\n if (!error.config?.method) {\n // Cannot determine if the request can be retried\n return false;\n }\n return isRetryableError(error) && IDEMPOTENT_HTTP_METHODS.indexOf(error.config.method) !== -1;\n}\nexport function isNetworkOrIdempotentRequestError(error) {\n return isNetworkError(error) || isIdempotentRequestError(error);\n}\nexport function retryAfter(error = undefined) {\n const retryAfterHeader = error?.response?.headers['retry-after'];\n if (!retryAfterHeader) {\n return 0;\n }\n // if the retry after header is a number, convert it to milliseconds\n let retryAfterMs = (Number(retryAfterHeader) || 0) * 1000;\n // If the retry after header is a date, get the number of milliseconds until that date\n if (retryAfterMs === 0) {\n retryAfterMs = (new Date(retryAfterHeader).valueOf() || 0) - Date.now();\n }\n return Math.max(0, retryAfterMs);\n}\nfunction noDelay(_retryNumber = 0, error = undefined) {\n return Math.max(0, retryAfter(error));\n}\nexport function exponentialDelay(retryNumber = 0, error = undefined, delayFactor = 100) {\n const calculatedDelay = 2 ** retryNumber * delayFactor;\n const delay = Math.max(calculatedDelay, retryAfter(error));\n const randomSum = delay * 0.2 * Math.random(); // 0-20% of the delay\n return delay + randomSum;\n}\n/**\n * Linear delay\n * @param {number | undefined} delayFactor - delay factor in milliseconds (default: 100)\n * @returns {function} (retryNumber: number, error: AxiosError | undefined) => number\n */\nexport function linearDelay(delayFactor = 100) {\n return (retryNumber = 0, error = undefined) => {\n const delay = retryNumber * delayFactor;\n return Math.max(delay, retryAfter(error));\n };\n}\nexport const DEFAULT_OPTIONS = {\n retries: 3,\n retryCondition: isNetworkOrIdempotentRequestError,\n retryDelay: noDelay,\n shouldResetTimeout: false,\n onRetry: () => { },\n onMaxRetryTimesExceeded: () => { },\n validateResponse: null\n};\nfunction getRequestOptions(config, defaultOptions) {\n return { ...DEFAULT_OPTIONS, ...defaultOptions, ...config[namespace] };\n}\nfunction setCurrentState(config, defaultOptions, resetLastRequestTime = false) {\n const currentState = getRequestOptions(config, defaultOptions || {});\n currentState.retryCount = currentState.retryCount || 0;\n if (!currentState.lastRequestTime || resetLastRequestTime) {\n currentState.lastRequestTime = Date.now();\n }\n config[namespace] = currentState;\n return currentState;\n}\nfunction fixConfig(axiosInstance, config) {\n // @ts-ignore\n if (axiosInstance.defaults.agent === config.agent) {\n // @ts-ignore\n delete config.agent;\n }\n if (axiosInstance.defaults.httpAgent === config.httpAgent) {\n delete config.httpAgent;\n }\n if (axiosInstance.defaults.httpsAgent === config.httpsAgent) {\n delete config.httpsAgent;\n }\n}\nasync function shouldRetry(currentState, error) {\n const { retries, retryCondition } = currentState;\n const shouldRetryOrPromise = (currentState.retryCount || 0) < retries && retryCondition(error);\n // This could be a promise\n if (typeof shouldRetryOrPromise === 'object') {\n try {\n const shouldRetryPromiseResult = await shouldRetryOrPromise;\n // keep return true unless shouldRetryPromiseResult return false for compatibility\n return shouldRetryPromiseResult !== false;\n }\n catch (_err) {\n return false;\n }\n }\n return shouldRetryOrPromise;\n}\nasync function handleRetry(axiosInstance, currentState, error, config) {\n currentState.retryCount += 1;\n const { retryDelay, shouldResetTimeout, onRetry } = currentState;\n const delay = retryDelay(currentState.retryCount, error);\n // Axios fails merging this configuration to the default configuration because it has an issue\n // with circular structures: https://github.com/mzabriskie/axios/issues/370\n fixConfig(axiosInstance, config);\n if (!shouldResetTimeout && config.timeout && currentState.lastRequestTime) {\n const lastRequestDuration = Date.now() - currentState.lastRequestTime;\n const timeout = config.timeout - lastRequestDuration - delay;\n if (timeout <= 0) {\n return Promise.reject(error);\n }\n config.timeout = timeout;\n }\n config.transformRequest = [(data) => data];\n await onRetry(currentState.retryCount, error, config);\n if (config.signal?.aborted) {\n return Promise.resolve(axiosInstance(config));\n }\n return new Promise((resolve) => {\n const abortListener = () => {\n clearTimeout(timeout);\n resolve(axiosInstance(config));\n };\n const timeout = setTimeout(() => {\n resolve(axiosInstance(config));\n if (config.signal?.removeEventListener) {\n config.signal.removeEventListener('abort', abortListener);\n }\n }, delay);\n if (config.signal?.addEventListener) {\n config.signal.addEventListener('abort', abortListener, { once: true });\n }\n });\n}\nasync function handleMaxRetryTimesExceeded(currentState, error) {\n if (currentState.retryCount >= currentState.retries)\n await currentState.onMaxRetryTimesExceeded(error, currentState.retryCount);\n}\nconst axiosRetry = (axiosInstance, defaultOptions) => {\n const requestInterceptorId = axiosInstance.interceptors.request.use((config) => {\n setCurrentState(config, defaultOptions, true);\n if (config[namespace]?.validateResponse) {\n // by setting this, all HTTP responses will be go through the error interceptor first\n config.validateStatus = () => false;\n }\n return config;\n });\n const responseInterceptorId = axiosInstance.interceptors.response.use(null, async (error) => {\n const { config } = error;\n // If we have no information to retry the request\n if (!config) {\n return Promise.reject(error);\n }\n const currentState = setCurrentState(config, defaultOptions);\n if (error.response && currentState.validateResponse?.(error.response)) {\n // no issue with response\n return error.response;\n }\n if (await shouldRetry(currentState, error)) {\n return handleRetry(axiosInstance, currentState, error, config);\n }\n await handleMaxRetryTimesExceeded(currentState, error);\n return Promise.reject(error);\n });\n return { requestInterceptorId, responseInterceptorId };\n};\n// Compatibility with CommonJS\naxiosRetry.isNetworkError = isNetworkError;\naxiosRetry.isSafeRequestError = isSafeRequestError;\naxiosRetry.isIdempotentRequestError = isIdempotentRequestError;\naxiosRetry.isNetworkOrIdempotentRequestError = isNetworkOrIdempotentRequestError;\naxiosRetry.exponentialDelay = exponentialDelay;\naxiosRetry.linearDelay = linearDelay;\naxiosRetry.isRetryableError = isRetryableError;\nexport default axiosRetry;\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","/**\n * @fileoverview Provides the AssetsApi class for interacting with the Sharetribe Asset Delivery API.\n *\n * @see https://www.sharetribe.com/api-reference/asset-delivery-api.html\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport SharetribeSdk from \"../../sdk\";\nimport {\n AssetByAliasParameter,\n AssetByVersionParameter,\n AssetResponse,\n AssetsByAliasParameter,\n AssetsByVersionParameter,\n} from \"../../types\";\n\n/**\n * Extracts common directory and asset names from paths.\n * All paths must share the same parent directory.\n */\nconst extractCommonPathAndAssets = (paths: readonly string[]) => {\n // ... implementation unchanged (robust version from before)\n if (paths.length === 0) throw new Error(\"Paths array must not be empty\");\n\n const normalized = paths.map(p => p.replace(/^\\/+|\\/+$/g, \"\"));\n const parts = normalized.map(p => p.split(\"/\"));\n\n let commonLength = parts[0].length - 1;\n for (let i = 1; i < parts.length && commonLength > 0; i++) {\n let j = 0;\n while (j < commonLength && parts[0][j] === parts[i][j]) j++;\n commonLength = j;\n }\n\n if (commonLength === 0) {\n throw new Error(\"All paths must share a common directory prefix\");\n }\n\n const commonPath = parts[0].slice(0, commonLength).join(\"/\");\n const assets = normalized.map(p => p.slice(commonPath.length + 1));\n\n return {commonPath, assets};\n};\n\nclass AssetsApi {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(sdk: SharetribeSdk) {\n const config = sdk.apisConfigs.assets(sdk.sdkConfig);\n this.endpoint = `${config.baseUrl}/pub/${sdk.sdkConfig.clientId}`;\n this.headers = config.headers;\n this.axios = sdk.axios;\n }\n\n /**\n * Fetch a single asset by alias (e.g. \"latest\")\n *\n * @template P\n * @param {P & AssetByAliasParameter} params\n * @returns {Promise<AxiosResponse<AssetResponse<\"assetByAlias\", P & AssetByAliasParameter>>>}\n */\n async assetByAlias<P extends AssetByAliasParameter>(\n params: P & AssetByAliasParameter\n ): Promise<AxiosResponse<AssetResponse<\"assetByAlias\", P & AssetByAliasParameter>>> {\n const {path, alias, ...rest} = params;\n if (path.startsWith(\"/\")) throw new Error(\"Asset path must not start with '/'\");\n\n const url = `${this.endpoint}/a/${encodeURIComponent(alias)}/${path}`;\n return this.axios.get(url, {headers: this.headers, params: rest});\n }\n\n /**\n * Fetch multiple assets by alias from the same directory\n *\n * @template P\n * @param {P & AssetsByAliasParameter} params\n * @returns {Promise<AxiosResponse<AssetResponse<\"assetsByAlias\", P & AssetsByAliasParameter>>>}\n */\n async assetsByAlias<P extends AssetsByAliasParameter>(\n params: P & AssetsByAliasParameter\n ): Promise<AxiosResponse<AssetResponse<\"assetsByAlias\", P & AssetsByAliasParameter>>> {\n const {paths, alias, ...rest} = params;\n if (paths.some(p => p.startsWith(\"/\"))) {\n throw new Error(\"Asset paths must not start with '/'\");\n }\n\n const {commonPath, assets} = extractCommonPathAndAssets(paths);\n const url = `${this.endpoint}/a/${encodeURIComponent(alias)}/${commonPath}/`;\n\n return this.axios.get(url, {\n headers: this.headers,\n params: {...rest, assets},\n });\n }\n\n /**\n * Fetch a single asset by version\n *\n * @template P\n * @param {P & AssetByVersionParameter} params\n * @returns {Promise<AxiosResponse<AssetResponse<\"assetByVersion\", P & AssetByVersionParameter>>>}\n */\n async assetByVersion<P extends AssetByVersionParameter>(\n params: P & AssetByVersionParameter\n ): Promise<AxiosResponse<AssetResponse<\"assetByVersion\", P & AssetByVersionParameter>>> {\n const {path, version, ...rest} = params;\n if (path.startsWith(\"/\")) throw new Error(\"Asset path must not start with '/'\");\n\n const url = `${this.endpoint}/v/${encodeURIComponent(version)}/${path}`;\n return this.axios.get(url, {headers: this.headers, params: rest});\n }\n\n /**\n * Fetch multiple assets by version from the same directory\n *\n * @template P\n * @param {P & AssetsByVersionParameter} params\n * @returns {Promise<AxiosResponse<AssetResponse<\"assetsByVersion\", P & AssetsByVersionParameter>>>}\n */\n async assetsByVersion<P extends AssetsByVersionParameter>(\n params: P & AssetsByVersionParameter\n ): Promise<AxiosResponse<AssetResponse<\"assetsByVersion\", P & AssetsByVersionParameter>>> {\n const {paths, version, ...rest} = params;\n if (paths.some(p => p.startsWith(\"/\"))) {\n throw new Error(\"Asset paths must not start with '/'\");\n }\n\n const {commonPath, assets} = extractCommonPathAndAssets(paths);\n const url = `${this.endpoint}/v/${encodeURIComponent(version)}/${commonPath}/`;\n\n return this.axios.get(url, {\n headers: this.headers,\n params: {...rest, assets},\n });\n }\n}\n\nexport default AssetsApi;","import Cookies from \"js-cookie\";\nimport {generateKey} from \"./store\";\nimport {AuthToken, TokenStore} from \"../../types\";\n\n/**\n * Configuration options for the `BrowserStore`.\n */\nexport type BrowserStoreOptions = {\n clientId: string; // Unique identifier for the client\n secure?: boolean; // Whether to use secure cookies (HTTPS only)\n};\n\n/**\n * `BrowserStore` is an implementation of the `TokenStore` interface for storing authentication tokens in browser cookies.\n */\nclass BrowserStore implements TokenStore {\n expiration: number = 30; // Default cookie expiration in days\n private namespace: string = \"st\"; // Namespace for cookie keys\n private readonly key: string; // Generated key for the cookie\n private readonly secure: boolean | undefined; // Indicates if cookies should be marked as secure\n\n /**\n * Initializes the `BrowserStore` with client-specific options.\n * @param options - Configuration options for the store.\n */\n constructor({clientId, secure}: BrowserStoreOptions) {\n this.secure = secure;\n this.key = generateKey(clientId, this.namespace);\n }\n\n /**\n * Retrieves the authentication token from browser cookies.\n * @returns A promise that resolves to the `AuthToken` or null if no token exists.\n */\n getToken(): AuthToken | null {\n const cookie = Cookies.get(this.key);\n return cookie ? (JSON.parse(cookie) as AuthToken) : null;\n }\n\n /**\n * Stores the authentication token in a browser cookie.\n * @param token - The authentication token to store.\n */\n setToken(token: AuthToken): void {\n const secureFlag = this.secure ? {secure: true} : {};\n Cookies.set(this.key, JSON.stringify(token), {\n expires: this.expiration,\n ...secureFlag,\n });\n }\n\n /**\n * Removes the authentication token from browser cookies.\n */\n removeToken(): void {\n Cookies.remove(this.key);\n }\n}\n\nexport default BrowserStore;\n","/**\n * @fileoverview Client for creating Stripe Account Links in the Sharetribe Marketplace API.\n *\n * Use this to generate onboarding or verification links for the current user's Stripe Connect account.\n * The returned link redirects the user to Stripe to complete account setup or provide missing info.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stripe-account-links\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, StripeAccountLinksCreateParameter, StripeAccountLinksResponse,} from \"../../types\";\n\n/**\n * Stripe Account Links API client (current user)\n */\nclass StripeAccountLinks {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stripe_account_links`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Create a Stripe Account Link (onboarding or verification)\n *\n * @template P\n * @template EP\n * @param {P & StripeAccountLinksCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeAccountLinksResponse<\"create\", EP>>>}\n *\n * @example\n * const { data } = await sdk.stripeAccountLinks.create({\n * failureURL: \"https://yoursite.com/stripe/failure\",\n * successURL: \"https://yoursite.com/stripe/success\",\n * type: \"account_onboarding\",\n * });\n *\n * // Redirect user\n * window.location.href = data.attributes.url;\n */\n async create<\n P extends StripeAccountLinksCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeAccountLinksResponse<\"create\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StripeAccountLinks;","import MemoryStore from \"./stores/MemoryStore\";\nimport {TypeHandler} from \"../types\";\nimport {Agent as HttpAgent} from \"http\";\nimport {Agent as HttpsAgent} from \"https\";\n\ntype DefaultSdkConfigType = {\n baseUrl: string;\n assetCdnBaseUrl?: string;\n version: string;\n transitVerbose: boolean;\n tokenStore?: MemoryStore;\n typeHandlers?: TypeHandler[];\n httpAgent?: HttpAgent;\n httpsAgent?: HttpsAgent;\n};\n\ntype DefaultIntegrationSdkConfigType = {\n baseUrl: string;\n version: string;\n transitVerbose: boolean;\n tokenStore?: MemoryStore;\n httpAgent?: HttpAgent;\n httpsAgent?: HttpsAgent;\n typeHandlers?: TypeHandler[];\n};\n\nconst isNode = typeof window === \"undefined\";\nconst hasAgents =\n typeof HttpAgent === \"function\" && typeof HttpsAgent === \"function\";\n\n// Create safe agent creators that work in both ESM and CommonJS environments\nlet httpAgentCreator: (options: any) => any = () => undefined;\nlet httpsAgentCreator: (options: any) => any = () => undefined;\n\n// Only initialize agents if we're in a Node.js environment and the modules are available\nif (isNode && hasAgents) {\n try {\n httpAgentCreator = (options: any) => new HttpAgent(options);\n httpsAgentCreator = (options: any) => new HttpsAgent(options);\n } catch (e) {\n console.warn(\"Failed to initialize HTTP/HTTPS agents:\", e);\n }\n}\n\n/**\n * Default SDK configuration object for the Sharetribe Flex API.\n */\nexport const DefaultSdkConfig: DefaultSdkConfigType = {\n assetCdnBaseUrl: \"https://cdn.st-api.com\", // Base URL for assets\n baseUrl: \"https://flex-api.sharetribe.com\", // Base URL for the API\n tokenStore: new MemoryStore(), // Default token store (in-memory)\n transitVerbose: false, // Toggle for verbose transit serialization\n typeHandlers: [], // Array to handle custom data types\n version: \"v1\", // API version\n};\n\n/**\n * Default SDK configuration object for the Sharetribe Flex Integration API.\n */\nexport const DefaultIntegrationSdkConfig: DefaultIntegrationSdkConfigType = {\n baseUrl: \"https://flex-integ-api.sharetribe.com\",\n ...(isNode && {\n httpAgent: httpAgentCreator({keepAlive: true, maxSockets: 10}), // Default HTTP agent\n httpsAgent: httpsAgentCreator({keepAlive: true, maxSockets: 10}), // Default HTTPS agent\n }),\n tokenStore: new MemoryStore(), // Default token store (in-memory)\n transitVerbose: false, // Toggle for verbose transit serialization\n typeHandlers: [], // Array to handle custom data types\n version: \"v1\", // API version\n};\n","import {AxiosError, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig,} from \"axios\";\nimport {\n AnonymousTokenRequest,\n ExtendedInternalAxiosRequestConfig,\n IntegrationTokenRequest,\n RefreshTokenRequest\n} from \"../types\";\nimport SharetribeSdk from \"../sdk\";\nimport parameterSerializer from \"./parameter-serializer\";\nimport IntegrationSdk from \"../integrationSdk\";\nimport {createTransitConverters} from \"./transit\";\nimport axiosRetry, {IAxiosRetryConfig} from \"axios-retry\";\nimport {createSharetribeApiError} from \"./util\";\n\nexport const QUERY_PARAMETERS = [\n \"include\",\n \"page\",\n \"perPage\",\n \"expand\",\n \"fields\",\n \"limit\",\n];\n\nconst isTransit = (res: any) => {\n const headers = res.headers || {};\n const contentType = headers[\"content-type\"] || \"\";\n\n return contentType.startsWith(\"application/transit+json\");\n};\n\nconst isJson = (res: any) => {\n const headers = res.headers || {};\n const contentType = headers[\"content-type\"] || \"\";\n\n return contentType.startsWith(\"application/json\");\n};\n\n// Utility functions\nexport const isTokenUnauthorized = (status: number) => [401].includes(status);\nexport const isTokenExpired = (status: number) => [401, 403].includes(status);\nexport const isAuthTokenUnauthorized = (error: AxiosError) =>\n error.response?.status === 401 && error?.config?.method === \"post\" && error?.config?.url?.includes(\"/auth/token\")\n\nexport const routeNeedsTrustedUser = (\n requestConfig: InternalAxiosRequestConfig,\n sdk: SharetribeSdk | IntegrationSdk\n) => {\n const requestUrl = requestConfig.url!;\n const found = Object.entries(sdk).find(([_, value]) => {\n if (typeof value === \"object\") {\n return Object.entries(value).find(([key, endpoint]) => {\n if (key === \"endpoint\" && typeof endpoint === \"string\") {\n return (\n requestUrl.substring(0, requestUrl.lastIndexOf(\"/\")) === endpoint\n );\n }\n });\n }\n }) as [string, { authRequired: boolean }] | undefined;\n return found && found[1].authRequired;\n};\n\nexport const prepareAuthorizationHeader = (data: any) =>\n `${data.token_type} ${data.access_token}`;\n\n// Interceptor handlers\nexport function handleResponseSuccess(sdk: SharetribeSdk | IntegrationSdk) {\n return function onFulfilled(response: AxiosResponse): AxiosResponse {\n if (!sdk.sdkConfig.tokenStore) {\n throw new Error(\"Token store is not set\");\n }\n\n if (isTransit(response)) {\n const {reader} = createTransitConverters(sdk.sdkConfig.typeHandlers, {\n verbose: sdk.sdkConfig.transitVerbose,\n });\n response.data = reader.read(response.data);\n } else if (isJson(response)) {\n response.data = JSON.parse(response.data);\n }\n\n if (response?.data?.access_token) {\n sdk.sdkConfig.tokenStore.setToken(response.data);\n }\n\n if (response?.data?.revoked) {\n sdk.sdkConfig.tokenStore.removeToken();\n }\n\n return response;\n };\n}\n\nexport async function handleResponseFailure(\n sdk: SharetribeSdk | IntegrationSdk,\n error: AxiosError | any\n) {\n if (!sdk.sdkConfig.tokenStore) {\n throw new Error(\"Token store is not set\");\n }\n\n try {\n const originalRequest = error.config as ExtendedInternalAxiosRequestConfig;\n\n // Parse response data if needed\n if (error.response && isTransit(error.response)) {\n const {reader} = createTransitConverters(sdk.sdkConfig.typeHandlers, {\n verbose: sdk.sdkConfig.transitVerbose,\n });\n error.response.data = reader.read(error.response.data as string);\n } else if (error.response && isJson(error.response)) {\n error.response.data = JSON.parse(error.response.data as string);\n }\n\n if (error.response && isTokenUnauthorized(error.response.status) && originalRequest.url?.includes(\"/auth/token\")) {\n sdk.sdkConfig.tokenStore.removeToken();\n return Promise.reject(createSharetribeApiError(error));\n }\n\n // Handle token refresh on 401/403 errors\n if (error.response && isTokenExpired(error.response.status)) {\n const token = await sdk.sdkConfig.tokenStore.getToken();\n if (token && token.refresh_token) {\n // Get a new token\n const response = await sdk.auth.token<RefreshTokenRequest>({\n client_id: sdk.sdkConfig.clientId,\n grant_type: \"refresh_token\",\n refresh_token: token.refresh_token,\n });\n\n // Update the request with the new token\n originalRequest.headers.Authorization = prepareAuthorizationHeader(\n response.data\n );\n\n // Store the new token\n sdk.sdkConfig.tokenStore.setToken(response.data);\n\n // Retry the request\n return sdk.axios(originalRequest);\n }\n\n if (isAuthTokenUnauthorized(error)) {\n return Promise.reject(createSharetribeApiError(error));\n }\n\n // Token is a public-read token or does not exist\n // We need to get a new public-read token\n if (token && !token.refresh_token || !token) {\n // Get a new public-read token\n const response = await sdk.auth.token<AnonymousTokenRequest>({\n client_id: sdk.sdkConfig.clientId,\n grant_type: \"client_credentials\",\n scope: \"public-read\",\n });\n\n originalRequest.headers.Authorization = prepareAuthorizationHeader(\n response.data\n );\n\n // Store the new token\n sdk.sdkConfig.tokenStore.setToken(response.data);\n\n return sdk.axios(originalRequest);\n }\n }\n\n // Handle trusted user check\n if (\n error.response &&\n isTokenUnauthorized(error.response.status) &&\n routeNeedsTrustedUser(originalRequest, sdk)\n ) {\n const token = await sdk.sdkConfig.tokenStore.getToken();\n if (token?.scope !== \"trusted:user\") {\n console.error(\"Token is not trusted:user\");\n return Promise.reject(createSharetribeApiError(error));\n }\n }\n\n // Default error handling\n return Promise.reject(createSharetribeApiError(error));\n } catch (e) {\n console.error(\"Error in handleResponseFailure:\", e);\n return Promise.reject(e);\n }\n}\n\nexport async function handleRequestSuccess(\n sdk: SharetribeSdk | IntegrationSdk,\n requestConfig: InternalAxiosRequestConfig\n): Promise<InternalAxiosRequestConfig> {\n if (!sdk.sdkConfig.tokenStore) {\n throw new Error(\"Token store is not set\");\n }\n\n if (requestConfig.url?.includes(\"auth/revoke\")) {\n const authToken = sdk.sdkConfig.tokenStore.getToken();\n requestConfig.headers.Authorization = prepareAuthorizationHeader(authToken);\n return requestConfig;\n }\n\n if (\n requestConfig.headers[\"Content-Type\"] ===\n \"application/x-www-form-urlencoded\"\n ) {\n return requestConfig;\n }\n\n // Anonymous requests are allowed to use the public-read scope\n const isAnonymousRequest =\n requestConfig?.data?.grant_type === \"client_credentials\" &&\n requestConfig?.data?.scope === \"public-read\";\n if (isAnonymousRequest) {\n return requestConfig;\n }\n\n // when the request has no Authorization header, we need to add it\n if (!requestConfig.headers.Authorization) {\n const authToken = sdk.sdkConfig.tokenStore.getToken();\n if (authToken) {\n requestConfig.headers.Authorization =\n prepareAuthorizationHeader(authToken);\n } else {\n let response: AxiosResponse<any>;\n if (sdk instanceof SharetribeSdk) {\n response = await sdk.auth.token<AnonymousTokenRequest>({\n client_id: sdk.sdkConfig.clientId,\n grant_type: \"client_credentials\",\n scope: \"public-read\",\n });\n } else if (sdk instanceof IntegrationSdk) {\n if (!sdk.sdkConfig.clientSecret) {\n throw new Error(\"clientSecret is required for integration SDK\");\n }\n\n response = await sdk.auth.token<IntegrationTokenRequest>({\n client_id: sdk.sdkConfig.clientId,\n client_secret: sdk.sdkConfig.clientSecret,\n grant_type: \"client_credentials\",\n scope: \"integ\",\n });\n } else {\n throw new Error(\"Invalid SDK instance\");\n }\n\n sdk.sdkConfig.tokenStore.setToken(response.data);\n\n requestConfig.headers.Authorization = prepareAuthorizationHeader(\n response.data\n );\n }\n }\n\n // Convert data parameter to query Parameters\n if (requestConfig.data) {\n if (requestConfig.data instanceof FormData) {\n const newFormData = new FormData();\n requestConfig.data.forEach((value, key) => {\n const isQueryParameter = QUERY_PARAMETERS.find(\n (param) => key === param || key.startsWith(param)\n );\n if (isQueryParameter) {\n requestConfig.params = {\n ...requestConfig.params,\n [key]: Array.isArray(value) ? value.join(\",\") : value,\n };\n } else {\n newFormData.append(key, value);\n }\n });\n requestConfig.data = newFormData;\n } else {\n Object.keys(requestConfig.data).forEach((key) => {\n const isQueryParameter = QUERY_PARAMETERS.find(\n (param) => key === param || key.startsWith(param)\n );\n if (isQueryParameter) {\n requestConfig.params = {\n ...requestConfig.params,\n [key]: Array.isArray(requestConfig.data[key])\n ? requestConfig.data[key].join(\",\")\n : requestConfig.data[key],\n };\n delete requestConfig.data[key];\n }\n });\n }\n }\n\n // Turn sdkTypes into non sdkType objects\n if (requestConfig.method === \"post\") {\n if (requestConfig.url?.endsWith(\"/upload\")) {\n delete requestConfig.headers[\"Content-Type\"]\n } else {\n const {writer} = createTransitConverters(sdk.sdkConfig.typeHandlers, {\n verbose: sdk.sdkConfig.transitVerbose,\n });\n requestConfig.data = writer.write(requestConfig.data);\n requestConfig.headers[\"Content-Type\"] = \"application/transit+json\";\n }\n }\n\n return requestConfig;\n}\n\nexport function createAxiosConfig(\n sdk: SharetribeSdk | IntegrationSdk,\n config: AxiosRequestConfig\n) {\n config.headers = {\n ...config.headers,\n Accept: \"application/transit+json\",\n };\n config.transformRequest = (v) => v;\n config.transformResponse = (v) => v;\n if (sdk.sdkConfig.transitVerbose) {\n config.headers[\"X-Transit-Verbose\"] = true;\n }\n return config;\n}\n\n// Main setup function\nexport function prepareAxiosInstance(sdk: SharetribeSdk | IntegrationSdk) {\n try {\n const retryConfig: IAxiosRetryConfig = {\n retries: 3, // Number of retries\n retryDelay: axiosRetry.exponentialDelay,\n };\n\n // Use type assertion to bypass TypeScript error\n (axiosRetry as any)(sdk.axios, retryConfig);\n } catch (e) {\n console.warn(\"Failed to initialize axios-retry:\", e);\n }\n\n sdk.axios.interceptors.response.use(\n handleResponseSuccess(sdk),\n (error: AxiosError) => handleResponseFailure(sdk, error)\n );\n sdk.axios.interceptors.request.use((config: InternalAxiosRequestConfig) =>\n handleRequestSuccess(sdk, config)\n );\n sdk.axios.defaults.paramsSerializer = parameterSerializer;\n}","import {ApiConfigs, SdkConfig} from \"./types\";\nimport {createApisConfigs} from \"./utils/apis\";\nimport axios, {AxiosInstance, AxiosResponse} from \"axios\";\nimport AuthenticationApi from \"./endpoints/auth\";\nimport MarketplaceApi from \"./endpoints/marketplace\";\nimport {createAxiosConfig, prepareAxiosInstance,} from \"./utils/prepare-axios-instance\";\nimport Listings from \"./endpoints/marketplace/Listings\";\nimport AvailabilityExceptions from \"./endpoints/marketplace/AvailabilityExceptions\";\nimport Bookings from \"./endpoints/marketplace/Bookings\";\nimport CurrentUser from \"./endpoints/marketplace/CurrentUser\";\nimport Images from \"./endpoints/marketplace/Images\";\nimport Marketplace from \"./endpoints/marketplace/Marketplace\";\nimport Messages from \"./endpoints/marketplace/Messages\";\nimport OwnListings from \"./endpoints/marketplace/OwnListings\";\nimport PasswordReset from \"./endpoints/marketplace/PasswordReset\";\nimport ProcessTransitions from \"./endpoints/marketplace/ProcessTransitions\";\nimport Reviews from \"./endpoints/marketplace/Reviews\";\nimport Stock from \"./endpoints/marketplace/Stock\";\nimport StockAdjustments from \"./endpoints/marketplace/StockAdjustments\";\nimport StripeAccount from \"./endpoints/marketplace/StripeAccount\";\nimport StripeAccountLinks from \"./endpoints/marketplace/StripeAccountLinks\";\nimport StripeCustomer from \"./endpoints/marketplace/StripeCustomer\";\nimport StripePersons from \"./endpoints/marketplace/StripePersons\";\nimport StripeSetupIntents from \"./endpoints/marketplace/StripeSetupIntents\";\nimport TimeSlots from \"./endpoints/marketplace/TimeSlots\";\nimport Transactions from \"./endpoints/marketplace/Transactions\";\nimport Users from \"./endpoints/marketplace/Users\";\nimport {\n AnonymousTokenRequest,\n AuthInfoResponse,\n AuthToken,\n LoginParameter,\n LoginWithIdpParameter,\n RevokeResponse,\n Scope,\n TokenResponse,\n TrustedUserTokenRequest,\n UserTokenRequest,\n UserTokenRequestWithAuthCode,\n} from \"./types\";\nimport AssetsApi from \"./endpoints/assets\";\nimport {DefaultSdkConfig} from \"./utils/config\";\n\nclass SharetribeSdk {\n /**\n * The SDK configuration object.\n * @type {SdkConfig}\n */\n sdkConfig: SdkConfig;\n\n /**\n * The API configuration object.\n * @type {ApiConfigs}\n */\n apisConfigs: ApiConfigs;\n\n /**\n * Axios instance for making HTTP requests.\n * @type {AxiosInstance}\n */\n axios: AxiosInstance;\n\n /**\n * Endpoint for handling authentication.\n * @type {AuthenticationApi}\n */\n auth: AuthenticationApi;\n\n /**\n * Main marketplace API instance.\n * @type {MarketplaceApi}\n */\n api: MarketplaceApi;\n\n /**\n * Assets API instance for managing assets.\n * @type {AssetsApi}\n */\n assetsApi: AssetsApi;\n\n // API Endpoints\n\n /**\n * Endpoint for managing listings.\n * @type {Listings}\n */\n listings: Listings;\n\n /**\n * Endpoint for managing availability exceptions.\n * @type {AvailabilityExceptions}\n */\n availabilityExceptions: AvailabilityExceptions;\n\n /**\n * Endpoint for managing bookings.\n * @type {Bookings}\n * */\n bookings: Bookings;\n\n /**\n * Endpoint for managing the current user.\n * @type {CurrentUser}\n */\n currentUser: CurrentUser;\n\n /**\n * Endpoint for handling images.\n * @type {Images}\n */\n images: Images;\n\n /**\n * Endpoint for accessing marketplace details.\n * @type {Marketplace}\n */\n marketplace: Marketplace;\n\n /**\n * Endpoint for managing messages.\n * @type {Messages}\n */\n messages: Messages;\n\n /**\n * Endpoint for managing own listings.\n * @type {OwnListings} */\n ownListings: OwnListings;\n\n /**\n * Endpoint for managing password resets.\n * @type {PasswordReset} */\n passwordReset: PasswordReset;\n\n /**\n * Endpoint for managing process transitions.\n * @type {ProcessTransitions} */\n processTransitions: ProcessTransitions;\n\n /**\n * Endpoint for managing reviews.\n * @type {Reviews} */\n reviews: Reviews;\n\n /**\n * Endpoint for managing stock.\n * @type {Stock} */\n stock: Stock;\n\n /**\n * Endpoint for managing stock adjustments.\n * @type {StockAdjustments} */\n stockAdjustments: StockAdjustments;\n\n /**\n * Endpoint for managing stripe accounts.\n * @type {StripeAccount} */\n stripeAccount: StripeAccount;\n\n /**\n * Endpoint for managing stripe account links.\n * @type {StripeAccountLinks} */\n stripeAccountLinks: StripeAccountLinks;\n\n /**\n * Endpoint for managing stripe customers.\n * @type {StripeCustomer} */\n stripeCustomer: StripeCustomer;\n\n /**\n * Endpoint for managing stripe persons.\n * @type {StripePersons} */\n stripePersons: StripePersons;\n\n /**\n * Endpoint for managing stripe setup intents.\n * @type {StripeSetupIntents} */\n stripeSetupIntents: StripeSetupIntents;\n\n /**\n * Endpoint for managing timeslots.\n * @type {TimeSlots} */\n timeslots: TimeSlots;\n\n /**\n * Endpoint for managing transactions.\n * @type {Transactions} */\n transactions: Transactions;\n\n /**\n * Endpoint for managing users.\n * @type {Users} */\n users: Users;\n\n // Asset Endpoints\n\n /** @type {AssetsApi['assetByAlias']} */\n assetByAlias: AssetsApi[\"assetByAlias\"];\n\n /** @type {AssetsApi['assetsByAlias']} */\n assetsByAlias: AssetsApi[\"assetsByAlias\"];\n\n /** @type {AssetsApi['assetByVersion']} */\n assetByVersion: AssetsApi[\"assetByVersion\"];\n\n /** @type {AssetsApi['assetsByVersion']} */\n assetsByVersion: AssetsApi[\"assetsByVersion\"];\n\n /**\n * Creates an instance of the Sharetribe SDK.\n *\n * @constructor\n * @param {SdkConfig} config - The configuration object for the SDK.\n */\n constructor(config: SdkConfig) {\n this.sdkConfig = {\n ...DefaultSdkConfig,\n ...config,\n };\n\n this.apisConfigs = createApisConfigs();\n this.axios = axios.create(\n createAxiosConfig(this, {\n baseURL: `${this.sdkConfig.baseUrl}/${this.sdkConfig.version}/`,\n httpAgent: this.sdkConfig.httpAgent,\n httpsAgent: this.sdkConfig.httpsAgent,\n })\n );\n prepareAxiosInstance(this);\n\n this.auth = new AuthenticationApi(this);\n this.api = new MarketplaceApi(this);\n this.assetsApi = new AssetsApi(this);\n\n // Api Endpoints\n this.availabilityExceptions = this.api.availabilityExceptions;\n this.bookings = this.api.bookings;\n this.currentUser = this.api.currentUser;\n this.images = this.api.images;\n this.listings = this.api.listings;\n this.marketplace = this.api.marketplace;\n this.messages = this.api.messages;\n this.ownListings = this.api.ownListings;\n this.passwordReset = this.api.passwordReset;\n this.processTransitions = this.api.processTransitions;\n this.reviews = this.api.reviews;\n this.stock = this.api.stock;\n this.stockAdjustments = this.api.stockAdjustments;\n this.stripeAccount = this.api.stripeAccount;\n this.stripeAccountLinks = this.api.stripeAccountLinks;\n this.stripeCustomer = this.api.stripeCustomer;\n this.stripePersons = this.api.stripePersons;\n this.stripeSetupIntents = this.api.stripeSetupIntents;\n this.timeslots = this.api.timeslots;\n this.transactions = this.api.transactions;\n this.users = this.api.users;\n\n // Asset Endpoints\n this.assetByAlias = this.assetsApi.assetByAlias;\n this.assetsByAlias = this.assetsApi.assetsByAlias;\n this.assetByVersion = this.assetsApi.assetByVersion;\n this.assetsByVersion = this.assetsApi.assetsByVersion;\n }\n\n /**\n * Logs in a user using their credentials.\n *\n * @async\n * @param {LoginParameter} params - The login parameters.\n * @returns {Promise<AuthToken>} - The authentication token.\n */\n async login(\n params: LoginParameter<'user'>\n ): Promise<AxiosResponse<TokenResponse<UserTokenRequest>>> {\n return this.auth.token<UserTokenRequest>({\n client_id: this.sdkConfig.clientId,\n scope: \"user\",\n grant_type: \"password\",\n ...params,\n });\n }\n\n /**\n * Logs in the marketplace operator as the marketplace user and returns a Promise\n *\n * @async\n * @param {LoginParameter} params - The login parameters.\n * @returns {Promise<AuthToken>} - The authentication token.\n */\n async loginAs(\n params: LoginParameter<'auth_code'>\n ): Promise<AxiosResponse<TokenResponse<UserTokenRequestWithAuthCode>>> {\n return this.auth.token<UserTokenRequestWithAuthCode>({\n client_id: this.sdkConfig.clientId,\n grant_type: \"authorization_code\",\n scope: \"user\",\n ...params,\n });\n }\n\n /**\n * Logs in a user using an identity provider (IDP).\n *\n * @async\n * @param {LoginWithIdpParameter} params - The IDP login parameters.\n * @returns {Promise<AuthToken>} - The authentication token.\n */\n async loginWithIdp(\n params: LoginWithIdpParameter\n ): Promise<AxiosResponse<TokenResponse<UserTokenRequest>>> {\n if (this.sdkConfig.clientSecret === undefined) {\n throw new Error(\"clientSecret is required to login with idp\");\n }\n return this.auth.authWithIdp({\n client_id: this.sdkConfig.clientId,\n client_secret: this.sdkConfig.clientSecret!,\n ...params,\n });\n }\n\n /**\n * Logs out the current user.\n *\n * @async\n * @returns {Promise<void>} - Resolves when the user is logged out.\n */\n async logout(): Promise<AxiosResponse<RevokeResponse>> {\n const {access_token} = (this.sdkConfig.tokenStore!.getToken()) as AuthToken;\n return this.auth.revoke(access_token);\n }\n\n /**\n * Exchanges the current token for a trusted user token.\n *\n * @async\n * @returns {Promise<AuthToken>} - The exchanged token.\n */\n async exchangeToken(): Promise<AxiosResponse<TokenResponse<TrustedUserTokenRequest>>> {\n const {access_token} = (await this.sdkConfig.tokenStore!.getToken())!;\n if (this.sdkConfig.clientSecret === undefined) {\n throw new Error(\"clientSecret is required to exchange token\");\n }\n return this.auth.token<TrustedUserTokenRequest>({\n client_id: this.sdkConfig.clientId,\n client_secret: this.sdkConfig.clientSecret!,\n grant_type: \"token_exchange\",\n scope: \"trusted:user\",\n subject_token: access_token,\n });\n }\n\n /**\n * Retrieves authentication info for the current user.\n *\n * @async\n * @returns {Promise<AuthInfoResponse>} - The authentication info.\n */\n async authInfo(): Promise<AuthInfoResponse> {\n const storedToken = await this.sdkConfig.tokenStore!.getToken()!;\n\n if (storedToken) {\n const tokenScope = storedToken.scope as Scope;\n\n if (tokenScope) {\n const scopes = tokenScope.split(' ') as Scope[];\n const isAnonymous = tokenScope === 'public-read';\n\n // Deprecated attribute, maintained here for client implementations\n // that rely on this attribute\n const grantType = isAnonymous ? 'client_credentials' : 'refresh_token';\n\n return {scopes, isAnonymous, grantType}\n }\n\n // Support old tokens that are stored in the client's token store\n // and possibly do not have the scope attribute\n const isAnonymous = !storedToken.refresh_token;\n const grantType = isAnonymous ? 'client_credentials' : 'refresh_token';\n return {isAnonymous, grantType}\n }\n\n const response = await this.auth.token<AnonymousTokenRequest>({\n client_id: this.sdkConfig.clientId,\n grant_type: \"client_credentials\",\n scope: \"public-read\",\n })\n\n if (response.data.access_token) {\n return {isAnonymous: true, grantType: 'client_credentials', scopes: [\"public-read\"]};\n }\n\n return {};\n }\n}\n\nexport default SharetribeSdk;\n","/**\n * @fileoverview Client for querying events in the Sharetribe Integration API.\n *\n * The Events API provides a stream of marketplace events (e.g. listing created, transaction transitioned)\n * for building integrations, webhooks, analytics, or real-time features.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#events\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {EventsQueryParameter, EventsResponse} from \"../../types\";\n\n/**\n * Events API client\n */\nclass Events {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/events`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query marketplace events\n *\n * @template P\n * @param {P & EventsQueryParameter} params - Query filters and pagination\n * @returns {Promise<AxiosResponse<EventsResponse<\"query\">>>}\n *\n * @example\n * // Fetch events after a specific sequence ID\n * const response = await sdk.events.query({\n * startAfterSequenceId: 12345,\n * eventTypes: [\"transaction/initiated\", \"booking/created\"]\n * });\n *\n * @example\n * // Fetch recent events for a specific listing\n * await sdk.events.query({\n * resourceId: \"listing-abc-123\",\n * createdAtStart: \"2025-01-01T00:00:00Z\"\n * });\n */\n async query<P extends EventsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<EventsResponse<\"query\">>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default Events;","/**\n * @fileoverview Client for managing listing stock in the Sharetribe Marketplace API.\n *\n * Use this to safely update stock levels using atomic compare-and-set operations.\n * Prevents race conditions when multiple users try to book simultaneously.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stock\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, StockCompareAndSetParameter, StockResponse,} from \"../../types\";\n\n/**\n * Stock API client (own listings only)\n */\nclass Stock {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stock`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Atomically update stock using compare-and-set\n *\n * Fails if current stock doesn't match `oldTotal` — prevents overselling.\n *\n * @template P\n * @template EP\n * @param {P & StockCompareAndSetParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<StockResponse<\"compareAndSet\", EP>>>}\n *\n * @example\n * // Reserve 2 units if current stock is 10\n * await sdk.stock.compareAndSet({\n * listingId: \"listing-abc123\",\n * oldTotal: 10,\n * newTotal: 8\n * });\n *\n * @example\n * // Restock from 5 to 50\n * await sdk.stock.compareAndSet({\n * listingId: \"listing-abc123\",\n * oldTotal: 5,\n * newTotal: 50\n * });\n */\n async compareAndSet<\n P extends StockCompareAndSetParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StockResponse<\"compareAndSet\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/compare_and_set`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Stock;","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","/**\n * @fileoverview Client for creating Stripe Setup Intents in the Sharetribe Marketplace API.\n *\n * A Setup Intent is used to save a payment method (e.g. card) for future use\n * without charging immediately — ideal for marketplaces that charge later.\n *\n * Returns `client_secret` for use with Stripe.js / Elements.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stripe-setup-intents\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, StripeSetupIntentsCreateParameter, StripeSetupIntentsResponse,} from \"../../types\";\n\n/**\n * Stripe Setup Intents API client (current user)\n */\nclass StripeSetupIntents {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stripe_setup_intents`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Create a new Setup Intent for saving a payment method\n *\n * @template P\n * @template EP\n * @param {P & StripeSetupIntentsCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeSetupIntentsResponse<\"create\">>>}\n *\n * @example\n * const { data } = await sdk.stripeSetupIntents.create({});\n *\n * // Use with Stripe.js\n * stripe.confirmCardSetup(data.attributes.clientSecret, {\n * payment_method: { card: cardElement }\n * });\n */\n async create<\n P extends StripeSetupIntentsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P = {} as P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeSetupIntentsResponse<\"create\">>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StripeSetupIntents;","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","/**\n * @fileoverview Client for password reset operations in the Sharetribe Marketplace API.\n *\n * Use this to request a password-reset email and to complete the password reset flow.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#password-reset\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n PasswordResetRequestParameter,\n PasswordResetResetParameter,\n PasswordResetResponse,\n} from \"../../types\";\n\n/**\n * Password Reset API client\n */\nclass PasswordReset {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/password_reset`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Request a password-reset email\n *\n * @template P\n * @template EP\n * @param {P & PasswordResetRequestParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<PasswordResetResponse<\"request\", EP>>>}\n *\n * @example\n * await sdk.passwordReset.request({ email: \"user@example.com\" });\n */\n async request<\n P extends PasswordResetRequestParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<PasswordResetResponse<\"request\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/request`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Complete password reset using the token received by email\n *\n * @template P\n * @template EP\n * @param {P & PasswordResetResetParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<PasswordResetResponse<\"reset\", EP>>>}\n *\n * @example\n * await sdk.passwordReset.reset({\n * email: \"user@example.com\",\n * passwordResetToken: \"abc123...\",\n * newPassword: \"newSecurePassword123\"\n * });\n */\n async reset<\n P extends PasswordResetResetParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<PasswordResetResponse<\"reset\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/reset`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default PasswordReset;","/**\n * Class representing a high-precision decimal number.\n *\n * The BigDecimal class ensures that large decimal numbers are stored as strings\n * to avoid precision loss during computations.\n */\n\nimport {SdkType} from \"../types\";\n\n// Define a static class name\nconst BIGDECIMAL_SDK_TYPE = \"BigDecimal\";\n\nclass BigDecimal implements SdkType {\n value: string;\n readonly _sdkType: typeof BIGDECIMAL_SDK_TYPE;\n\n /**\n * Creates an instance of the BigDecimal class.\n *\n * @param {any} value - The value to be stored as a BigDecimal. It must be convertible to a string.\n * @example\n * const bigDecimal = new BigDecimal('123456789.123456789');\n */\n constructor(value: any) {\n this._sdkType = BIGDECIMAL_SDK_TYPE;\n\n if (typeof value !== \"string\") {\n console.warn(\n \"BigDecimal must be initialized with a string to ensure precision.\"\n );\n }\n // Convert the value to a string to maintain compatibility and precision.\n this.value = String(value);\n }\n\n /**\n * Converts the BigDecimal instance to a string representation.\n *\n * @returns {string} - The string representation of the BigDecimal.\n * @example\n * const bigDecimal = new BigDecimal('123456789.123456789');\n * console.log(bigDecimal.toString()); // Outputs: '123456789.123456789'\n */\n toString(): string {\n return `${this.value}`;\n }\n}\n\n// Default export for backward compatibility\nexport default BigDecimal;\n","// eslint-disable-next-line strict\nexport default null;\n","/**\n * @fileoverview Client for managing the current user's Stripe Customer object in the Sharetribe Marketplace API.\n *\n * Use this to:\n * - Create a Stripe Customer (required for charging users)\n * - Attach payment methods (e.g. saved cards)\n * - Remove payment methods\n *\n * All operations are performed on the current authenticated user.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stripe-customer\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n StripeCustomerAddPaymentMethodParameter,\n StripeCustomerCreateParameter,\n StripeCustomerDeletePaymentMethodParameter,\n StripeCustomerResponse,\n} from \"../../types\";\n\n/**\n * Stripe Customer API client (current user)\n */\nclass StripeCustomer {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stripe_customer`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Create a Stripe Customer for the current user\n *\n * @template P\n * @template EP\n * @param {P & StripeCustomerCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeCustomerResponse<\"create\", P, EP>>>}\n *\n * @example\n * await sdk.stripeCustomer.create({\n * stripePaymentMethodId: \"pm_card_visa\",\n * stripeCustomerEmail: \"user@example.com\"\n * });\n */\n async create<\n P extends StripeCustomerCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeCustomerResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Attach a new payment method to the current user's Stripe Customer\n *\n * @template P\n * @template EP\n * @param {P & StripeCustomerAddPaymentMethodParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeCustomerResponse<\"addPaymentMethod\", P, EP>>>}\n */\n async addPaymentMethod<\n P extends StripeCustomerAddPaymentMethodParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeCustomerResponse<\"addPaymentMethod\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/add_payment_method`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Remove a saved payment method\n *\n * @template P\n * @template EP\n * @param {P & StripeCustomerDeletePaymentMethodParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeCustomerResponse<\"deletePaymentMethod\", P, EP>>>}\n */\n async deletePaymentMethod<\n P extends StripeCustomerDeletePaymentMethodParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeCustomerResponse<\"deletePaymentMethod\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/delete_payment_method`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StripeCustomer;","import {AuthToken, TokenStore} from \"../../types\";\n\n/**\n * `MemoryStore` is an in-memory implementation of the `TokenStore` interface.\n * It is suitable for short-lived or testing purposes, where tokens do not need to persist beyond the application's lifecycle.\n */\nclass MemoryStore implements TokenStore {\n token: AuthToken | null = null; // Holds the token in memory\n\n /**\n * Retrieves the stored authentication token.\n * @returns A promise resolving to the `AuthToken` or `null` if no token is stored.\n */\n getToken(): AuthToken | null {\n return this.token;\n }\n\n /**\n * Removes the stored authentication token from memory.\n */\n removeToken(): void {\n this.token = null;\n }\n\n /**\n * Stores the provided authentication token in memory.\n * @param token - The authentication token to store.\n */\n setToken(token: AuthToken): void {\n this.token = token;\n }\n}\n\nexport default MemoryStore;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","/**\n * @fileoverview Provides the StockReservation class for managing stock reservations in the Sharetribe Integration API.\n * This class allows retrieving details about stock reservations.\n *\n * For more details, refer to the Integration API documentation:\n * https://www.sharetribe.com/api-reference/integration.html#stock-reservations\n */\n\nimport {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {StockReservationShowParameter, StockReservationsResponse,} from \"../../types\";\n\n/**\n * Class representing the Stock Reservations API.\n *\n * The Stock Reservations API provides methods to manage stock reservations for marketplace resources.\n */\nclass StockReservations {\n private readonly endpoint: string;\n private readonly axios: AxiosInstance;\n private readonly headers: Record<string, string>;\n\n /**\n * Creates an instance of the StockReservation class.\n *\n * @param {IntegrationApi} api - The Integration API instance providing configuration and request handling.\n */\n constructor(api: IntegrationApi) {\n this.endpoint = api.endpoint + \"/stock_reservations\";\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Retrieves details about a specific stock reservation.\n *\n * @template P\n * @param {P & StockReservationShowParameter} params - The parameters to identify the stock reservation.\n * @returns {Promise<AxiosResponse<StockReservationsResponse<'show', P>>>} - A promise resolving to the stock reservation details.\n *\n * @example\n * const response = await integrationSdk.stockReservations.show({\n * id: 'reservation-id',\n * });\n *\n * const reservationDetails = response.data;\n */\n async show<P extends StockReservationShowParameter>(\n params: P\n ): Promise<AxiosResponse<StockReservationsResponse<\"show\", P>>> {\n return this.axios.get<StockReservationsResponse<\"show\", P>>(\n `${this.endpoint}/show`,\n {headers: this.headers, params}\n );\n }\n}\n\nexport default StockReservations;\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","// transit-js 0.8.877\n// http://transit-format.org\n// \n// Copyright 2014 Cognitect. All Rights Reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS-IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License..\n/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n'use strict';\nvar COMPILED = !0, goog = goog || {};\ngoog.global = this || self;\ngoog.exportPath_ = function(a, b, c, d) {\n a = a.split(\".\");\n d = d || goog.global;\n a[0] in d || \"undefined\" == typeof d.execScript || d.execScript(\"var \" + a[0]);\n for (var e; a.length && (e = a.shift());) {\n if (a.length || void 0 === b) {\n d = d[e] && d[e] !== Object.prototype[e] ? d[e] : d[e] = {};\n } else {\n if (!c && goog.isObject(b) && goog.isObject(d[e])) {\n for (var f in b) {\n b.hasOwnProperty(f) && (d[e][f] = b[f]);\n }\n } else {\n d[e] = b;\n }\n }\n }\n};\ngoog.define = function(a, b) {\n if (!COMPILED) {\n var c = goog.global.CLOSURE_UNCOMPILED_DEFINES, d = goog.global.CLOSURE_DEFINES;\n c && void 0 === c.nodeType && Object.prototype.hasOwnProperty.call(c, a) ? b = c[a] : d && void 0 === d.nodeType && Object.prototype.hasOwnProperty.call(d, a) && (b = d[a]);\n }\n return b;\n};\ngoog.FEATURESET_YEAR = 2012;\ngoog.DEBUG = !0;\ngoog.LOCALE = \"en\";\ngoog.TRUSTED_SITE = !0;\ngoog.DISALLOW_TEST_ONLY_CODE = COMPILED && !goog.DEBUG;\ngoog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING = !1;\ngoog.provide = function(a) {\n if (goog.isInModuleLoader_()) {\n throw Error(\"goog.provide cannot be used within a module.\");\n }\n if (!COMPILED && goog.isProvided_(a)) {\n throw Error('Namespace \"' + a + '\" already declared.');\n }\n goog.constructNamespace_(a);\n};\ngoog.constructNamespace_ = function(a, b, c) {\n if (!COMPILED) {\n delete goog.implicitNamespaces_[a];\n for (var d = a; (d = d.substring(0, d.lastIndexOf(\".\"))) && !goog.getObjectByName(d);) {\n goog.implicitNamespaces_[d] = !0;\n }\n }\n goog.exportPath_(a, b, c);\n};\ngoog.getScriptNonce = function(a) {\n if (a && a != goog.global) {\n return goog.getScriptNonce_(a.document);\n }\n null === goog.cspNonce_ && (goog.cspNonce_ = goog.getScriptNonce_(goog.global.document));\n return goog.cspNonce_;\n};\ngoog.NONCE_PATTERN_ = /^[\\w+/_-]+[=]{0,2}$/;\ngoog.cspNonce_ = null;\ngoog.getScriptNonce_ = function(a) {\n return (a = a.querySelector && a.querySelector(\"script[nonce]\")) && (a = a.nonce || a.getAttribute(\"nonce\")) && goog.NONCE_PATTERN_.test(a) ? a : \"\";\n};\ngoog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/;\ngoog.module = function(a) {\n if (\"string\" !== typeof a || !a || -1 == a.search(goog.VALID_MODULE_RE_)) {\n throw Error(\"Invalid module identifier\");\n }\n if (!goog.isInGoogModuleLoader_()) {\n throw Error(\"Module \" + a + \" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.\");\n }\n if (goog.moduleLoaderState_.moduleName) {\n throw Error(\"goog.module may only be called once per module.\");\n }\n goog.moduleLoaderState_.moduleName = a;\n if (!COMPILED) {\n if (goog.isProvided_(a)) {\n throw Error('Namespace \"' + a + '\" already declared.');\n }\n delete goog.implicitNamespaces_[a];\n }\n};\ngoog.module.get = function(a) {\n return goog.module.getInternal_(a);\n};\ngoog.module.getInternal_ = function(a) {\n if (!COMPILED) {\n if (a in goog.loadedModules_) {\n return goog.loadedModules_[a].exports;\n }\n if (!goog.implicitNamespaces_[a]) {\n return a = goog.getObjectByName(a), null != a ? a : null;\n }\n }\n return null;\n};\ngoog.ModuleType = {ES6:\"es6\", GOOG:\"goog\"};\ngoog.moduleLoaderState_ = null;\ngoog.isInModuleLoader_ = function() {\n return goog.isInGoogModuleLoader_() || goog.isInEs6ModuleLoader_();\n};\ngoog.isInGoogModuleLoader_ = function() {\n return !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.GOOG;\n};\ngoog.isInEs6ModuleLoader_ = function() {\n if (goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.ES6) {\n return !0;\n }\n var a = goog.global.$jscomp;\n return a ? \"function\" != typeof a.getCurrentModulePath ? !1 : !!a.getCurrentModulePath() : !1;\n};\ngoog.module.declareLegacyNamespace = function() {\n if (!COMPILED && !goog.isInGoogModuleLoader_()) {\n throw Error(\"goog.module.declareLegacyNamespace must be called from within a goog.module\");\n }\n if (!COMPILED && !goog.moduleLoaderState_.moduleName) {\n throw Error(\"goog.module must be called prior to goog.module.declareLegacyNamespace.\");\n }\n goog.moduleLoaderState_.declareLegacyNamespace = !0;\n};\ngoog.declareModuleId = function(a) {\n if (!COMPILED) {\n if (!goog.isInEs6ModuleLoader_()) {\n throw Error(\"goog.declareModuleId may only be called from within an ES6 module\");\n }\n if (goog.moduleLoaderState_ && goog.moduleLoaderState_.moduleName) {\n throw Error(\"goog.declareModuleId may only be called once per module.\");\n }\n if (a in goog.loadedModules_) {\n throw Error('Module with namespace \"' + a + '\" already exists.');\n }\n }\n if (goog.moduleLoaderState_) {\n goog.moduleLoaderState_.moduleName = a;\n } else {\n var b = goog.global.$jscomp;\n if (!b || \"function\" != typeof b.getCurrentModulePath) {\n throw Error('Module with namespace \"' + a + '\" has been loaded incorrectly.');\n }\n b = b.require(b.getCurrentModulePath());\n goog.loadedModules_[a] = {exports:b, type:goog.ModuleType.ES6, moduleId:a};\n }\n};\ngoog.setTestOnly = function(a) {\n if (goog.DISALLOW_TEST_ONLY_CODE) {\n throw a = a || \"\", Error(\"Importing test-only code into non-debug environment\" + (a ? \": \" + a : \".\"));\n }\n};\ngoog.forwardDeclare = function(a) {\n};\nCOMPILED || (goog.isProvided_ = function(a) {\n return a in goog.loadedModules_ || !goog.implicitNamespaces_[a] && null != goog.getObjectByName(a);\n}, goog.implicitNamespaces_ = {\"goog.module\":!0});\ngoog.getObjectByName = function(a, b) {\n a = a.split(\".\");\n b = b || goog.global;\n for (var c = 0; c < a.length; c++) {\n if (b = b[a[c]], null == b) {\n return null;\n }\n }\n return b;\n};\ngoog.addDependency = function(a, b, c, d) {\n !COMPILED && goog.DEPENDENCIES_ENABLED && goog.debugLoader_.addDependency(a, b, c, d);\n};\ngoog.ENABLE_DEBUG_LOADER = !0;\ngoog.logToConsole_ = function(a) {\n goog.global.console && goog.global.console.error(a);\n};\ngoog.require = function(a) {\n if (!COMPILED) {\n goog.ENABLE_DEBUG_LOADER && goog.debugLoader_.requested(a);\n if (goog.isProvided_(a)) {\n if (goog.isInModuleLoader_()) {\n return goog.module.getInternal_(a);\n }\n } else {\n if (goog.ENABLE_DEBUG_LOADER) {\n var b = goog.moduleLoaderState_;\n goog.moduleLoaderState_ = null;\n try {\n goog.debugLoader_.load_(a);\n } finally {\n goog.moduleLoaderState_ = b;\n }\n }\n }\n return null;\n }\n};\ngoog.requireType = function(a) {\n return {};\n};\ngoog.basePath = \"\";\ngoog.nullFunction = function() {\n};\ngoog.abstractMethod = function() {\n throw Error(\"unimplemented abstract method\");\n};\ngoog.addSingletonGetter = function(a) {\n a.instance_ = void 0;\n a.getInstance = function() {\n if (a.instance_) {\n return a.instance_;\n }\n goog.DEBUG && (goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = a);\n return a.instance_ = new a;\n };\n};\ngoog.instantiatedSingletons_ = [];\ngoog.LOAD_MODULE_USING_EVAL = !0;\ngoog.SEAL_MODULE_EXPORTS = goog.DEBUG;\ngoog.loadedModules_ = {};\ngoog.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER;\ngoog.TRANSPILE = \"detect\";\ngoog.ASSUME_ES_MODULES_TRANSPILED = !1;\ngoog.TRANSPILE_TO_LANGUAGE = \"\";\ngoog.TRANSPILER = \"transpile.js\";\ngoog.TRUSTED_TYPES_POLICY_NAME = \"goog\";\ngoog.hasBadLetScoping = null;\ngoog.loadModule = function(a) {\n var b = goog.moduleLoaderState_;\n try {\n goog.moduleLoaderState_ = {moduleName:\"\", declareLegacyNamespace:!1, type:goog.ModuleType.GOOG};\n var c = {}, d = c;\n if (\"function\" === typeof a) {\n d = a.call(void 0, d);\n } else {\n if (\"string\" === typeof a) {\n d = goog.loadModuleFromSource_.call(void 0, d, a);\n } else {\n throw Error(\"Invalid module definition\");\n }\n }\n var e = goog.moduleLoaderState_.moduleName;\n if (\"string\" === typeof e && e) {\n goog.moduleLoaderState_.declareLegacyNamespace ? goog.constructNamespace_(e, d, c !== d) : goog.SEAL_MODULE_EXPORTS && Object.seal && \"object\" == typeof d && null != d && Object.seal(d), goog.loadedModules_[e] = {exports:d, type:goog.ModuleType.GOOG, moduleId:goog.moduleLoaderState_.moduleName};\n } else {\n throw Error('Invalid module name \"' + e + '\"');\n }\n } finally {\n goog.moduleLoaderState_ = b;\n }\n};\ngoog.loadModuleFromSource_ = function(a, b) {\n eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(b));\n return a;\n};\ngoog.normalizePath_ = function(a) {\n a = a.split(\"/\");\n for (var b = 0; b < a.length;) {\n \".\" == a[b] ? a.splice(b, 1) : b && \"..\" == a[b] && a[b - 1] && \"..\" != a[b - 1] ? a.splice(--b, 2) : b++;\n }\n return a.join(\"/\");\n};\ngoog.loadFileSync_ = function(a) {\n if (goog.global.CLOSURE_LOAD_FILE_SYNC) {\n return goog.global.CLOSURE_LOAD_FILE_SYNC(a);\n }\n try {\n var b = new goog.global.XMLHttpRequest;\n b.open(\"get\", a, !1);\n b.send();\n return 0 == b.status || 200 == b.status ? b.responseText : null;\n } catch (c) {\n return null;\n }\n};\ngoog.transpile_ = function(a, b, c) {\n var d = goog.global.$jscomp;\n d || (goog.global.$jscomp = d = {});\n var e = d.transpile;\n if (!e) {\n var f = goog.basePath + goog.TRANSPILER, g = goog.loadFileSync_(f);\n if (g) {\n (function() {\n (0,eval)(g + \"\\n//# sourceURL=\" + f);\n }).call(goog.global);\n if (goog.global.$gwtExport && goog.global.$gwtExport.$jscomp && !goog.global.$gwtExport.$jscomp.transpile) {\n throw Error('The transpiler did not properly export the \"transpile\" method. $gwtExport: ' + JSON.stringify(goog.global.$gwtExport));\n }\n goog.global.$jscomp.transpile = goog.global.$gwtExport.$jscomp.transpile;\n d = goog.global.$jscomp;\n e = d.transpile;\n }\n }\n e || (e = d.transpile = function(h, k) {\n goog.logToConsole_(k + \" requires transpilation but no transpiler was found.\");\n return h;\n });\n return e(a, b, c);\n};\ngoog.typeOf = function(a) {\n var b = typeof a;\n return \"object\" != b ? b : a ? Array.isArray(a) ? \"array\" : b : \"null\";\n};\ngoog.isArrayLike = function(a) {\n var b = goog.typeOf(a);\n return \"array\" == b || \"object\" == b && \"number\" == typeof a.length;\n};\ngoog.isDateLike = function(a) {\n return goog.isObject(a) && \"function\" == typeof a.getFullYear;\n};\ngoog.isObject = function(a) {\n var b = typeof a;\n return \"object\" == b && null != a || \"function\" == b;\n};\ngoog.getUid = function(a) {\n return Object.prototype.hasOwnProperty.call(a, goog.UID_PROPERTY_) && a[goog.UID_PROPERTY_] || (a[goog.UID_PROPERTY_] = ++goog.uidCounter_);\n};\ngoog.hasUid = function(a) {\n return !!a[goog.UID_PROPERTY_];\n};\ngoog.removeUid = function(a) {\n null !== a && \"removeAttribute\" in a && a.removeAttribute(goog.UID_PROPERTY_);\n try {\n delete a[goog.UID_PROPERTY_];\n } catch (b) {\n }\n};\ngoog.UID_PROPERTY_ = \"closure_uid_\" + (1e9 * Math.random() >>> 0);\ngoog.uidCounter_ = 0;\ngoog.cloneObject = function(a) {\n var b = goog.typeOf(a);\n if (\"object\" == b || \"array\" == b) {\n if (\"function\" === typeof a.clone) {\n return a.clone();\n }\n b = \"array\" == b ? [] : {};\n for (var c in a) {\n b[c] = goog.cloneObject(a[c]);\n }\n return b;\n }\n return a;\n};\ngoog.bindNative_ = function(a, b, c) {\n return a.call.apply(a.bind, arguments);\n};\ngoog.bindJs_ = function(a, b, c) {\n if (!a) {\n throw Error();\n }\n if (2 < arguments.length) {\n var d = Array.prototype.slice.call(arguments, 2);\n return function() {\n var e = Array.prototype.slice.call(arguments);\n Array.prototype.unshift.apply(e, d);\n return a.apply(b, e);\n };\n }\n return function() {\n return a.apply(b, arguments);\n };\n};\ngoog.bind = function(a, b, c) {\n Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf(\"native code\") ? goog.bind = goog.bindNative_ : goog.bind = goog.bindJs_;\n return goog.bind.apply(null, arguments);\n};\ngoog.partial = function(a, b) {\n var c = Array.prototype.slice.call(arguments, 1);\n return function() {\n var d = c.slice();\n d.push.apply(d, arguments);\n return a.apply(this, d);\n };\n};\ngoog.mixin = function(a, b) {\n for (var c in b) {\n a[c] = b[c];\n }\n};\ngoog.now = function() {\n return Date.now();\n};\ngoog.globalEval = function(a) {\n (0,eval)(a);\n};\ngoog.getCssName = function(a, b) {\n if (\".\" == String(a).charAt(0)) {\n throw Error('className passed in goog.getCssName must not start with \".\". You passed: ' + a);\n }\n var c = function(e) {\n return goog.cssNameMapping_[e] || e;\n }, d = function(e) {\n e = e.split(\"-\");\n for (var f = [], g = 0; g < e.length; g++) {\n f.push(c(e[g]));\n }\n return f.join(\"-\");\n };\n d = goog.cssNameMapping_ ? \"BY_WHOLE\" == goog.cssNameMappingStyle_ ? c : d : function(e) {\n return e;\n };\n a = b ? a + \"-\" + d(b) : d(a);\n return goog.global.CLOSURE_CSS_NAME_MAP_FN ? goog.global.CLOSURE_CSS_NAME_MAP_FN(a) : a;\n};\ngoog.setCssNameMapping = function(a, b) {\n goog.cssNameMapping_ = a;\n goog.cssNameMappingStyle_ = b;\n};\n!COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING && (goog.cssNameMapping_ = goog.global.CLOSURE_CSS_NAME_MAPPING);\ngoog.getMsg = function(a, b, c) {\n c && c.html && (a = a.replace(/</g, \"<\"));\n c && c.unescapeHtmlEntities && (a = a.replace(/</g, \"<\").replace(/>/g, \">\").replace(/'/g, \"'\").replace(/"/g, '\"').replace(/&/g, \"&\"));\n b && (a = a.replace(/\\{\\$([^}]+)}/g, function(d, e) {\n return null != b && e in b ? b[e] : d;\n }));\n return a;\n};\ngoog.getMsgWithFallback = function(a, b) {\n return a;\n};\ngoog.exportSymbol = function(a, b, c) {\n goog.exportPath_(a, b, !0, c);\n};\ngoog.exportProperty = function(a, b, c) {\n a[b] = c;\n};\ngoog.inherits = function(a, b) {\n function c() {\n }\n c.prototype = b.prototype;\n a.superClass_ = b.prototype;\n a.prototype = new c;\n a.prototype.constructor = a;\n a.base = function(d, e, f) {\n for (var g = Array(arguments.length - 2), h = 2; h < arguments.length; h++) {\n g[h - 2] = arguments[h];\n }\n return b.prototype[e].apply(d, g);\n };\n};\ngoog.scope = function(a) {\n if (goog.isInModuleLoader_()) {\n throw Error(\"goog.scope is not supported within a module.\");\n }\n a.call(goog.global);\n};\nCOMPILED || (goog.global.COMPILED = COMPILED);\ngoog.defineClass = function(a, b) {\n var c = b.constructor, d = b.statics;\n c && c != Object.prototype.constructor || (c = function() {\n throw Error(\"cannot instantiate an interface (no constructor defined).\");\n });\n c = goog.defineClass.createSealingConstructor_(c, a);\n a && goog.inherits(c, a);\n delete b.constructor;\n delete b.statics;\n goog.defineClass.applyProperties_(c.prototype, b);\n null != d && (d instanceof Function ? d(c) : goog.defineClass.applyProperties_(c, d));\n return c;\n};\ngoog.defineClass.SEAL_CLASS_INSTANCES = goog.DEBUG;\ngoog.defineClass.createSealingConstructor_ = function(a, b) {\n return goog.defineClass.SEAL_CLASS_INSTANCES ? function() {\n var c = a.apply(this, arguments) || this;\n c[goog.UID_PROPERTY_] = c[goog.UID_PROPERTY_];\n return c;\n } : a;\n};\ngoog.defineClass.OBJECT_PROTOTYPE_FIELDS_ = \"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \");\ngoog.defineClass.applyProperties_ = function(a, b) {\n for (var c in b) {\n Object.prototype.hasOwnProperty.call(b, c) && (a[c] = b[c]);\n }\n for (var d = 0; d < goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length; d++) {\n c = goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d], Object.prototype.hasOwnProperty.call(b, c) && (a[c] = b[c]);\n }\n};\ngoog.identity_ = function(a) {\n return a;\n};\ngoog.createTrustedTypesPolicy = function(a) {\n var b = null, c = goog.global.trustedTypes;\n if (!c || !c.createPolicy) {\n return b;\n }\n try {\n b = c.createPolicy(a, {createHTML:goog.identity_, createScript:goog.identity_, createScriptURL:goog.identity_});\n } catch (d) {\n goog.logToConsole_(d.message);\n }\n return b;\n};\n!COMPILED && goog.DEPENDENCIES_ENABLED && (goog.isEdge_ = function() {\n return !!(goog.global.navigator && goog.global.navigator.userAgent ? goog.global.navigator.userAgent : \"\").match(/Edge\\/(\\d+)(\\.\\d)*/i);\n}, goog.inHtmlDocument_ = function() {\n var a = goog.global.document;\n return null != a && \"write\" in a;\n}, goog.isDocumentLoading_ = function() {\n var a = goog.global.document;\n return a.attachEvent ? \"complete\" != a.readyState : \"loading\" == a.readyState;\n}, goog.findBasePath_ = function() {\n if (void 0 != goog.global.CLOSURE_BASE_PATH && \"string\" === typeof goog.global.CLOSURE_BASE_PATH) {\n goog.basePath = goog.global.CLOSURE_BASE_PATH;\n } else {\n if (goog.inHtmlDocument_()) {\n var a = goog.global.document, b = a.currentScript;\n a = b ? [b] : a.getElementsByTagName(\"SCRIPT\");\n for (b = a.length - 1; 0 <= b; --b) {\n var c = a[b].src, d = c.lastIndexOf(\"?\");\n d = -1 == d ? c.length : d;\n if (\"base.js\" == c.substr(d - 7, 7)) {\n goog.basePath = c.substr(0, d - 7);\n break;\n }\n }\n }\n }\n}, goog.findBasePath_(), goog.Transpiler = function() {\n this.requiresTranspilation_ = null;\n this.transpilationTarget_ = goog.TRANSPILE_TO_LANGUAGE;\n}, goog.Transpiler.prototype.createRequiresTranspilation_ = function() {\n function a(f, g) {\n e ? d[f] = !0 : g() ? (c = f, d[f] = !1) : e = d[f] = !0;\n }\n function b(f) {\n try {\n return !!eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(f));\n } catch (g) {\n return !1;\n }\n }\n var c = \"es3\", d = {es3:!1}, e = !1;\n a(\"es5\", function() {\n return b(\"[1,].length==1\");\n });\n a(\"es6\", function() {\n return goog.isEdge_() ? !1 : b('(()=>{\"use strict\";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()');\n });\n a(\"es7\", function() {\n return b(\"2**3==8\");\n });\n a(\"es8\", function() {\n return b(\"async()=>1,1\");\n });\n a(\"es9\", function() {\n return b(\"({...rest}={}),1\");\n });\n a(\"es_2019\", function() {\n return b('let r;try{throw 0}catch{r=\"\\u2029\"};r');\n });\n a(\"es_2020\", function() {\n return b(\"null?.x??1\");\n });\n a(\"es_next\", function() {\n return !1;\n });\n return {target:c, map:d};\n}, goog.Transpiler.prototype.needsTranspile = function(a, b) {\n if (\"always\" == goog.TRANSPILE) {\n return !0;\n }\n if (\"never\" == goog.TRANSPILE) {\n return !1;\n }\n if (!this.requiresTranspilation_) {\n var c = this.createRequiresTranspilation_();\n this.requiresTranspilation_ = c.map;\n this.transpilationTarget_ = this.transpilationTarget_ || c.target;\n }\n if (a in this.requiresTranspilation_) {\n return this.requiresTranspilation_[a] ? !0 : !goog.inHtmlDocument_() || \"es6\" != b || \"noModule\" in goog.global.document.createElement(\"script\") ? !1 : !0;\n }\n throw Error(\"Unknown language mode: \" + a);\n}, goog.Transpiler.prototype.transpile = function(a, b) {\n return goog.transpile_(a, b, this.transpilationTarget_);\n}, goog.transpiler_ = new goog.Transpiler, goog.protectScriptTag_ = function(a) {\n return a.replace(/<\\/(SCRIPT)/ig, \"\\\\x3c/$1\");\n}, goog.DebugLoader_ = function() {\n this.dependencies_ = {};\n this.idToPath_ = {};\n this.written_ = {};\n this.loadingDeps_ = [];\n this.depsToLoad_ = [];\n this.paused_ = !1;\n this.factory_ = new goog.DependencyFactory(goog.transpiler_);\n this.deferredCallbacks_ = {};\n this.deferredQueue_ = [];\n}, goog.DebugLoader_.prototype.bootstrap = function(a, b) {\n function c() {\n d && (goog.global.setTimeout(d, 0), d = null);\n }\n var d = b;\n if (a.length) {\n b = [];\n for (var e = 0; e < a.length; e++) {\n var f = this.getPathFromDeps_(a[e]);\n if (!f) {\n throw Error(\"Unregonized namespace: \" + a[e]);\n }\n b.push(this.dependencies_[f]);\n }\n f = goog.require;\n var g = 0;\n for (e = 0; e < a.length; e++) {\n f(a[e]), b[e].onLoad(function() {\n ++g == a.length && c();\n });\n }\n } else {\n c();\n }\n}, goog.DebugLoader_.prototype.loadClosureDeps = function() {\n this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath + \"deps.js\"), \"deps.js\", [], [], {}, !1));\n this.loadDeps_();\n}, goog.DebugLoader_.prototype.requested = function(a, b) {\n (a = this.getPathFromDeps_(a)) && (b || this.areDepsLoaded_(this.dependencies_[a].requires)) && (b = this.deferredCallbacks_[a]) && (delete this.deferredCallbacks_[a], b());\n}, goog.DebugLoader_.prototype.setDependencyFactory = function(a) {\n this.factory_ = a;\n}, goog.DebugLoader_.prototype.load_ = function(a) {\n if (this.getPathFromDeps_(a)) {\n var b = this, c = [], d = function(e) {\n var f = b.getPathFromDeps_(e);\n if (!f) {\n throw Error(\"Bad dependency path or symbol: \" + e);\n }\n if (!b.written_[f]) {\n b.written_[f] = !0;\n e = b.dependencies_[f];\n for (f = 0; f < e.requires.length; f++) {\n goog.isProvided_(e.requires[f]) || d(e.requires[f]);\n }\n c.push(e);\n }\n };\n d(a);\n a = !!this.depsToLoad_.length;\n this.depsToLoad_ = this.depsToLoad_.concat(c);\n this.paused_ || a || this.loadDeps_();\n } else {\n goog.logToConsole_(\"goog.require could not find: \" + a);\n }\n}, goog.DebugLoader_.prototype.loadDeps_ = function() {\n for (var a = this, b = this.paused_; this.depsToLoad_.length && !b;) {\n (function() {\n var c = !1, d = a.depsToLoad_.shift(), e = !1;\n a.loading_(d);\n var f = {pause:function() {\n if (c) {\n throw Error(\"Cannot call pause after the call to load.\");\n }\n b = !0;\n }, resume:function() {\n c ? a.resume_() : b = !1;\n }, loaded:function() {\n if (e) {\n throw Error(\"Double call to loaded.\");\n }\n e = !0;\n a.loaded_(d);\n }, pending:function() {\n for (var g = [], h = 0; h < a.loadingDeps_.length; h++) {\n g.push(a.loadingDeps_[h]);\n }\n return g;\n }, setModuleState:function(g) {\n goog.moduleLoaderState_ = {type:g, moduleName:\"\", declareLegacyNamespace:!1};\n }, registerEs6ModuleExports:function(g, h, k) {\n k && (goog.loadedModules_[k] = {exports:h, type:goog.ModuleType.ES6, moduleId:k || \"\"});\n }, registerGoogModuleExports:function(g, h) {\n goog.loadedModules_[g] = {exports:h, type:goog.ModuleType.GOOG, moduleId:g};\n }, clearModuleState:function() {\n goog.moduleLoaderState_ = null;\n }, defer:function(g) {\n if (c) {\n throw Error(\"Cannot register with defer after the call to load.\");\n }\n a.defer_(d, g);\n }, areDepsLoaded:function() {\n return a.areDepsLoaded_(d.requires);\n }};\n try {\n d.load(f);\n } finally {\n c = !0;\n }\n })();\n }\n b && this.pause_();\n}, goog.DebugLoader_.prototype.pause_ = function() {\n this.paused_ = !0;\n}, goog.DebugLoader_.prototype.resume_ = function() {\n this.paused_ && (this.paused_ = !1, this.loadDeps_());\n}, goog.DebugLoader_.prototype.loading_ = function(a) {\n this.loadingDeps_.push(a);\n}, goog.DebugLoader_.prototype.loaded_ = function(a) {\n for (var b = 0; b < this.loadingDeps_.length; b++) {\n if (this.loadingDeps_[b] == a) {\n this.loadingDeps_.splice(b, 1);\n break;\n }\n }\n for (b = 0; b < this.deferredQueue_.length; b++) {\n if (this.deferredQueue_[b] == a.path) {\n this.deferredQueue_.splice(b, 1);\n break;\n }\n }\n if (this.loadingDeps_.length == this.deferredQueue_.length && !this.depsToLoad_.length) {\n for (; this.deferredQueue_.length;) {\n this.requested(this.deferredQueue_.shift(), !0);\n }\n }\n a.loaded();\n}, goog.DebugLoader_.prototype.areDepsLoaded_ = function(a) {\n for (var b = 0; b < a.length; b++) {\n var c = this.getPathFromDeps_(a[b]);\n if (!c || !(c in this.deferredCallbacks_ || goog.isProvided_(a[b]))) {\n return !1;\n }\n }\n return !0;\n}, goog.DebugLoader_.prototype.getPathFromDeps_ = function(a) {\n return a in this.idToPath_ ? this.idToPath_[a] : a in this.dependencies_ ? a : null;\n}, goog.DebugLoader_.prototype.defer_ = function(a, b) {\n this.deferredCallbacks_[a.path] = b;\n this.deferredQueue_.push(a.path);\n}, goog.LoadController = function() {\n}, goog.LoadController.prototype.pause = function() {\n}, goog.LoadController.prototype.resume = function() {\n}, goog.LoadController.prototype.loaded = function() {\n}, goog.LoadController.prototype.pending = function() {\n}, goog.LoadController.prototype.registerEs6ModuleExports = function(a, b, c) {\n}, goog.LoadController.prototype.setModuleState = function(a) {\n}, goog.LoadController.prototype.clearModuleState = function() {\n}, goog.LoadController.prototype.defer = function(a) {\n}, goog.LoadController.prototype.areDepsLoaded = function() {\n}, goog.Dependency = function(a, b, c, d, e) {\n this.path = a;\n this.relativePath = b;\n this.provides = c;\n this.requires = d;\n this.loadFlags = e;\n this.loaded_ = !1;\n this.loadCallbacks_ = [];\n}, goog.Dependency.prototype.getPathName = function() {\n var a = this.path, b = a.indexOf(\"://\");\n 0 <= b && (a = a.substring(b + 3), b = a.indexOf(\"/\"), 0 <= b && (a = a.substring(b + 1)));\n return a;\n}, goog.Dependency.prototype.onLoad = function(a) {\n this.loaded_ ? a() : this.loadCallbacks_.push(a);\n}, goog.Dependency.prototype.loaded = function() {\n this.loaded_ = !0;\n var a = this.loadCallbacks_;\n this.loadCallbacks_ = [];\n for (var b = 0; b < a.length; b++) {\n a[b]();\n }\n}, goog.Dependency.defer_ = !1, goog.Dependency.callbackMap_ = {}, goog.Dependency.registerCallback_ = function(a) {\n var b = Math.random().toString(32);\n goog.Dependency.callbackMap_[b] = a;\n return b;\n}, goog.Dependency.unregisterCallback_ = function(a) {\n delete goog.Dependency.callbackMap_[a];\n}, goog.Dependency.callback_ = function(a, b) {\n if (a in goog.Dependency.callbackMap_) {\n for (var c = goog.Dependency.callbackMap_[a], d = [], e = 1; e < arguments.length; e++) {\n d.push(arguments[e]);\n }\n c.apply(void 0, d);\n } else {\n throw Error(\"Callback key \" + a + \" does not exist (was base.js loaded more than once?).\");\n }\n}, goog.Dependency.prototype.load = function(a) {\n if (goog.global.CLOSURE_IMPORT_SCRIPT) {\n goog.global.CLOSURE_IMPORT_SCRIPT(this.path) ? a.loaded() : a.pause();\n } else {\n if (goog.inHtmlDocument_()) {\n var b = goog.global.document;\n if (\"complete\" == b.readyState && !goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING) {\n if (/\\bdeps.js$/.test(this.path)) {\n a.loaded();\n return;\n }\n throw Error('Cannot write \"' + this.path + '\" after document load');\n }\n var c = goog.getScriptNonce();\n if (!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING && goog.isDocumentLoading_()) {\n var d = function(h) {\n h.readyState && \"complete\" != h.readyState ? h.onload = d : (goog.Dependency.unregisterCallback_(e), a.loaded());\n };\n var e = goog.Dependency.registerCallback_(d);\n c = c ? ' nonce=\"' + c + '\"' : \"\";\n var f = '<script src=\"' + this.path + '\"' + c + (goog.Dependency.defer_ ? \" defer\" : \"\") + ' id=\"script-' + e + '\">\\x3c/script>';\n f += \"<script\" + c + \">\";\n f = goog.Dependency.defer_ ? f + (\"document.getElementById('script-\" + e + \"').onload = function() {\\n goog.Dependency.callback_('\" + e + \"', this);\\n};\\n\") : f + (\"goog.Dependency.callback_('\" + e + \"', document.getElementById('script-\" + e + \"'));\");\n f += \"\\x3c/script>\";\n b.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(f) : f);\n } else {\n var g = b.createElement(\"script\");\n g.defer = goog.Dependency.defer_;\n g.async = !1;\n c && (g.nonce = c);\n goog.DebugLoader_.IS_OLD_IE_ ? (a.pause(), g.onreadystatechange = function() {\n if (\"loaded\" == g.readyState || \"complete\" == g.readyState) {\n a.loaded(), a.resume();\n }\n }) : g.onload = function() {\n g.onload = null;\n a.loaded();\n };\n g.src = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path) : this.path;\n b.head.appendChild(g);\n }\n } else {\n goog.logToConsole_(\"Cannot use default debug loader outside of HTML documents.\"), \"deps.js\" == this.relativePath ? (goog.logToConsole_(\"Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true.\"), a.loaded()) : a.pause();\n }\n }\n}, goog.Es6ModuleDependency = function(a, b, c, d, e) {\n goog.Dependency.call(this, a, b, c, d, e);\n}, goog.inherits(goog.Es6ModuleDependency, goog.Dependency), goog.Es6ModuleDependency.prototype.load = function(a) {\n function b(l, n) {\n var m = \"\", p = goog.getScriptNonce();\n p && (m = ' nonce=\"' + p + '\"');\n l = n ? '<script type=\"module\" crossorigin' + m + \">\" + n + \"\\x3c/script>\" : '<script type=\"module\" crossorigin src=\"' + l + '\"' + m + \">\\x3c/script>\";\n d.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(l) : l);\n }\n function c(l, n) {\n var m = d.createElement(\"script\");\n m.defer = !0;\n m.async = !1;\n m.type = \"module\";\n m.setAttribute(\"crossorigin\", !0);\n var p = goog.getScriptNonce();\n p && (m.nonce = p);\n n ? m.text = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScript(n) : n : m.src = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScriptURL(l) : l;\n d.head.appendChild(m);\n }\n if (goog.global.CLOSURE_IMPORT_SCRIPT) {\n goog.global.CLOSURE_IMPORT_SCRIPT(this.path) ? a.loaded() : a.pause();\n } else {\n if (goog.inHtmlDocument_()) {\n var d = goog.global.document, e = this;\n if (goog.isDocumentLoading_()) {\n var f = b;\n goog.Dependency.defer_ = !0;\n } else {\n f = c;\n }\n var g = goog.Dependency.registerCallback_(function() {\n goog.Dependency.unregisterCallback_(g);\n a.setModuleState(goog.ModuleType.ES6);\n });\n f(void 0, 'goog.Dependency.callback_(\"' + g + '\")');\n f(this.path, void 0);\n var h = goog.Dependency.registerCallback_(function(l) {\n goog.Dependency.unregisterCallback_(h);\n a.registerEs6ModuleExports(e.path, l, goog.moduleLoaderState_.moduleName);\n });\n f(void 0, 'import * as m from \"' + this.path + '\"; goog.Dependency.callback_(\"' + h + '\", m)');\n var k = goog.Dependency.registerCallback_(function() {\n goog.Dependency.unregisterCallback_(k);\n a.clearModuleState();\n a.loaded();\n });\n f(void 0, 'goog.Dependency.callback_(\"' + k + '\")');\n } else {\n goog.logToConsole_(\"Cannot use default debug loader outside of HTML documents.\"), a.pause();\n }\n }\n}, goog.TransformedDependency = function(a, b, c, d, e) {\n goog.Dependency.call(this, a, b, c, d, e);\n this.contents_ = null;\n this.lazyFetch_ = !goog.inHtmlDocument_() || !(\"noModule\" in goog.global.document.createElement(\"script\"));\n}, goog.inherits(goog.TransformedDependency, goog.Dependency), goog.TransformedDependency.prototype.load = function(a) {\n function b() {\n e.contents_ = goog.loadFileSync_(e.path);\n e.contents_ && (e.contents_ = e.transform(e.contents_), e.contents_ && (e.contents_ += \"\\n//# sourceURL=\" + e.path));\n }\n function c() {\n e.lazyFetch_ && b();\n if (e.contents_) {\n f && a.setModuleState(goog.ModuleType.ES6);\n try {\n var n = e.contents_;\n e.contents_ = null;\n goog.globalEval(goog.CLOSURE_EVAL_PREFILTER_.createScript(n));\n if (f) {\n var m = goog.moduleLoaderState_.moduleName;\n }\n } finally {\n f && a.clearModuleState();\n }\n f && goog.global.$jscomp.require.ensure([e.getPathName()], function() {\n a.registerEs6ModuleExports(e.path, goog.global.$jscomp.require(e.getPathName()), m);\n });\n a.loaded();\n }\n }\n function d() {\n var n = goog.global.document, m = goog.Dependency.registerCallback_(function() {\n goog.Dependency.unregisterCallback_(m);\n c();\n }), p = goog.getScriptNonce();\n p = \"<script\" + (p ? ' nonce=\"' + p + '\"' : \"\") + \">\" + goog.protectScriptTag_('goog.Dependency.callback_(\"' + m + '\");') + \"\\x3c/script>\";\n n.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(p) : p);\n }\n var e = this;\n if (goog.global.CLOSURE_IMPORT_SCRIPT) {\n b(), this.contents_ && goog.global.CLOSURE_IMPORT_SCRIPT(\"\", this.contents_) ? (this.contents_ = null, a.loaded()) : a.pause();\n } else {\n var f = this.loadFlags.module == goog.ModuleType.ES6;\n this.lazyFetch_ || b();\n var g = 1 < a.pending().length, h = g && goog.DebugLoader_.IS_OLD_IE_;\n g = goog.Dependency.defer_ && (g || goog.isDocumentLoading_());\n if (h || g) {\n a.defer(function() {\n c();\n });\n } else {\n var k = goog.global.document;\n h = goog.inHtmlDocument_() && (\"ActiveXObject\" in goog.global || goog.isEdge_());\n if (f && goog.inHtmlDocument_() && goog.isDocumentLoading_() && !h) {\n goog.Dependency.defer_ = !0;\n a.pause();\n var l = k.onreadystatechange;\n k.onreadystatechange = function() {\n \"interactive\" == k.readyState && (k.onreadystatechange = l, c(), a.resume());\n \"function\" === typeof l && l.apply(void 0, arguments);\n };\n } else {\n !goog.DebugLoader_.IS_OLD_IE_ && goog.inHtmlDocument_() && goog.isDocumentLoading_() ? d() : c();\n }\n }\n }\n}, goog.TransformedDependency.prototype.transform = function(a) {\n}, goog.TranspiledDependency = function(a, b, c, d, e, f) {\n goog.TransformedDependency.call(this, a, b, c, d, e);\n this.transpiler = f;\n}, goog.inherits(goog.TranspiledDependency, goog.TransformedDependency), goog.TranspiledDependency.prototype.transform = function(a) {\n return this.transpiler.transpile(a, this.getPathName());\n}, goog.PreTranspiledEs6ModuleDependency = function(a, b, c, d, e) {\n goog.TransformedDependency.call(this, a, b, c, d, e);\n}, goog.inherits(goog.PreTranspiledEs6ModuleDependency, goog.TransformedDependency), goog.PreTranspiledEs6ModuleDependency.prototype.transform = function(a) {\n return a;\n}, goog.GoogModuleDependency = function(a, b, c, d, e, f, g) {\n goog.TransformedDependency.call(this, a, b, c, d, e);\n this.needsTranspile_ = f;\n this.transpiler_ = g;\n}, goog.inherits(goog.GoogModuleDependency, goog.TransformedDependency), goog.GoogModuleDependency.prototype.transform = function(a) {\n this.needsTranspile_ && (a = this.transpiler_.transpile(a, this.getPathName()));\n return goog.LOAD_MODULE_USING_EVAL && void 0 !== goog.global.JSON ? \"goog.loadModule(\" + goog.global.JSON.stringify(a + \"\\n//# sourceURL=\" + this.path + \"\\n\") + \");\" : 'goog.loadModule(function(exports) {\"use strict\";' + a + \"\\n;return exports});\\n//# sourceURL=\" + this.path + \"\\n\";\n}, goog.DebugLoader_.IS_OLD_IE_ = !(goog.global.atob || !goog.global.document || !goog.global.document.all), goog.DebugLoader_.prototype.addDependency = function(a, b, c, d) {\n b = b || [];\n a = a.replace(/\\\\/g, \"/\");\n var e = goog.normalizePath_(goog.basePath + a);\n d && \"boolean\" !== typeof d || (d = d ? {module:goog.ModuleType.GOOG} : {});\n c = this.factory_.createDependency(e, a, b, c, d, goog.transpiler_.needsTranspile(d.lang || \"es3\", d.module));\n this.dependencies_[e] = c;\n for (c = 0; c < b.length; c++) {\n this.idToPath_[b[c]] = e;\n }\n this.idToPath_[a] = e;\n}, goog.DependencyFactory = function(a) {\n this.transpiler = a;\n}, goog.DependencyFactory.prototype.createDependency = function(a, b, c, d, e, f) {\n return e.module == goog.ModuleType.GOOG ? new goog.GoogModuleDependency(a, b, c, d, e, f, this.transpiler) : f ? new goog.TranspiledDependency(a, b, c, d, e, this.transpiler) : e.module == goog.ModuleType.ES6 ? \"never\" == goog.TRANSPILE && goog.ASSUME_ES_MODULES_TRANSPILED ? new goog.PreTranspiledEs6ModuleDependency(a, b, c, d, e) : new goog.Es6ModuleDependency(a, b, c, d, e) : new goog.Dependency(a, b, c, d, e);\n}, goog.debugLoader_ = new goog.DebugLoader_, goog.loadClosureDeps = function() {\n goog.debugLoader_.loadClosureDeps();\n}, goog.setDependencyFactory = function(a) {\n goog.debugLoader_.setDependencyFactory(a);\n}, goog.TRUSTED_TYPES_POLICY_ = goog.TRUSTED_TYPES_POLICY_NAME ? goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME + \"#base\") : null, goog.global.CLOSURE_NO_DEPS || goog.debugLoader_.loadClosureDeps(), goog.bootstrap = function(a, b) {\n goog.debugLoader_.bootstrap(a, b);\n});\nif (!COMPILED) {\n var isChrome87 = !1;\n try {\n isChrome87 = eval(goog.global.trustedTypes.emptyScript) !== goog.global.trustedTypes.emptyScript;\n } catch (a) {\n }\n goog.CLOSURE_EVAL_PREFILTER_ = goog.global.trustedTypes && isChrome87 && goog.createTrustedTypesPolicy(\"goog#base#devonly#eval\") || {createScript:goog.identity_};\n}\n;goog.object = {};\ngoog.object.forEach = function(a, b, c) {\n for (const d in a) {\n b.call(c, a[d], d, a);\n }\n};\ngoog.object.filter = function(a, b, c) {\n const d = {};\n for (const e in a) {\n b.call(c, a[e], e, a) && (d[e] = a[e]);\n }\n return d;\n};\ngoog.object.map = function(a, b, c) {\n const d = {};\n for (const e in a) {\n d[e] = b.call(c, a[e], e, a);\n }\n return d;\n};\ngoog.object.some = function(a, b, c) {\n for (const d in a) {\n if (b.call(c, a[d], d, a)) {\n return !0;\n }\n }\n return !1;\n};\ngoog.object.every = function(a, b, c) {\n for (const d in a) {\n if (!b.call(c, a[d], d, a)) {\n return !1;\n }\n }\n return !0;\n};\ngoog.object.getCount = function(a) {\n let b = 0;\n for (const c in a) {\n b++;\n }\n return b;\n};\ngoog.object.getAnyKey = function(a) {\n for (const b in a) {\n return b;\n }\n};\ngoog.object.getAnyValue = function(a) {\n for (const b in a) {\n return a[b];\n }\n};\ngoog.object.contains = function(a, b) {\n return goog.object.containsValue(a, b);\n};\ngoog.object.getValues = function(a) {\n const b = [];\n let c = 0;\n for (const d in a) {\n b[c++] = a[d];\n }\n return b;\n};\ngoog.object.getKeys = function(a) {\n const b = [];\n let c = 0;\n for (const d in a) {\n b[c++] = d;\n }\n return b;\n};\ngoog.object.getValueByKeys = function(a, b) {\n var c = goog.isArrayLike(b);\n const d = c ? b : arguments;\n for (c = c ? 0 : 1; c < d.length; c++) {\n if (null == a) {\n return;\n }\n a = a[d[c]];\n }\n return a;\n};\ngoog.object.containsKey = function(a, b) {\n return null !== a && b in a;\n};\ngoog.object.containsValue = function(a, b) {\n for (const c in a) {\n if (a[c] == b) {\n return !0;\n }\n }\n return !1;\n};\ngoog.object.findKey = function(a, b, c) {\n for (const d in a) {\n if (b.call(c, a[d], d, a)) {\n return d;\n }\n }\n};\ngoog.object.findValue = function(a, b, c) {\n return (b = goog.object.findKey(a, b, c)) && a[b];\n};\ngoog.object.isEmpty = function(a) {\n for (const b in a) {\n return !1;\n }\n return !0;\n};\ngoog.object.clear = function(a) {\n for (const b in a) {\n delete a[b];\n }\n};\ngoog.object.remove = function(a, b) {\n let c;\n (c = b in a) && delete a[b];\n return c;\n};\ngoog.object.add = function(a, b, c) {\n if (null !== a && b in a) {\n throw Error('The object already contains the key \"' + b + '\"');\n }\n goog.object.set(a, b, c);\n};\ngoog.object.get = function(a, b, c) {\n return null !== a && b in a ? a[b] : c;\n};\ngoog.object.set = function(a, b, c) {\n a[b] = c;\n};\ngoog.object.setIfUndefined = function(a, b, c) {\n return b in a ? a[b] : a[b] = c;\n};\ngoog.object.setWithReturnValueIfNotSet = function(a, b, c) {\n if (b in a) {\n return a[b];\n }\n c = c();\n return a[b] = c;\n};\ngoog.object.equals = function(a, b) {\n for (const c in a) {\n if (!(c in b) || a[c] !== b[c]) {\n return !1;\n }\n }\n for (const c in b) {\n if (!(c in a)) {\n return !1;\n }\n }\n return !0;\n};\ngoog.object.clone = function(a) {\n const b = {};\n for (const c in a) {\n b[c] = a[c];\n }\n return b;\n};\ngoog.object.unsafeClone = function(a) {\n if (!a || \"object\" !== typeof a) {\n return a;\n }\n if (\"function\" === typeof a.clone) {\n return a.clone();\n }\n const b = Array.isArray(a) ? [] : \"function\" !== typeof ArrayBuffer || \"function\" !== typeof ArrayBuffer.isView || !ArrayBuffer.isView(a) || a instanceof DataView ? {} : new a.constructor(a.length);\n for (const c in a) {\n b[c] = goog.object.unsafeClone(a[c]);\n }\n return b;\n};\ngoog.object.transpose = function(a) {\n const b = {};\n for (const c in a) {\n b[a[c]] = c;\n }\n return b;\n};\ngoog.object.PROTOTYPE_FIELDS_ = \"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \");\ngoog.object.extend = function(a, b) {\n let c, d;\n for (let e = 1; e < arguments.length; e++) {\n d = arguments[e];\n for (c in d) {\n a[c] = d[c];\n }\n for (let f = 0; f < goog.object.PROTOTYPE_FIELDS_.length; f++) {\n c = goog.object.PROTOTYPE_FIELDS_[f], Object.prototype.hasOwnProperty.call(d, c) && (a[c] = d[c]);\n }\n }\n};\ngoog.object.create = function(a) {\n const b = arguments.length;\n if (1 == b && Array.isArray(arguments[0])) {\n return goog.object.create.apply(null, arguments[0]);\n }\n if (b % 2) {\n throw Error(\"Uneven number of arguments\");\n }\n const c = {};\n for (let d = 0; d < b; d += 2) {\n c[arguments[d]] = arguments[d + 1];\n }\n return c;\n};\ngoog.object.createSet = function(a) {\n const b = arguments.length;\n if (1 == b && Array.isArray(arguments[0])) {\n return goog.object.createSet.apply(null, arguments[0]);\n }\n const c = {};\n for (let d = 0; d < b; d++) {\n c[arguments[d]] = !0;\n }\n return c;\n};\ngoog.object.createImmutableView = function(a) {\n let b = a;\n Object.isFrozen && !Object.isFrozen(a) && (b = Object.create(a), Object.freeze(b));\n return b;\n};\ngoog.object.isImmutableView = function(a) {\n return !!Object.isFrozen && Object.isFrozen(a);\n};\ngoog.object.getAllPropertyNames = function(a, b, c) {\n if (!a) {\n return [];\n }\n if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) {\n return goog.object.getKeys(a);\n }\n const d = {};\n for (; a && (a !== Object.prototype || b) && (a !== Function.prototype || c);) {\n const e = Object.getOwnPropertyNames(a);\n for (let f = 0; f < e.length; f++) {\n d[e[f]] = !0;\n }\n a = Object.getPrototypeOf(a);\n }\n return goog.object.getKeys(d);\n};\ngoog.object.getSuperClass = function(a) {\n return (a = Object.getPrototypeOf(a.prototype)) && a.constructor;\n};\nvar com = {cognitect:{}};\ncom.cognitect.transit = {};\ncom.cognitect.transit.util = {};\ncom.cognitect.transit.util.objectKeys = \"undefined\" != typeof Object.keys ? function(a) {\n return Object.keys(a);\n} : function(a) {\n return goog.object.getKeys(a);\n};\ncom.cognitect.transit.util.isArray = \"undefined\" != typeof Array.isArray ? function(a) {\n return Array.isArray(a);\n} : function(a) {\n return \"array\" === goog.typeOf(a);\n};\ncom.cognitect.transit.util.chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\ncom.cognitect.transit.util.randInt = function(a) {\n return Math.round(Math.random() * a);\n};\ncom.cognitect.transit.util.randHex = function() {\n return com.cognitect.transit.util.randInt(15).toString(16);\n};\ncom.cognitect.transit.util.randomUUID = function() {\n var a = (8 | 3 & com.cognitect.transit.util.randInt(14)).toString(16);\n return com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + \"-\" + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + \"-4\" + com.cognitect.transit.util.randHex() + \n com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + \"-\" + a + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + \"-\" + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + \n com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex();\n};\ncom.cognitect.transit.util.btoa = function(a) {\n if (\"undefined\" != typeof btoa) {\n return btoa(a);\n }\n a = String(a);\n for (var b, c, d = 0, e = com.cognitect.transit.util.chars, f = \"\"; a.charAt(d | 0) || (e = \"=\", d % 1); f += e.charAt(63 & b >> 8 - d % 1 * 8)) {\n c = a.charCodeAt(d += .75);\n if (255 < c) {\n throw Error(\"'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.\");\n }\n b = b << 8 | c;\n }\n return f;\n};\ncom.cognitect.transit.util.atob = function(a) {\n if (\"undefined\" != typeof atob) {\n return atob(a);\n }\n a = String(a).replace(/=+$/, \"\");\n if (1 == a.length % 4) {\n throw Error(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n }\n for (var b = 0, c, d, e = 0, f = \"\"; d = a.charAt(e++); ~d && (c = b % 4 ? 64 * c + d : d, b++ % 4) ? f += String.fromCharCode(255 & c >> (-2 * b & 6)) : 0) {\n d = com.cognitect.transit.util.chars.indexOf(d);\n }\n return f;\n};\ncom.cognitect.transit.util.Uint8ToBase64 = function(a) {\n for (var b = 0, c = a.length, d = \"\", e; b < c;) {\n e = a.subarray(b, Math.min(b + 32768, c)), d += String.fromCharCode.apply(null, e), b += 32768;\n }\n return com.cognitect.transit.util.btoa(d);\n};\ncom.cognitect.transit.util.Base64ToUint8 = function(a) {\n a = com.cognitect.transit.util.atob(a);\n for (var b = a.length, c = new Uint8Array(b), d = 0; d < b; d++) {\n var e = a.charCodeAt(d);\n c[d] = e;\n }\n return c;\n};\ncom.cognitect.transit.delimiters = {};\ncom.cognitect.transit.delimiters.ESC = \"~\";\ncom.cognitect.transit.delimiters.TAG = \"#\";\ncom.cognitect.transit.delimiters.SUB = \"^\";\ncom.cognitect.transit.delimiters.RES = \"`\";\ncom.cognitect.transit.delimiters.ESC_TAG = \"~#\";\ncom.cognitect.transit.caching = {};\ncom.cognitect.transit.caching.MIN_SIZE_CACHEABLE = 3;\ncom.cognitect.transit.caching.BASE_CHAR_IDX = 48;\ncom.cognitect.transit.caching.CACHE_CODE_DIGITS = 44;\ncom.cognitect.transit.caching.MAX_CACHE_ENTRIES = com.cognitect.transit.caching.CACHE_CODE_DIGITS * com.cognitect.transit.caching.CACHE_CODE_DIGITS;\ncom.cognitect.transit.caching.MAX_CACHE_SIZE = 4096;\ncom.cognitect.transit.caching.isCacheable = function(a, b) {\n if (a.length > com.cognitect.transit.caching.MIN_SIZE_CACHEABLE) {\n if (b) {\n return !0;\n }\n b = a.charAt(0);\n a = a.charAt(1);\n return b === com.cognitect.transit.delimiters.ESC ? \":\" === a || \"$\" === a || \"#\" === a : !1;\n }\n return !1;\n};\ncom.cognitect.transit.caching.idxToCode = function(a) {\n var b = Math.floor(a / com.cognitect.transit.caching.CACHE_CODE_DIGITS);\n a = String.fromCharCode(a % com.cognitect.transit.caching.CACHE_CODE_DIGITS + com.cognitect.transit.caching.BASE_CHAR_IDX);\n return 0 === b ? com.cognitect.transit.delimiters.SUB + a : com.cognitect.transit.delimiters.SUB + String.fromCharCode(b + com.cognitect.transit.caching.BASE_CHAR_IDX) + a;\n};\ncom.cognitect.transit.caching.WriteCache = function() {\n this.cacheSize = this.gen = this.idx = 0;\n this.cache = {};\n};\ncom.cognitect.transit.caching.WriteCache.prototype.write = function(a, b) {\n return com.cognitect.transit.caching.isCacheable(a, b) ? (this.cacheSize === com.cognitect.transit.caching.MAX_CACHE_SIZE ? (this.clear(), this.gen = 0, this.cache = {}) : this.idx === com.cognitect.transit.caching.MAX_CACHE_ENTRIES && this.clear(), b = this.cache[a], null == b ? (this.cache[a] = [com.cognitect.transit.caching.idxToCode(this.idx), this.gen], this.idx++, a) : b[1] != this.gen ? (b[1] = this.gen, b[0] = com.cognitect.transit.caching.idxToCode(this.idx), this.idx++, a) : b[0]) : a;\n};\ncom.cognitect.transit.caching.WriteCache.prototype.clear = function() {\n this.idx = 0;\n this.gen++;\n};\ncom.cognitect.transit.caching.writeCache = function() {\n return new com.cognitect.transit.caching.WriteCache;\n};\ncom.cognitect.transit.caching.isCacheCode = function(a) {\n return a.charAt(0) === com.cognitect.transit.delimiters.SUB && \" \" !== a.charAt(1);\n};\ncom.cognitect.transit.caching.codeToIdx = function(a) {\n if (2 === a.length) {\n return a.charCodeAt(1) - com.cognitect.transit.caching.BASE_CHAR_IDX;\n }\n var b = (a.charCodeAt(1) - com.cognitect.transit.caching.BASE_CHAR_IDX) * com.cognitect.transit.caching.CACHE_CODE_DIGITS;\n a = a.charCodeAt(2) - com.cognitect.transit.caching.BASE_CHAR_IDX;\n return b + a;\n};\ncom.cognitect.transit.caching.ReadCache = function() {\n this.idx = 0;\n this.cache = [];\n};\ncom.cognitect.transit.caching.ReadCache.prototype.write = function(a, b) {\n this.idx == com.cognitect.transit.caching.MAX_CACHE_ENTRIES && (this.idx = 0);\n this.cache[this.idx] = a;\n this.idx++;\n return a;\n};\ncom.cognitect.transit.caching.ReadCache.prototype.read = function(a, b) {\n return this.cache[com.cognitect.transit.caching.codeToIdx(a)];\n};\ncom.cognitect.transit.caching.ReadCache.prototype.clear = function() {\n this.idx = 0;\n};\ncom.cognitect.transit.caching.readCache = function() {\n return new com.cognitect.transit.caching.ReadCache;\n};\ncom.cognitect.transit.eq = {};\ncom.cognitect.transit.eq.hashCodeProperty = \"transit$hashCode$\";\ncom.cognitect.transit.eq.hashCodeCounter = 1;\ncom.cognitect.transit.eq.equals = function(a, b) {\n if (null == a) {\n return null == b;\n }\n if (a === b) {\n return !0;\n }\n if (\"object\" === typeof a) {\n if (com.cognitect.transit.util.isArray(a)) {\n if (com.cognitect.transit.util.isArray(b) && a.length === b.length) {\n for (var c = 0; c < a.length; c++) {\n if (!com.cognitect.transit.eq.equals(a[c], b[c])) {\n return !1;\n }\n }\n return !0;\n }\n return !1;\n }\n if (a.com$cognitect$transit$equals) {\n return a.com$cognitect$transit$equals(b);\n }\n if (null != b && \"object\" === typeof b) {\n if (b.com$cognitect$transit$equals) {\n return b.com$cognitect$transit$equals(a);\n }\n c = 0;\n var d = com.cognitect.transit.util.objectKeys(b).length, e;\n for (e in a) {\n if (a.hasOwnProperty(e) && (c++, !b.hasOwnProperty(e) || !com.cognitect.transit.eq.equals(a[e], b[e]))) {\n return !1;\n }\n }\n return c === d;\n }\n }\n return !1;\n};\ncom.cognitect.transit.eq.hashCombine = function(a, b) {\n return a ^ b + 2654435769 + (a << 6) + (a >> 2);\n};\ncom.cognitect.transit.eq.stringCodeCache = {};\ncom.cognitect.transit.eq.stringCodeCacheSize = 0;\ncom.cognitect.transit.eq.STR_CACHE_MAX = 256;\ncom.cognitect.transit.eq.hashString = function(a) {\n var b = com.cognitect.transit.eq.stringCodeCache[a];\n if (null != b) {\n return b;\n }\n for (var c = b = 0; c < a.length; ++c) {\n b = 31 * b + a.charCodeAt(c), b %= 4294967296;\n }\n com.cognitect.transit.eq.stringCodeCacheSize++;\n com.cognitect.transit.eq.stringCodeCacheSize >= com.cognitect.transit.eq.STR_CACHE_MAX && (com.cognitect.transit.eq.stringCodeCache = {}, com.cognitect.transit.eq.stringCodeCacheSize = 1);\n return com.cognitect.transit.eq.stringCodeCache[a] = b;\n};\ncom.cognitect.transit.eq.hashMapLike = function(a) {\n var b = 0;\n if (null != a.forEach) {\n a.forEach(function(g, h, k) {\n b = (b + (com.cognitect.transit.eq.hashCode(h) ^ com.cognitect.transit.eq.hashCode(g))) % 4503599627370496;\n });\n } else {\n for (var c = com.cognitect.transit.util.objectKeys(a), d = 0; d < c.length; d++) {\n var e = c[d], f = a[e];\n b = (b + (com.cognitect.transit.eq.hashCode(e) ^ com.cognitect.transit.eq.hashCode(f))) % 4503599627370496;\n }\n }\n return b;\n};\ncom.cognitect.transit.eq.hashArrayLike = function(a) {\n var b = 0;\n if (com.cognitect.transit.util.isArray(a)) {\n for (var c = 0; c < a.length; c++) {\n b = com.cognitect.transit.eq.hashCombine(b, com.cognitect.transit.eq.hashCode(a[c]));\n }\n } else {\n a.forEach && a.forEach(function(d, e) {\n b = com.cognitect.transit.eq.hashCombine(b, com.cognitect.transit.eq.hashCode(d));\n });\n }\n return b;\n};\ncom.cognitect.transit.eq.hashCode = function(a) {\n if (null == a) {\n return 0;\n }\n switch(typeof a) {\n case \"number\":\n return a;\n case \"boolean\":\n return !0 === a ? 1 : 0;\n case \"string\":\n return com.cognitect.transit.eq.hashString(a);\n case \"function\":\n var b = a[com.cognitect.transit.eq.hashCodeProperty];\n b || (b = com.cognitect.transit.eq.hashCodeCounter, \"undefined\" != typeof Object.defineProperty ? Object.defineProperty(a, com.cognitect.transit.eq.hashCodeProperty, {value:b, enumerable:!1}) : a[com.cognitect.transit.eq.hashCodeProperty] = b, com.cognitect.transit.eq.hashCodeCounter++);\n return b;\n default:\n return a instanceof Date ? a.valueOf() : com.cognitect.transit.util.isArray(a) ? com.cognitect.transit.eq.hashArrayLike(a) : a.com$cognitect$transit$hashCode ? a.com$cognitect$transit$hashCode() : com.cognitect.transit.eq.hashMapLike(a);\n }\n};\ncom.cognitect.transit.eq.extendToEQ = function(a, b) {\n a.com$cognitect$transit$hashCode = b.hashCode;\n a.com$cognitect$transit$equals = b.equals;\n return a;\n};\ngoog.debug = {};\nfunction module$contents$goog$debug$Error_DebugError(a, b) {\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, module$contents$goog$debug$Error_DebugError);\n } else {\n const c = Error().stack;\n c && (this.stack = c);\n }\n a && (this.message = String(a));\n b && (this.cause = b);\n this.reportErrorToServer = !0;\n}\ngoog.inherits(module$contents$goog$debug$Error_DebugError, Error);\nmodule$contents$goog$debug$Error_DebugError.prototype.name = \"CustomError\";\ngoog.debug.Error = module$contents$goog$debug$Error_DebugError;\ngoog.dom = {};\ngoog.dom.NodeType = {ELEMENT:1, ATTRIBUTE:2, TEXT:3, CDATA_SECTION:4, ENTITY_REFERENCE:5, ENTITY:6, PROCESSING_INSTRUCTION:7, COMMENT:8, DOCUMENT:9, DOCUMENT_TYPE:10, DOCUMENT_FRAGMENT:11, NOTATION:12};\ngoog.asserts = {};\ngoog.asserts.ENABLE_ASSERTS = goog.DEBUG;\ngoog.asserts.AssertionError = function(a, b) {\n module$contents$goog$debug$Error_DebugError.call(this, goog.asserts.subs_(a, b));\n this.messagePattern = a;\n};\ngoog.inherits(goog.asserts.AssertionError, module$contents$goog$debug$Error_DebugError);\ngoog.asserts.AssertionError.prototype.name = \"AssertionError\";\ngoog.asserts.DEFAULT_ERROR_HANDLER = function(a) {\n throw a;\n};\ngoog.asserts.errorHandler_ = goog.asserts.DEFAULT_ERROR_HANDLER;\ngoog.asserts.subs_ = function(a, b) {\n a = a.split(\"%s\");\n for (var c = \"\", d = a.length - 1, e = 0; e < d; e++) {\n c += a[e] + (e < b.length ? b[e] : \"%s\");\n }\n return c + a[d];\n};\ngoog.asserts.doAssertFailure_ = function(a, b, c, d) {\n var e = \"Assertion failed\";\n if (c) {\n e += \": \" + c;\n var f = d;\n } else {\n a && (e += \": \" + a, f = b);\n }\n a = new goog.asserts.AssertionError(\"\" + e, f || []);\n goog.asserts.errorHandler_(a);\n};\ngoog.asserts.setErrorHandler = function(a) {\n goog.asserts.ENABLE_ASSERTS && (goog.asserts.errorHandler_ = a);\n};\ngoog.asserts.assert = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && !a && goog.asserts.doAssertFailure_(\"\", null, b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertExists = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && null == a && goog.asserts.doAssertFailure_(\"Expected to exist: %s.\", [a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.fail = function(a, b) {\n goog.asserts.ENABLE_ASSERTS && goog.asserts.errorHandler_(new goog.asserts.AssertionError(\"Failure\" + (a ? \": \" + a : \"\"), Array.prototype.slice.call(arguments, 1)));\n};\ngoog.asserts.assertNumber = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && \"number\" !== typeof a && goog.asserts.doAssertFailure_(\"Expected number but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertString = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && \"string\" !== typeof a && goog.asserts.doAssertFailure_(\"Expected string but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertFunction = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && \"function\" !== typeof a && goog.asserts.doAssertFailure_(\"Expected function but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertObject = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && !goog.isObject(a) && goog.asserts.doAssertFailure_(\"Expected object but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertArray = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && !Array.isArray(a) && goog.asserts.doAssertFailure_(\"Expected array but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertBoolean = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && \"boolean\" !== typeof a && goog.asserts.doAssertFailure_(\"Expected boolean but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertElement = function(a, b, c) {\n !goog.asserts.ENABLE_ASSERTS || goog.isObject(a) && a.nodeType == goog.dom.NodeType.ELEMENT || goog.asserts.doAssertFailure_(\"Expected Element but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertInstanceof = function(a, b, c, d) {\n !goog.asserts.ENABLE_ASSERTS || a instanceof b || goog.asserts.doAssertFailure_(\"Expected instanceof %s but got %s.\", [goog.asserts.getType_(b), goog.asserts.getType_(a)], c, Array.prototype.slice.call(arguments, 3));\n return a;\n};\ngoog.asserts.assertFinite = function(a, b, c) {\n !goog.asserts.ENABLE_ASSERTS || \"number\" == typeof a && isFinite(a) || goog.asserts.doAssertFailure_(\"Expected %s to be a finite number but it is not.\", [a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.getType_ = function(a) {\n return a instanceof Function ? a.displayName || a.name || \"unknown type name\" : a instanceof Object ? a.constructor.displayName || a.constructor.name || Object.prototype.toString.call(a) : null === a ? \"null\" : typeof a;\n};\ngoog.reflect = {};\ngoog.reflect.object = function(a, b) {\n return b;\n};\ngoog.reflect.objectProperty = function(a, b) {\n return a;\n};\ngoog.reflect.sinkValue = function(a) {\n goog.reflect.sinkValue[\" \"](a);\n return a;\n};\ngoog.reflect.sinkValue[\" \"] = goog.nullFunction;\ngoog.reflect.canAccessProperty = function(a, b) {\n try {\n return goog.reflect.sinkValue(a[b]), !0;\n } catch (c) {\n }\n return !1;\n};\ngoog.reflect.cache = function(a, b, c, d) {\n d = d ? d(b) : b;\n return Object.prototype.hasOwnProperty.call(a, d) ? a[d] : a[d] = c(b);\n};\ngoog.math = {};\nclass module$contents$goog$math$Long_Long {\n constructor(a, b) {\n this.low_ = a | 0;\n this.high_ = b | 0;\n }\n toInt() {\n return this.low_;\n }\n toNumber() {\n return this.high_ * module$contents$goog$math$Long_TWO_PWR_32_DBL_ + this.getLowBitsUnsigned();\n }\n isSafeInteger() {\n var a = this.high_ >> 21;\n return 0 == a || -1 == a && !(0 == this.low_ && -2097152 == this.high_);\n }\n toString(a) {\n a = a || 10;\n if (2 > a || 36 < a) {\n throw Error(\"radix out of range: \" + a);\n }\n if (this.isSafeInteger()) {\n var b = this.toNumber();\n return 10 == a ? \"\" + b : b.toString(a);\n }\n b = 14 - (a >> 2);\n var c = Math.pow(a, b), d = module$contents$goog$math$Long_Long.fromBits(c, c / module$contents$goog$math$Long_TWO_PWR_32_DBL_);\n c = this.div(d);\n d = Math.abs(this.subtract(c.multiply(d)).toNumber());\n var e = 10 == a ? \"\" + d : d.toString(a);\n e.length < b && (e = \"0000000000000\".substr(e.length - b) + e);\n d = c.toNumber();\n return (10 == a ? d : d.toString(a)) + e;\n }\n getHighBits() {\n return this.high_;\n }\n getLowBits() {\n return this.low_;\n }\n getLowBitsUnsigned() {\n return this.low_ >>> 0;\n }\n getNumBitsAbs() {\n if (this.isNegative()) {\n return this.equals(module$contents$goog$math$Long_Long.getMinValue()) ? 64 : this.negate().getNumBitsAbs();\n }\n for (var a = 0 != this.high_ ? this.high_ : this.low_, b = 31; 0 < b && 0 == (a & 1 << b); b--) {\n }\n return 0 != this.high_ ? b + 33 : b + 1;\n }\n isZero() {\n return 0 == this.low_ && 0 == this.high_;\n }\n isNegative() {\n return 0 > this.high_;\n }\n isOdd() {\n return 1 == (this.low_ & 1);\n }\n equals(a) {\n return this.low_ == a.low_ && this.high_ == a.high_;\n }\n notEquals(a) {\n return !this.equals(a);\n }\n lessThan(a) {\n return 0 > this.compare(a);\n }\n lessThanOrEqual(a) {\n return 0 >= this.compare(a);\n }\n greaterThan(a) {\n return 0 < this.compare(a);\n }\n greaterThanOrEqual(a) {\n return 0 <= this.compare(a);\n }\n compare(a) {\n return this.high_ == a.high_ ? this.low_ == a.low_ ? 0 : this.getLowBitsUnsigned() > a.getLowBitsUnsigned() ? 1 : -1 : this.high_ > a.high_ ? 1 : -1;\n }\n negate() {\n var a = ~this.low_ + 1 | 0;\n return module$contents$goog$math$Long_Long.fromBits(a, ~this.high_ + !a | 0);\n }\n add(a) {\n var b = this.high_ >>> 16, c = this.high_ & 65535, d = this.low_ >>> 16, e = a.high_ >>> 16, f = a.high_ & 65535, g = a.low_ >>> 16;\n a = (this.low_ & 65535) + (a.low_ & 65535);\n g = (a >>> 16) + (d + g);\n d = g >>> 16;\n d += c + f;\n b = (d >>> 16) + (b + e) & 65535;\n return module$contents$goog$math$Long_Long.fromBits((g & 65535) << 16 | a & 65535, b << 16 | d & 65535);\n }\n subtract(a) {\n return this.add(a.negate());\n }\n multiply(a) {\n if (this.isZero()) {\n return this;\n }\n if (a.isZero()) {\n return a;\n }\n var b = this.high_ >>> 16, c = this.high_ & 65535, d = this.low_ >>> 16, e = this.low_ & 65535, f = a.high_ >>> 16, g = a.high_ & 65535, h = a.low_ >>> 16;\n a = a.low_ & 65535;\n var k = e * a;\n var l = (k >>> 16) + d * a;\n var n = l >>> 16;\n l = (l & 65535) + e * h;\n n += l >>> 16;\n n += c * a;\n var m = n >>> 16;\n n = (n & 65535) + d * h;\n m += n >>> 16;\n n = (n & 65535) + e * g;\n m = m + (n >>> 16) + (b * a + c * h + d * g + e * f) & 65535;\n return module$contents$goog$math$Long_Long.fromBits((l & 65535) << 16 | k & 65535, m << 16 | n & 65535);\n }\n div(a) {\n if (a.isZero()) {\n throw Error(\"division by zero\");\n }\n if (this.isNegative()) {\n if (this.equals(module$contents$goog$math$Long_Long.getMinValue())) {\n if (a.equals(module$contents$goog$math$Long_Long.getOne()) || a.equals(module$contents$goog$math$Long_Long.getNegOne())) {\n return module$contents$goog$math$Long_Long.getMinValue();\n }\n if (a.equals(module$contents$goog$math$Long_Long.getMinValue())) {\n return module$contents$goog$math$Long_Long.getOne();\n }\n var b = this.shiftRight(1).div(a).shiftLeft(1);\n if (b.equals(module$contents$goog$math$Long_Long.getZero())) {\n return a.isNegative() ? module$contents$goog$math$Long_Long.getOne() : module$contents$goog$math$Long_Long.getNegOne();\n }\n var c = this.subtract(a.multiply(b));\n return b.add(c.div(a));\n }\n return a.isNegative() ? this.negate().div(a.negate()) : this.negate().div(a).negate();\n }\n if (this.isZero()) {\n return module$contents$goog$math$Long_Long.getZero();\n }\n if (a.isNegative()) {\n return a.equals(module$contents$goog$math$Long_Long.getMinValue()) ? module$contents$goog$math$Long_Long.getZero() : this.div(a.negate()).negate();\n }\n var d = module$contents$goog$math$Long_Long.getZero();\n for (c = this; c.greaterThanOrEqual(a);) {\n b = Math.max(1, Math.floor(c.toNumber() / a.toNumber()));\n var e = Math.ceil(Math.log(b) / Math.LN2);\n e = 48 >= e ? 1 : Math.pow(2, e - 48);\n for (var f = module$contents$goog$math$Long_Long.fromNumber(b), g = f.multiply(a); g.isNegative() || g.greaterThan(c);) {\n b -= e, f = module$contents$goog$math$Long_Long.fromNumber(b), g = f.multiply(a);\n }\n f.isZero() && (f = module$contents$goog$math$Long_Long.getOne());\n d = d.add(f);\n c = c.subtract(g);\n }\n return d;\n }\n modulo(a) {\n return this.subtract(this.div(a).multiply(a));\n }\n not() {\n return module$contents$goog$math$Long_Long.fromBits(~this.low_, ~this.high_);\n }\n and(a) {\n return module$contents$goog$math$Long_Long.fromBits(this.low_ & a.low_, this.high_ & a.high_);\n }\n or(a) {\n return module$contents$goog$math$Long_Long.fromBits(this.low_ | a.low_, this.high_ | a.high_);\n }\n xor(a) {\n return module$contents$goog$math$Long_Long.fromBits(this.low_ ^ a.low_, this.high_ ^ a.high_);\n }\n shiftLeft(a) {\n a &= 63;\n if (0 == a) {\n return this;\n }\n var b = this.low_;\n return 32 > a ? module$contents$goog$math$Long_Long.fromBits(b << a, this.high_ << a | b >>> 32 - a) : module$contents$goog$math$Long_Long.fromBits(0, b << a - 32);\n }\n shiftRight(a) {\n a &= 63;\n if (0 == a) {\n return this;\n }\n var b = this.high_;\n return 32 > a ? module$contents$goog$math$Long_Long.fromBits(this.low_ >>> a | b << 32 - a, b >> a) : module$contents$goog$math$Long_Long.fromBits(b >> a - 32, 0 <= b ? 0 : -1);\n }\n shiftRightUnsigned(a) {\n a &= 63;\n if (0 == a) {\n return this;\n }\n var b = this.high_;\n return 32 > a ? module$contents$goog$math$Long_Long.fromBits(this.low_ >>> a | b << 32 - a, b >>> a) : 32 == a ? module$contents$goog$math$Long_Long.fromBits(b, 0) : module$contents$goog$math$Long_Long.fromBits(b >>> a - 32, 0);\n }\n static fromInt(a) {\n var b = a | 0;\n goog.asserts.assert(a === b, \"value should be a 32-bit integer\");\n return -128 <= b && 128 > b ? module$contents$goog$math$Long_getCachedIntValue_(b) : new module$contents$goog$math$Long_Long(b, 0 > b ? -1 : 0);\n }\n static fromNumber(a) {\n return 0 < a ? a >= module$contents$goog$math$Long_TWO_PWR_63_DBL_ ? module$contents$goog$math$Long_Long.getMaxValue() : new module$contents$goog$math$Long_Long(a, a / module$contents$goog$math$Long_TWO_PWR_32_DBL_) : 0 > a ? a <= -module$contents$goog$math$Long_TWO_PWR_63_DBL_ ? module$contents$goog$math$Long_Long.getMinValue() : (new module$contents$goog$math$Long_Long(-a, -a / module$contents$goog$math$Long_TWO_PWR_32_DBL_)).negate() : module$contents$goog$math$Long_Long.getZero();\n }\n static fromBits(a, b) {\n return new module$contents$goog$math$Long_Long(a, b);\n }\n static fromString(a, b) {\n if (\"-\" == a.charAt(0)) {\n return module$contents$goog$math$Long_Long.fromString(a.substring(1), b).negate();\n }\n var c = parseInt(a, b || 10);\n if (c <= module$contents$goog$math$Long_MAX_SAFE_INTEGER_) {\n return new module$contents$goog$math$Long_Long(c % module$contents$goog$math$Long_TWO_PWR_32_DBL_ | 0, c / module$contents$goog$math$Long_TWO_PWR_32_DBL_ | 0);\n }\n if (0 == a.length) {\n throw Error(\"number format error: empty string\");\n }\n if (0 <= a.indexOf(\"-\")) {\n throw Error('number format error: interior \"-\" character: ' + a);\n }\n b = b || 10;\n if (2 > b || 36 < b) {\n throw Error(\"radix out of range: \" + b);\n }\n c = module$contents$goog$math$Long_Long.fromNumber(Math.pow(b, 8));\n for (var d = module$contents$goog$math$Long_Long.getZero(), e = 0; e < a.length; e += 8) {\n var f = Math.min(8, a.length - e), g = parseInt(a.substring(e, e + f), b);\n 8 > f ? (f = module$contents$goog$math$Long_Long.fromNumber(Math.pow(b, f)), d = d.multiply(f).add(module$contents$goog$math$Long_Long.fromNumber(g))) : (d = d.multiply(c), d = d.add(module$contents$goog$math$Long_Long.fromNumber(g)));\n }\n return d;\n }\n static isStringInRange(a, b) {\n b = b || 10;\n if (2 > b || 36 < b) {\n throw Error(\"radix out of range: \" + b);\n }\n b = \"-\" == a.charAt(0) ? module$contents$goog$math$Long_MIN_VALUE_FOR_RADIX_[b] : module$contents$goog$math$Long_MAX_VALUE_FOR_RADIX_[b];\n return a.length < b.length ? !0 : a.length == b.length && a <= b ? !0 : !1;\n }\n static getZero() {\n return module$contents$goog$math$Long_ZERO_;\n }\n static getOne() {\n return module$contents$goog$math$Long_ONE_;\n }\n static getNegOne() {\n return module$contents$goog$math$Long_NEG_ONE_;\n }\n static getMaxValue() {\n return module$contents$goog$math$Long_MAX_VALUE_;\n }\n static getMinValue() {\n return module$contents$goog$math$Long_MIN_VALUE_;\n }\n static getTwoPwr24() {\n return module$contents$goog$math$Long_TWO_PWR_24_;\n }\n}\ngoog.math.Long = module$contents$goog$math$Long_Long;\nconst module$contents$goog$math$Long_IntCache_ = {};\nfunction module$contents$goog$math$Long_getCachedIntValue_(a) {\n return goog.reflect.cache(module$contents$goog$math$Long_IntCache_, a, function(b) {\n return new module$contents$goog$math$Long_Long(b, 0 > b ? -1 : 0);\n });\n}\nconst module$contents$goog$math$Long_MAX_VALUE_FOR_RADIX_ = \" 111111111111111111111111111111111111111111111111111111111111111 2021110011022210012102010021220101220221 13333333333333333333333333333333 1104332401304422434310311212 1540241003031030222122211 22341010611245052052300 777777777777777777777 67404283172107811827 9223372036854775807 1728002635214590697 41a792678515120367 10b269549075433c37 4340724c6c71dc7a7 160e2ad3246366807 7fffffffffffffff 33d3d8307b214008 16agh595df825fa7 ba643dci0ffeehh 5cbfjia3fh26ja7 2heiciiie82dh97 1adaibb21dckfa7 i6k448cf4192c2 acd772jnc9l0l7 64ie1focnn5g77 3igoecjbmca687 27c48l5b37oaop 1bk39f3ah3dmq7 q1se8f0m04isb hajppbc1fc207 bm03i95hia437 7vvvvvvvvvvvv 5hg4ck9jd4u37 3tdtk1v8j6tpp 2pijmikexrxp7 1y2p0ij32e8e7\".split(\" \"), \nmodule$contents$goog$math$Long_MIN_VALUE_FOR_RADIX_ = \" -1000000000000000000000000000000000000000000000000000000000000000 -2021110011022210012102010021220101220222 -20000000000000000000000000000000 -1104332401304422434310311213 -1540241003031030222122212 -22341010611245052052301 -1000000000000000000000 -67404283172107811828 -9223372036854775808 -1728002635214590698 -41a792678515120368 -10b269549075433c38 -4340724c6c71dc7a8 -160e2ad3246366808 -8000000000000000 -33d3d8307b214009 -16agh595df825fa8 -ba643dci0ffeehi -5cbfjia3fh26ja8 -2heiciiie82dh98 -1adaibb21dckfa8 -i6k448cf4192c3 -acd772jnc9l0l8 -64ie1focnn5g78 -3igoecjbmca688 -27c48l5b37oaoq -1bk39f3ah3dmq8 -q1se8f0m04isc -hajppbc1fc208 -bm03i95hia438 -8000000000000 -5hg4ck9jd4u38 -3tdtk1v8j6tpq -2pijmikexrxp8 -1y2p0ij32e8e8\".split(\" \"), \nmodule$contents$goog$math$Long_MAX_SAFE_INTEGER_ = 9007199254740991, module$contents$goog$math$Long_TWO_PWR_32_DBL_ = 4294967296, module$contents$goog$math$Long_TWO_PWR_63_DBL_ = 0x7fffffffffffffff, module$contents$goog$math$Long_ZERO_ = module$contents$goog$math$Long_Long.fromBits(0, 0), module$contents$goog$math$Long_ONE_ = module$contents$goog$math$Long_Long.fromBits(1, 0), module$contents$goog$math$Long_NEG_ONE_ = module$contents$goog$math$Long_Long.fromBits(-1, -1), module$contents$goog$math$Long_MAX_VALUE_ = \nmodule$contents$goog$math$Long_Long.fromBits(4294967295, 2147483647), module$contents$goog$math$Long_MIN_VALUE_ = module$contents$goog$math$Long_Long.fromBits(0, 2147483648), module$contents$goog$math$Long_TWO_PWR_24_ = module$contents$goog$math$Long_Long.fromBits(16777216, 0);\ncom.cognitect.transit.types = {};\ncom.cognitect.transit.types.ITERATOR = \"undefined\" != typeof Symbol ? Symbol.iterator : \"@@iterator\";\ncom.cognitect.transit.types.TaggedValue = function(a, b) {\n this.tag = a;\n this.rep = b;\n this.hashCode = -1;\n};\ncom.cognitect.transit.types.TaggedValue.prototype.toString = function() {\n return \"[TaggedValue: \" + this.tag + \", \" + this.rep + \"]\";\n};\ncom.cognitect.transit.types.TaggedValue.prototype.equiv = function(a) {\n return com.cognitect.transit.eq.equals(this, a);\n};\ncom.cognitect.transit.types.TaggedValue.prototype.equiv = com.cognitect.transit.types.TaggedValue.prototype.equiv;\ncom.cognitect.transit.types.TaggedValue.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue ? this.tag === a.tag && com.cognitect.transit.eq.equals(this.rep, a.rep) : !1;\n};\ncom.cognitect.transit.types.TaggedValue.prototype.com$cognitect$transit$hashCode = function() {\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashCombine(com.cognitect.transit.eq.hashCode(this.tag), com.cognitect.transit.eq.hashCode(this.rep)));\n return this.hashCode;\n};\ncom.cognitect.transit.types.taggedValue = function(a, b) {\n return new com.cognitect.transit.types.TaggedValue(a, b);\n};\ncom.cognitect.transit.types.isTaggedValue = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue;\n};\ncom.cognitect.transit.types.nullValue = function() {\n return null;\n};\ncom.cognitect.transit.types.boolValue = function(a) {\n return \"t\" === a;\n};\ncom.cognitect.transit.types.MAX_INT = module$contents$goog$math$Long_Long.fromString(\"9007199254740991\");\ncom.cognitect.transit.types.MIN_INT = module$contents$goog$math$Long_Long.fromString(\"-9007199254740991\");\ncom.cognitect.transit.types.intValue = function(a) {\n if (\"number\" === typeof a || a instanceof module$contents$goog$math$Long_Long) {\n return a;\n }\n a = module$contents$goog$math$Long_Long.fromString(a, 10);\n return a.greaterThan(com.cognitect.transit.types.MAX_INT) || a.lessThan(com.cognitect.transit.types.MIN_INT) ? a : a.toNumber();\n};\nmodule$contents$goog$math$Long_Long.prototype.equiv = function(a) {\n return com.cognitect.transit.eq.equals(this, a);\n};\nmodule$contents$goog$math$Long_Long.prototype.equiv = module$contents$goog$math$Long_Long.prototype.equiv;\nmodule$contents$goog$math$Long_Long.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof module$contents$goog$math$Long_Long && this.equals(a);\n};\nmodule$contents$goog$math$Long_Long.prototype.com$cognitect$transit$hashCode = function() {\n return this.toInt();\n};\ncom.cognitect.transit.types.isInteger = function(a) {\n return a instanceof module$contents$goog$math$Long_Long ? !0 : \"number\" === typeof a && !isNaN(a) && Infinity !== a && parseFloat(a) === parseInt(a, 10);\n};\ncom.cognitect.transit.types.floatValue = function(a) {\n return parseFloat(a);\n};\ncom.cognitect.transit.types.bigInteger = function(a) {\n return com.cognitect.transit.types.taggedValue(\"n\", a);\n};\ncom.cognitect.transit.types.isBigInteger = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"n\" === a.tag;\n};\ncom.cognitect.transit.types.bigDecimalValue = function(a) {\n return com.cognitect.transit.types.taggedValue(\"f\", a);\n};\ncom.cognitect.transit.types.isBigDecimal = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"f\" === a.tag;\n};\ncom.cognitect.transit.types.charValue = function(a) {\n return a;\n};\ncom.cognitect.transit.types.Keyword = function(a) {\n this._name = a;\n this.hashCode = -1;\n};\ncom.cognitect.transit.types.Keyword.prototype.toString = function() {\n return \":\" + this._name;\n};\ncom.cognitect.transit.types.Keyword.prototype.namespace = function() {\n var a = this._name.indexOf(\"/\");\n return -1 != a ? this._name.substring(0, a) : null;\n};\ncom.cognitect.transit.types.Keyword.prototype.name = function() {\n var a = this._name.indexOf(\"/\");\n return -1 != a ? this._name.substring(a + 1, this._name.length) : this._name;\n};\ncom.cognitect.transit.types.Keyword.prototype.equiv = function(a) {\n return com.cognitect.transit.eq.equals(this, a);\n};\ncom.cognitect.transit.types.Keyword.prototype.equiv = com.cognitect.transit.types.Keyword.prototype.equiv;\ncom.cognitect.transit.types.Keyword.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof com.cognitect.transit.types.Keyword && this._name == a._name;\n};\ncom.cognitect.transit.types.Keyword.prototype.com$cognitect$transit$hashCode = function() {\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashCode(this._name));\n return this.hashCode;\n};\ncom.cognitect.transit.types.keyword = function(a) {\n return new com.cognitect.transit.types.Keyword(a);\n};\ncom.cognitect.transit.types.isKeyword = function(a) {\n return a instanceof com.cognitect.transit.types.Keyword;\n};\ncom.cognitect.transit.types.Symbol = function(a) {\n this._name = a;\n this.hashCode = -1;\n};\ncom.cognitect.transit.types.Symbol.prototype.namespace = function() {\n var a = this._name.indexOf(\"/\");\n return -1 != a ? this._name.substring(0, a) : null;\n};\ncom.cognitect.transit.types.Symbol.prototype.name = function() {\n var a = this._name.indexOf(\"/\");\n return -1 != a ? this._name.substring(a + 1, this._name.length) : this._name;\n};\ncom.cognitect.transit.types.Symbol.prototype.toString = function() {\n return this._name;\n};\ncom.cognitect.transit.types.Symbol.prototype.equiv = function(a) {\n return com.cognitect.transit.eq.equals(this, a);\n};\ncom.cognitect.transit.types.Symbol.prototype.equiv = com.cognitect.transit.types.Symbol.prototype.equiv;\ncom.cognitect.transit.types.Symbol.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof com.cognitect.transit.types.Symbol && this._name == a._name;\n};\ncom.cognitect.transit.types.Symbol.prototype.com$cognitect$transit$hashCode = function() {\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashCode(this._name));\n return this.hashCode;\n};\ncom.cognitect.transit.types.symbol = function(a) {\n return new com.cognitect.transit.types.Symbol(a);\n};\ncom.cognitect.transit.types.isSymbol = function(a) {\n return a instanceof com.cognitect.transit.types.Symbol;\n};\ncom.cognitect.transit.types.hexFor = function(a, b, c) {\n var d = \"\";\n c = c || b + 1;\n for (var e = 8 * (7 - b), f = module$contents$goog$math$Long_Long.fromInt(255).shiftLeft(e); b < c; b++, e -= 8, f = f.shiftRightUnsigned(8)) {\n var g = a.and(f).shiftRightUnsigned(e).toString(16);\n 1 == g.length && (g = \"0\" + g);\n d += g;\n }\n return d;\n};\ncom.cognitect.transit.types.UUID = function(a, b) {\n this.high = a;\n this.low = b;\n this.hashCode = -1;\n};\ncom.cognitect.transit.types.UUID.prototype.getLeastSignificantBits = function() {\n return this.low;\n};\ncom.cognitect.transit.types.UUID.prototype.getMostSignificantBits = function() {\n return this.high;\n};\ncom.cognitect.transit.types.UUID.prototype.toString = function() {\n var a = this.high, b = this.low;\n var c = com.cognitect.transit.types.hexFor(a, 0, 4) + \"-\";\n c += com.cognitect.transit.types.hexFor(a, 4, 6) + \"-\";\n c += com.cognitect.transit.types.hexFor(a, 6, 8) + \"-\";\n c += com.cognitect.transit.types.hexFor(b, 0, 2) + \"-\";\n return c += com.cognitect.transit.types.hexFor(b, 2, 8);\n};\ncom.cognitect.transit.types.UUID.prototype.equiv = function(a) {\n return com.cognitect.transit.eq.equals(this, a);\n};\ncom.cognitect.transit.types.UUID.prototype.equiv = com.cognitect.transit.types.UUID.prototype.equiv;\ncom.cognitect.transit.types.UUID.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof com.cognitect.transit.types.UUID && this.high.equals(a.high) && this.low.equals(a.low);\n};\ncom.cognitect.transit.types.UUID.prototype.com$cognitect$transit$hashCode = function() {\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashCode(this.toString()));\n return this.hashCode;\n};\ncom.cognitect.transit.types.UUIDfromString = function(a) {\n a = a.replace(/-/g, \"\");\n var b, c;\n var d = b = 0;\n for (c = 24; 8 > d; d += 2, c -= 8) {\n b |= parseInt(a.substring(d, d + 2), 16) << c;\n }\n var e = 0;\n d = 8;\n for (c = 24; 16 > d; d += 2, c -= 8) {\n e |= parseInt(a.substring(d, d + 2), 16) << c;\n }\n var f = module$contents$goog$math$Long_Long.fromBits(e, b);\n b = 0;\n d = 16;\n for (c = 24; 24 > d; d += 2, c -= 8) {\n b |= parseInt(a.substring(d, d + 2), 16) << c;\n }\n e = 0;\n for (c = d = 24; 32 > d; d += 2, c -= 8) {\n e |= parseInt(a.substring(d, d + 2), 16) << c;\n }\n a = module$contents$goog$math$Long_Long.fromBits(e, b);\n return new com.cognitect.transit.types.UUID(f, a);\n};\ncom.cognitect.transit.types.uuid = function(a) {\n return com.cognitect.transit.types.UUIDfromString(a);\n};\ncom.cognitect.transit.types.isUUID = function(a) {\n return a instanceof com.cognitect.transit.types.UUID;\n};\ncom.cognitect.transit.types.date = function(a) {\n a = \"number\" === typeof a ? a : parseInt(a, 10);\n return new Date(a);\n};\ncom.cognitect.transit.types.verboseDate = function(a) {\n return new Date(a);\n};\nDate.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof Date ? this.valueOf() === a.valueOf() : !1;\n};\nDate.prototype.com$cognitect$transit$hashCode = function() {\n return this.valueOf();\n};\ncom.cognitect.transit.types.binary = function(a, b) {\n return b && !1 === b.preferBuffers || \"undefined\" == typeof goog.global.Buffer ? \"undefined\" != typeof Uint8Array ? com.cognitect.transit.util.Base64ToUint8(a) : com.cognitect.transit.types.taggedValue(\"b\", a) : new goog.global.Buffer(a, \"base64\");\n};\ncom.cognitect.transit.types.isBinary = function(a) {\n return \"undefined\" != typeof goog.global.Buffer && a instanceof goog.global.Buffer ? !0 : \"undefined\" != typeof Uint8Array && a instanceof Uint8Array ? !0 : a instanceof com.cognitect.transit.types.TaggedValue && \"b\" === a.tag;\n};\ncom.cognitect.transit.types.uri = function(a) {\n return com.cognitect.transit.types.taggedValue(\"r\", a);\n};\ncom.cognitect.transit.types.isURI = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"r\" === a.tag;\n};\ncom.cognitect.transit.types.KEYS = 0;\ncom.cognitect.transit.types.VALUES = 1;\ncom.cognitect.transit.types.ENTRIES = 2;\ncom.cognitect.transit.types.TransitArrayMapIterator = function(a, b) {\n this.entries = a;\n this.type = b || com.cognitect.transit.types.KEYS;\n this.idx = 0;\n};\ncom.cognitect.transit.types.TransitArrayMapIterator.prototype.next = function() {\n if (this.idx < this.entries.length) {\n var a = {value:this.type === com.cognitect.transit.types.KEYS ? this.entries[this.idx] : this.type === com.cognitect.transit.types.VALUES ? this.entries[this.idx + 1] : [this.entries[this.idx], this.entries[this.idx + 1]], done:!1};\n this.idx += 2;\n return a;\n }\n return {value:null, done:!0};\n};\ncom.cognitect.transit.types.TransitArrayMapIterator.prototype.next = com.cognitect.transit.types.TransitArrayMapIterator.prototype.next;\ncom.cognitect.transit.types.TransitArrayMapIterator.prototype[com.cognitect.transit.types.ITERATOR] = function() {\n return this;\n};\ncom.cognitect.transit.types.TransitMapIterator = function(a, b) {\n this.map = a;\n this.type = b || com.cognitect.transit.types.KEYS;\n this.keys = this.map.getKeys();\n this.idx = 0;\n this.bucket = null;\n this.bucketIdx = 0;\n};\ncom.cognitect.transit.types.TransitMapIterator.prototype.next = function() {\n if (this.idx < this.map.size) {\n null != this.bucket && this.bucketIdx < this.bucket.length || (this.bucket = this.map.map[this.keys[this.idx]], this.bucketIdx = 0);\n var a = {value:this.type === com.cognitect.transit.types.KEYS ? this.bucket[this.bucketIdx] : this.type === com.cognitect.transit.types.VALUES ? this.bucket[this.bucketIdx + 1] : [this.bucket[this.bucketIdx], this.bucket[this.bucketIdx + 1]], done:!1};\n this.idx++;\n this.bucketIdx += 2;\n return a;\n }\n return {value:null, done:!0};\n};\ncom.cognitect.transit.types.TransitMapIterator.prototype.next = com.cognitect.transit.types.TransitMapIterator.prototype.next;\ncom.cognitect.transit.types.TransitMapIterator.prototype[com.cognitect.transit.types.ITERATOR] = function() {\n return this;\n};\ncom.cognitect.transit.types.mapEquals = function(a, b) {\n if (a instanceof com.cognitect.transit.types.TransitMap && com.cognitect.transit.types.isMap(b)) {\n if (a.size !== b.size) {\n return !1;\n }\n for (var c in a.map) {\n for (var d = a.map[c], e = 0; e < d.length; e += 2) {\n if (!com.cognitect.transit.eq.equals(d[e + 1], b.get(d[e]))) {\n return !1;\n }\n }\n }\n return !0;\n }\n if (a instanceof com.cognitect.transit.types.TransitArrayMap && com.cognitect.transit.types.isMap(b)) {\n if (a.size !== b.size) {\n return !1;\n }\n a = a._entries;\n for (e = 0; e < a.length; e += 2) {\n if (!com.cognitect.transit.eq.equals(a[e + 1], b.get(a[e]))) {\n return !1;\n }\n }\n return !0;\n }\n if (null != b && \"object\" === typeof b && (e = com.cognitect.transit.util.objectKeys(b), c = e.length, a.size === c)) {\n for (d = 0; d < c; d++) {\n var f = e[d];\n if (!a.has(f) || !com.cognitect.transit.eq.equals(b[f], a.get(f))) {\n return !1;\n }\n }\n return !0;\n }\n return !1;\n};\ncom.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD = 8;\ncom.cognitect.transit.types.ARRAY_MAP_THRESHOLD = 32;\ncom.cognitect.transit.types.ARRAY_MAP_ACCESS_THRESHOLD = 32;\ncom.cognitect.transit.types.print = function(a) {\n return null == a ? \"null\" : \"array\" === goog.typeOf(a) ? \"[\" + a.toString() + \"]\" : \"string\" === goog.typeOf(a) ? '\"' + a + '\"' : a.toString();\n};\ncom.cognitect.transit.types.printMap = function(a) {\n var b = 0, c = \"TransitMap {\";\n a.forEach(function(d, e) {\n c += com.cognitect.transit.types.print(e) + \" => \" + com.cognitect.transit.types.print(d);\n b < a.size - 1 && (c += \", \");\n b++;\n });\n return c + \"}\";\n};\ncom.cognitect.transit.types.printSet = function(a) {\n var b = 0, c = \"TransitSet {\";\n a.forEach(function(d) {\n c += com.cognitect.transit.types.print(d);\n b < a.size - 1 && (c += \", \");\n b++;\n });\n return c + \"}\";\n};\ncom.cognitect.transit.types.TransitArrayMap = function(a) {\n this._entries = a;\n this.backingMap = null;\n this.hashCode = -1;\n this.size = a.length / 2;\n this.accesses = 0;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.toString = function() {\n return com.cognitect.transit.types.printMap(this);\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.inspect = function() {\n return this.toString();\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.convert = function() {\n if (this.backingMap) {\n throw Error(\"Invalid operation, already converted\");\n }\n if (this.size < com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD) {\n return !1;\n }\n this.accesses++;\n return this.accesses > com.cognitect.transit.types.ARRAY_MAP_ACCESS_THRESHOLD ? (this.backingMap = com.cognitect.transit.types.map(this._entries, !1, !0), this._entries = [], !0) : !1;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.clear = function() {\n this.hashCode = -1;\n this.backingMap ? this.backingMap.clear() : this._entries = [];\n this.size = 0;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.clear = com.cognitect.transit.types.TransitArrayMap.prototype.clear;\ncom.cognitect.transit.types.TransitArrayMap.prototype.keys = function() {\n return this.backingMap ? this.backingMap.keys() : new com.cognitect.transit.types.TransitArrayMapIterator(this._entries, com.cognitect.transit.types.KEYS);\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.keys = com.cognitect.transit.types.TransitArrayMap.prototype.keys;\ncom.cognitect.transit.types.TransitArrayMap.prototype.keySet = function() {\n if (this.backingMap) {\n return this.backingMap.keySet();\n }\n for (var a = [], b = 0, c = 0; c < this._entries.length; b++, c += 2) {\n a[b] = this._entries[c];\n }\n return a;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.keySet = com.cognitect.transit.types.TransitArrayMap.prototype.keySet;\ncom.cognitect.transit.types.TransitArrayMap.prototype.entries = function() {\n return this.backingMap ? this.backingMap.entries() : new com.cognitect.transit.types.TransitArrayMapIterator(this._entries, com.cognitect.transit.types.ENTRIES);\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.entries = com.cognitect.transit.types.TransitArrayMap.prototype.entries;\ncom.cognitect.transit.types.TransitArrayMap.prototype.values = function() {\n return this.backingMap ? this.backingMap.values() : new com.cognitect.transit.types.TransitArrayMapIterator(this._entries, com.cognitect.transit.types.VALUES);\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.values = com.cognitect.transit.types.TransitArrayMap.prototype.values;\ncom.cognitect.transit.types.TransitArrayMap.prototype.forEach = function(a) {\n if (this.backingMap) {\n this.backingMap.forEach(a);\n } else {\n for (var b = 0; b < this._entries.length; b += 2) {\n a(this._entries[b + 1], this._entries[b]);\n }\n }\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.forEach = com.cognitect.transit.types.TransitArrayMap.prototype.forEach;\ncom.cognitect.transit.types.TransitArrayMap.prototype.get = function(a, b) {\n if (this.backingMap) {\n return this.backingMap.get(a);\n }\n if (this.convert()) {\n return this.get(a);\n }\n for (var c = 0; c < this._entries.length; c += 2) {\n if (com.cognitect.transit.eq.equals(this._entries[c], a)) {\n return this._entries[c + 1];\n }\n }\n return b;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.get = com.cognitect.transit.types.TransitArrayMap.prototype.get;\ncom.cognitect.transit.types.TransitArrayMap.prototype.has = function(a) {\n if (this.backingMap) {\n return this.backingMap.has(a);\n }\n if (this.convert()) {\n return this.has(a);\n }\n for (var b = 0; b < this._entries.length; b += 2) {\n if (com.cognitect.transit.eq.equals(this._entries[b], a)) {\n return !0;\n }\n }\n return !1;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.has = com.cognitect.transit.types.TransitArrayMap.prototype.has;\ncom.cognitect.transit.types.TransitArrayMap.prototype.set = function(a, b) {\n this.hashCode = -1;\n if (this.backingMap) {\n this.backingMap.set(a, b), this.size = this.backingMap.size;\n } else {\n for (var c = 0; c < this._entries.length; c += 2) {\n if (com.cognitect.transit.eq.equals(this._entries[c], a)) {\n this._entries[c + 1] = b;\n return;\n }\n }\n this._entries.push(a);\n this._entries.push(b);\n this.size++;\n this.size > com.cognitect.transit.types.ARRAY_MAP_THRESHOLD && (this.backingMap = com.cognitect.transit.types.map(this._entries, !1, !0), this._entries = null);\n }\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.set = com.cognitect.transit.types.TransitArrayMap.prototype.set;\ncom.cognitect.transit.types.TransitArrayMap.prototype[\"delete\"] = function(a) {\n this.hashCode = -1;\n if (this.backingMap) {\n return a = this.backingMap.delete(a), this.size = this.backingMap.size, a;\n }\n for (var b = 0; b < this._entries.length; b += 2) {\n if (com.cognitect.transit.eq.equals(this._entries[b], a)) {\n return a = this._entries[b + 1], this._entries.splice(b, 2), this.size--, a;\n }\n }\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.clone = function() {\n var a = com.cognitect.transit.types.map();\n this.forEach(function(b, c) {\n a.set(c, b);\n });\n return a;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.clone = com.cognitect.transit.types.TransitArrayMap.prototype.clone;\ncom.cognitect.transit.types.TransitArrayMap.prototype[com.cognitect.transit.types.ITERATOR] = function() {\n return this.entries();\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.com$cognitect$transit$hashCode = function() {\n if (this.backingMap) {\n return this.backingMap.com$cognitect$transit$hashCode();\n }\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashMapLike(this));\n return this.hashCode;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.com$cognitect$transit$equals = function(a) {\n return this.backingMap ? com.cognitect.transit.types.mapEquals(this.backingMap, a) : com.cognitect.transit.types.mapEquals(this, a);\n};\ncom.cognitect.transit.types.TransitMap = function(a, b, c) {\n this.map = b || {};\n this._keys = a || [];\n this.size = c || 0;\n this.hashCode = -1;\n};\ncom.cognitect.transit.types.TransitMap.prototype.toString = function() {\n return com.cognitect.transit.types.printMap(this);\n};\ncom.cognitect.transit.types.TransitMap.prototype.inspect = function() {\n return this.toString();\n};\ncom.cognitect.transit.types.TransitMap.prototype.clear = function() {\n this.hashCode = -1;\n this.map = {};\n this._keys = [];\n this.size = 0;\n};\ncom.cognitect.transit.types.TransitMap.prototype.clear = com.cognitect.transit.types.TransitMap.prototype.clear;\ncom.cognitect.transit.types.TransitMap.prototype.getKeys = function() {\n return null != this._keys ? this._keys : com.cognitect.transit.util.objectKeys(this.map);\n};\ncom.cognitect.transit.types.TransitMap.prototype[\"delete\"] = function(a) {\n this.hashCode = -1;\n this._keys = null;\n for (var b = com.cognitect.transit.eq.hashCode(a), c = this.map[b], d = 0; d < c.length; d += 2) {\n if (com.cognitect.transit.eq.equals(a, c[d])) {\n return a = c[d + 1], c.splice(d, 2), 0 === c.length && delete this.map[b], this.size--, a;\n }\n }\n};\ncom.cognitect.transit.types.TransitMap.prototype.entries = function() {\n return new com.cognitect.transit.types.TransitMapIterator(this, com.cognitect.transit.types.ENTRIES);\n};\ncom.cognitect.transit.types.TransitMap.prototype.entries = com.cognitect.transit.types.TransitMap.prototype.entries;\ncom.cognitect.transit.types.TransitMap.prototype.forEach = function(a) {\n for (var b = this.getKeys(), c = 0; c < b.length; c++) {\n for (var d = this.map[b[c]], e = 0; e < d.length; e += 2) {\n a(d[e + 1], d[e], this);\n }\n }\n};\ncom.cognitect.transit.types.TransitMap.prototype.forEach = com.cognitect.transit.types.TransitMap.prototype.forEach;\ncom.cognitect.transit.types.TransitMap.prototype.get = function(a, b) {\n var c = com.cognitect.transit.eq.hashCode(a);\n c = this.map[c];\n if (null != c) {\n for (b = 0; b < c.length; b += 2) {\n if (com.cognitect.transit.eq.equals(a, c[b])) {\n return c[b + 1];\n }\n }\n } else {\n return b;\n }\n};\ncom.cognitect.transit.types.TransitMap.prototype.get = com.cognitect.transit.types.TransitMap.prototype.get;\ncom.cognitect.transit.types.TransitMap.prototype.has = function(a) {\n var b = com.cognitect.transit.eq.hashCode(a);\n b = this.map[b];\n if (null != b) {\n for (var c = 0; c < b.length; c += 2) {\n if (com.cognitect.transit.eq.equals(a, b[c])) {\n return !0;\n }\n }\n }\n return !1;\n};\ncom.cognitect.transit.types.TransitMap.prototype.has = com.cognitect.transit.types.TransitMap.prototype.has;\ncom.cognitect.transit.types.TransitMap.prototype.keys = function() {\n return new com.cognitect.transit.types.TransitMapIterator(this, com.cognitect.transit.types.KEYS);\n};\ncom.cognitect.transit.types.TransitMap.prototype.keys = com.cognitect.transit.types.TransitMap.prototype.keys;\ncom.cognitect.transit.types.TransitMap.prototype.keySet = function() {\n for (var a = this.getKeys(), b = [], c = 0; c < a.length; c++) {\n for (var d = this.map[a[c]], e = 0; e < d.length; e += 2) {\n b.push(d[e]);\n }\n }\n return b;\n};\ncom.cognitect.transit.types.TransitMap.prototype.keySet = com.cognitect.transit.types.TransitMap.prototype.keySet;\ncom.cognitect.transit.types.TransitMap.prototype.set = function(a, b) {\n this.hashCode = -1;\n var c = com.cognitect.transit.eq.hashCode(a), d = this.map[c];\n if (null == d) {\n this._keys && this._keys.push(c), this.map[c] = [a, b], this.size++;\n } else {\n c = !0;\n for (var e = 0; e < d.length; e += 2) {\n if (com.cognitect.transit.eq.equals(b, d[e])) {\n c = !1;\n d[e] = b;\n break;\n }\n }\n c && (d.push(a), d.push(b), this.size++);\n }\n};\ncom.cognitect.transit.types.TransitMap.prototype.set = com.cognitect.transit.types.TransitMap.prototype.set;\ncom.cognitect.transit.types.TransitMap.prototype.values = function() {\n return new com.cognitect.transit.types.TransitMapIterator(this, com.cognitect.transit.types.VALUES);\n};\ncom.cognitect.transit.types.TransitMap.prototype.values = com.cognitect.transit.types.TransitMap.prototype.values;\ncom.cognitect.transit.types.TransitMap.prototype.clone = function() {\n var a = com.cognitect.transit.types.map();\n this.forEach(function(b, c) {\n a.set(c, b);\n });\n return a;\n};\ncom.cognitect.transit.types.TransitMap.prototype.clone = com.cognitect.transit.types.TransitMap.prototype.clone;\ncom.cognitect.transit.types.TransitMap.prototype[com.cognitect.transit.types.ITERATOR] = function() {\n return this.entries();\n};\ncom.cognitect.transit.types.TransitMap.prototype.com$cognitect$transit$hashCode = function() {\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashMapLike(this));\n return this.hashCode;\n};\ncom.cognitect.transit.types.TransitMap.prototype.com$cognitect$transit$equals = function(a) {\n return com.cognitect.transit.types.mapEquals(this, a);\n};\ncom.cognitect.transit.types.map = function(a, b, c) {\n a = a || [];\n b = !1 === b ? b : !0;\n if ((!0 !== c || !c) && a.length <= 2 * com.cognitect.transit.types.ARRAY_MAP_THRESHOLD) {\n if (b) {\n var d = a;\n a = [];\n for (b = 0; b < d.length; b += 2) {\n var e = !1;\n for (c = 0; c < a.length; c += 2) {\n if (com.cognitect.transit.eq.equals(a[c], d[b])) {\n a[c + 1] = d[b + 1];\n e = !0;\n break;\n }\n }\n e || (a.push(d[b]), a.push(d[b + 1]));\n }\n }\n return new com.cognitect.transit.types.TransitArrayMap(a);\n }\n d = {};\n e = [];\n var f = 0;\n for (b = 0; b < a.length; b += 2) {\n c = com.cognitect.transit.eq.hashCode(a[b]);\n var g = d[c];\n if (null == g) {\n e.push(c), d[c] = [a[b], a[b + 1]], f++;\n } else {\n var h = !0;\n for (c = 0; c < g.length; c += 2) {\n if (com.cognitect.transit.eq.equals(g[c], a[b])) {\n g[c + 1] = a[b + 1];\n h = !1;\n break;\n }\n }\n h && (g.push(a[b]), g.push(a[b + 1]), f++);\n }\n }\n return new com.cognitect.transit.types.TransitMap(e, d, f);\n};\ncom.cognitect.transit.types.isArrayMap = function(a) {\n return a instanceof com.cognitect.transit.types.TransitArrayMap;\n};\ncom.cognitect.transit.types.isMap = function(a) {\n return a instanceof com.cognitect.transit.types.TransitArrayMap || a instanceof com.cognitect.transit.types.TransitMap;\n};\ncom.cognitect.transit.types.TransitSet = function(a) {\n this.map = a;\n this.size = a.size;\n};\ncom.cognitect.transit.types.TransitSet.prototype.toString = function() {\n return com.cognitect.transit.types.printSet(this);\n};\ncom.cognitect.transit.types.TransitSet.prototype.inspect = function() {\n return this.toString();\n};\ncom.cognitect.transit.types.TransitSet.prototype.add = function(a) {\n this.map.set(a, a);\n this.size = this.map.size;\n};\ncom.cognitect.transit.types.TransitSet.prototype.add = com.cognitect.transit.types.TransitSet.prototype.add;\ncom.cognitect.transit.types.TransitSet.prototype.clear = function() {\n this.map = new com.cognitect.transit.types.TransitMap;\n this.size = 0;\n};\ncom.cognitect.transit.types.TransitSet.prototype.clear = com.cognitect.transit.types.TransitSet.prototype.clear;\ncom.cognitect.transit.types.TransitSet.prototype[\"delete\"] = function(a) {\n a = this.map.delete(a);\n this.size = this.map.size;\n return a;\n};\ncom.cognitect.transit.types.TransitSet.prototype.entries = function() {\n return this.map.entries();\n};\ncom.cognitect.transit.types.TransitSet.prototype.entries = com.cognitect.transit.types.TransitSet.prototype.entries;\ncom.cognitect.transit.types.TransitSet.prototype.forEach = function(a, b) {\n var c = this;\n this.map.forEach(function(d, e, f) {\n a(e, c);\n });\n};\ncom.cognitect.transit.types.TransitSet.prototype.forEach = com.cognitect.transit.types.TransitSet.prototype.forEach;\ncom.cognitect.transit.types.TransitSet.prototype.has = function(a) {\n return this.map.has(a);\n};\ncom.cognitect.transit.types.TransitSet.prototype.has = com.cognitect.transit.types.TransitSet.prototype.has;\ncom.cognitect.transit.types.TransitSet.prototype.keys = function() {\n return this.map.keys();\n};\ncom.cognitect.transit.types.TransitSet.prototype.keys = com.cognitect.transit.types.TransitSet.prototype.keys;\ncom.cognitect.transit.types.TransitSet.prototype.keySet = function() {\n return this.map.keySet();\n};\ncom.cognitect.transit.types.TransitSet.prototype.keySet = com.cognitect.transit.types.TransitSet.prototype.keySet;\ncom.cognitect.transit.types.TransitSet.prototype.values = function() {\n return this.map.values();\n};\ncom.cognitect.transit.types.TransitSet.prototype.values = com.cognitect.transit.types.TransitSet.prototype.values;\ncom.cognitect.transit.types.TransitSet.prototype.clone = function() {\n var a = com.cognitect.transit.types.set();\n this.forEach(function(b) {\n a.add(b);\n });\n return a;\n};\ncom.cognitect.transit.types.TransitSet.prototype.clone = com.cognitect.transit.types.TransitSet.prototype.clone;\ncom.cognitect.transit.types.TransitSet.prototype[com.cognitect.transit.types.ITERATOR] = function() {\n return this.values();\n};\ncom.cognitect.transit.types.TransitSet.prototype.com$cognitect$transit$equals = function(a) {\n if (a instanceof com.cognitect.transit.types.TransitSet) {\n if (this.size === a.size) {\n return com.cognitect.transit.eq.equals(this.map, a.map);\n }\n } else {\n return !1;\n }\n};\ncom.cognitect.transit.types.TransitSet.prototype.com$cognitect$transit$hashCode = function(a) {\n return com.cognitect.transit.eq.hashCode(this.map);\n};\ncom.cognitect.transit.types.set = function(a) {\n a = a || [];\n for (var b = {}, c = [], d = 0, e = 0; e < a.length; e++) {\n var f = com.cognitect.transit.eq.hashCode(a[e]), g = b[f];\n if (null == g) {\n c.push(f), b[f] = [a[e], a[e]], d++;\n } else {\n f = !0;\n for (var h = 0; h < g.length; h += 2) {\n if (com.cognitect.transit.eq.equals(g[h], a[e])) {\n f = !1;\n break;\n }\n }\n f && (g.push(a[e]), g.push(a[e]), d++);\n }\n }\n return new com.cognitect.transit.types.TransitSet(new com.cognitect.transit.types.TransitMap(c, b, d));\n};\ncom.cognitect.transit.types.isSet = function(a) {\n return a instanceof com.cognitect.transit.types.TransitSet;\n};\ncom.cognitect.transit.types.quoted = function(a) {\n return com.cognitect.transit.types.taggedValue(\"'\", a);\n};\ncom.cognitect.transit.types.isQuoted = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"'\" === a.tag;\n};\ncom.cognitect.transit.types.list = function(a) {\n return com.cognitect.transit.types.taggedValue(\"list\", a);\n};\ncom.cognitect.transit.types.isList = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"list\" === a.tag;\n};\ncom.cognitect.transit.types.link = function(a) {\n return com.cognitect.transit.types.taggedValue(\"link\", a);\n};\ncom.cognitect.transit.types.isLink = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"link\" === a.tag;\n};\ncom.cognitect.transit.types.specialDouble = function(a) {\n switch(a) {\n case \"-INF\":\n return -Infinity;\n case \"INF\":\n return Infinity;\n case \"NaN\":\n return NaN;\n default:\n throw Error(\"Invalid special double value \" + a);\n }\n};\ncom.cognitect.transit.impl = {};\ncom.cognitect.transit.impl.decoder = {};\ncom.cognitect.transit.impl.decoder.Tag = function(a) {\n this.str = a;\n};\ncom.cognitect.transit.impl.decoder.tag = function(a) {\n return new com.cognitect.transit.impl.decoder.Tag(a);\n};\ncom.cognitect.transit.impl.decoder.isTag = function(a) {\n return a && a instanceof com.cognitect.transit.impl.decoder.Tag;\n};\ncom.cognitect.transit.impl.decoder.isGroundHandler = function(a) {\n switch(a) {\n case \"_\":\n case \"s\":\n case \"?\":\n case \"i\":\n case \"d\":\n case \"b\":\n case \"'\":\n case \"array\":\n case \"map\":\n return !0;\n }\n return !1;\n};\ncom.cognitect.transit.impl.decoder.Decoder = function(a) {\n this.options = a || {};\n this.handlers = {};\n for (var b in this.defaults.handlers) {\n this.handlers[b] = this.defaults.handlers[b];\n }\n for (b in this.options.handlers) {\n if (com.cognitect.transit.impl.decoder.isGroundHandler(b)) {\n throw Error('Cannot override handler for ground type \"' + b + '\"');\n }\n this.handlers[b] = this.options.handlers[b];\n }\n this.preferStrings = null != this.options.preferStrings ? this.options.preferStrings : this.defaults.preferStrings;\n this.preferBuffers = null != this.options.preferBuffers ? this.options.preferBuffers : this.defaults.preferBuffers;\n this.defaultHandler = this.options.defaultHandler || this.defaults.defaultHandler;\n this.mapBuilder = this.options.mapBuilder;\n this.arrayBuilder = this.options.arrayBuilder;\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.defaults = {handlers:{_:function(a, b) {\n return com.cognitect.transit.types.nullValue();\n}, \"?\":function(a, b) {\n return com.cognitect.transit.types.boolValue(a);\n}, b:function(a, b) {\n return com.cognitect.transit.types.binary(a, b);\n}, i:function(a, b) {\n return com.cognitect.transit.types.intValue(a);\n}, n:function(a, b) {\n return com.cognitect.transit.types.bigInteger(a);\n}, d:function(a, b) {\n return com.cognitect.transit.types.floatValue(a);\n}, f:function(a, b) {\n return com.cognitect.transit.types.bigDecimalValue(a);\n}, c:function(a, b) {\n return com.cognitect.transit.types.charValue(a);\n}, \":\":function(a, b) {\n return com.cognitect.transit.types.keyword(a);\n}, $:function(a, b) {\n return com.cognitect.transit.types.symbol(a);\n}, r:function(a, b) {\n return com.cognitect.transit.types.uri(a);\n}, z:function(a, b) {\n return com.cognitect.transit.types.specialDouble(a);\n}, \"'\":function(a, b) {\n return a;\n}, m:function(a, b) {\n return com.cognitect.transit.types.date(a);\n}, t:function(a, b) {\n return com.cognitect.transit.types.verboseDate(a);\n}, u:function(a, b) {\n return com.cognitect.transit.types.uuid(a);\n}, set:function(a, b) {\n return com.cognitect.transit.types.set(a);\n}, list:function(a, b) {\n return com.cognitect.transit.types.list(a);\n}, link:function(a, b) {\n return com.cognitect.transit.types.link(a);\n}, cmap:function(a, b) {\n return com.cognitect.transit.types.map(a, !1);\n}}, defaultHandler:function(a, b) {\n return com.cognitect.transit.types.taggedValue(a, b);\n}, preferStrings:!0, preferBuffers:!0};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decode = function(a, b, c, d) {\n if (null == a) {\n return null;\n }\n switch(typeof a) {\n case \"string\":\n return this.decodeString(a, b, c, d);\n case \"object\":\n return com.cognitect.transit.util.isArray(a) ? \"^ \" === a[0] ? this.decodeArrayHash(a, b, c, d) : this.decodeArray(a, b, c, d) : this.decodeHash(a, b, c, d);\n }\n return a;\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decode = com.cognitect.transit.impl.decoder.Decoder.prototype.decode;\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decodeString = function(a, b, c, d) {\n return com.cognitect.transit.caching.isCacheable(a, c) ? (a = this.parseString(a, b, !1), b && b.write(a, c), a) : com.cognitect.transit.caching.isCacheCode(a) ? b.read(a, c) : this.parseString(a, b, c);\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decodeHash = function(a, b, c, d) {\n c = com.cognitect.transit.util.objectKeys(a);\n var e = c[0];\n d = 1 == c.length ? this.decode(e, b, !1, !1) : null;\n if (com.cognitect.transit.impl.decoder.isTag(d)) {\n return a = a[e], c = this.handlers[d.str], null != c ? c(this.decode(a, b, !1, !0), this) : com.cognitect.transit.types.taggedValue(d.str, this.decode(a, b, !1, !1));\n }\n if (this.mapBuilder) {\n if (c.length < 2 * com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD && this.mapBuilder.fromArray) {\n var f = [];\n for (d = 0; d < c.length; d++) {\n e = c[d], f.push(this.decode(e, b, !0, !1)), f.push(this.decode(a[e], b, !1, !1));\n }\n return this.mapBuilder.fromArray(f, a);\n }\n f = this.mapBuilder.init(a);\n for (d = 0; d < c.length; d++) {\n e = c[d], f = this.mapBuilder.add(f, this.decode(e, b, !0, !1), this.decode(a[e], b, !1, !1), a);\n }\n return this.mapBuilder.finalize(f, a);\n }\n f = [];\n for (d = 0; d < c.length; d++) {\n e = c[d], f.push(this.decode(e, b, !0, !1)), f.push(this.decode(a[e], b, !1, !1));\n }\n return com.cognitect.transit.types.map(f, !1);\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decodeArrayHash = function(a, b, c, d) {\n if (this.mapBuilder) {\n if (a.length < 2 * com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD + 1 && this.mapBuilder.fromArray) {\n d = [];\n for (c = 1; c < a.length; c += 2) {\n d.push(this.decode(a[c], b, !0, !1)), d.push(this.decode(a[c + 1], b, !1, !1));\n }\n return this.mapBuilder.fromArray(d, a);\n }\n d = this.mapBuilder.init(a);\n for (c = 1; c < a.length; c += 2) {\n d = this.mapBuilder.add(d, this.decode(a[c], b, !0, !1), this.decode(a[c + 1], b, !1, !1), a);\n }\n return this.mapBuilder.finalize(d, a);\n }\n d = [];\n for (c = 1; c < a.length; c += 2) {\n d.push(this.decode(a[c], b, !0, !1)), d.push(this.decode(a[c + 1], b, !1, !1));\n }\n return com.cognitect.transit.types.map(d, !1);\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decodeArray = function(a, b, c, d) {\n if (d) {\n var e = [];\n for (d = 0; d < a.length; d++) {\n e.push(this.decode(a[d], b, c, !1));\n }\n return e;\n }\n e = b && b.idx;\n if (2 === a.length && \"string\" === typeof a[0] && (d = this.decode(a[0], b, !1, !1), com.cognitect.transit.impl.decoder.isTag(d))) {\n return a = a[1], e = this.handlers[d.str], null != e ? e = e(this.decode(a, b, c, !0), this) : com.cognitect.transit.types.taggedValue(d.str, this.decode(a, b, c, !1));\n }\n b && e != b.idx && (b.idx = e);\n if (this.arrayBuilder) {\n if (32 >= a.length && this.arrayBuilder.fromArray) {\n e = [];\n for (d = 0; d < a.length; d++) {\n e.push(this.decode(a[d], b, c, !1));\n }\n return this.arrayBuilder.fromArray(e, a);\n }\n e = this.arrayBuilder.init(a);\n for (d = 0; d < a.length; d++) {\n e = this.arrayBuilder.add(e, this.decode(a[d], b, c, !1), a);\n }\n return this.arrayBuilder.finalize(e, a);\n }\n e = [];\n for (d = 0; d < a.length; d++) {\n e.push(this.decode(a[d], b, c, !1));\n }\n return e;\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.parseString = function(a, b, c) {\n if (a.charAt(0) === com.cognitect.transit.delimiters.ESC) {\n b = a.charAt(1);\n if (b === com.cognitect.transit.delimiters.ESC || b === com.cognitect.transit.delimiters.SUB || b === com.cognitect.transit.delimiters.RES) {\n return a.substring(1);\n }\n if (b === com.cognitect.transit.delimiters.TAG) {\n return com.cognitect.transit.impl.decoder.tag(a.substring(2));\n }\n c = this.handlers[b];\n return null == c ? this.defaultHandler(b, a.substring(2)) : c(a.substring(2), this);\n }\n return a;\n};\ncom.cognitect.transit.impl.decoder.decoder = function(a) {\n return new com.cognitect.transit.impl.decoder.Decoder(a);\n};\ncom.cognitect.transit.impl.reader = {};\ncom.cognitect.transit.impl.reader.JSONUnmarshaller = function(a) {\n this.decoder = new com.cognitect.transit.impl.decoder.Decoder(a);\n};\ncom.cognitect.transit.impl.reader.JSONUnmarshaller.prototype.unmarshal = function(a, b) {\n return this.decoder.decode(JSON.parse(a), b);\n};\ncom.cognitect.transit.impl.reader.Reader = function(a, b) {\n this.unmarshaller = a;\n this.options = b || {};\n this.cache = this.options.cache ? this.options.cache : new com.cognitect.transit.caching.ReadCache;\n};\ncom.cognitect.transit.impl.reader.Reader.prototype.read = function(a) {\n a = this.unmarshaller.unmarshal(a, this.cache);\n this.cache.clear();\n return a;\n};\ncom.cognitect.transit.impl.reader.Reader.prototype.read = com.cognitect.transit.impl.reader.Reader.prototype.read;\ncom.cognitect.transit.handlers = {};\ncom.cognitect.transit.handlers.ctorGuid = 0;\ncom.cognitect.transit.handlers.ctorGuidProperty = \"transit$guid$\" + com.cognitect.transit.util.randomUUID();\ncom.cognitect.transit.handlers.typeTag = function(a) {\n if (null == a) {\n return \"null\";\n }\n if (a === String) {\n return \"string\";\n }\n if (a === Boolean) {\n return \"boolean\";\n }\n if (a === Number) {\n return \"number\";\n }\n if (a === Array) {\n return \"array\";\n }\n if (a === Object) {\n return \"map\";\n }\n var b = a[com.cognitect.transit.handlers.ctorGuidProperty];\n null == b && (\"undefined\" != typeof Object.defineProperty ? (b = ++com.cognitect.transit.handlers.ctorGuid, Object.defineProperty(a, com.cognitect.transit.handlers.ctorGuidProperty, {value:b, enumerable:!1})) : a[com.cognitect.transit.handlers.ctorGuidProperty] = b = ++com.cognitect.transit.handlers.ctorGuid);\n return b;\n};\ncom.cognitect.transit.handlers.constructor = function(a) {\n return null == a ? null : a.constructor;\n};\ncom.cognitect.transit.handlers.padZeros = function(a, b) {\n a = a.toString();\n for (var c = a.length; c < b; c++) {\n a = \"0\" + a;\n }\n return a;\n};\ncom.cognitect.transit.handlers.stringableKeys = function(a) {\n a = com.cognitect.transit.util.objectKeys(a);\n for (var b = 0; b < a.length; b++) {\n }\n return !0;\n};\ncom.cognitect.transit.handlers.NilHandler = function() {\n};\ncom.cognitect.transit.handlers.NilHandler.prototype.tag = function(a) {\n return \"_\";\n};\ncom.cognitect.transit.handlers.NilHandler.prototype.rep = function(a) {\n return null;\n};\ncom.cognitect.transit.handlers.NilHandler.prototype.stringRep = function(a) {\n return \"null\";\n};\ncom.cognitect.transit.handlers.StringHandler = function() {\n};\ncom.cognitect.transit.handlers.StringHandler.prototype.tag = function(a) {\n return \"s\";\n};\ncom.cognitect.transit.handlers.StringHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.StringHandler.prototype.stringRep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.NumberHandler = function() {\n};\ncom.cognitect.transit.handlers.NumberHandler.prototype.tag = function(a) {\n return \"i\";\n};\ncom.cognitect.transit.handlers.NumberHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.NumberHandler.prototype.stringRep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.IntegerHandler = function() {\n};\ncom.cognitect.transit.handlers.IntegerHandler.prototype.tag = function(a) {\n return \"i\";\n};\ncom.cognitect.transit.handlers.IntegerHandler.prototype.rep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.IntegerHandler.prototype.stringRep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.BooleanHandler = function() {\n};\ncom.cognitect.transit.handlers.BooleanHandler.prototype.tag = function(a) {\n return \"?\";\n};\ncom.cognitect.transit.handlers.BooleanHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.BooleanHandler.prototype.stringRep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.ArrayHandler = function() {\n};\ncom.cognitect.transit.handlers.ArrayHandler.prototype.tag = function(a) {\n return \"array\";\n};\ncom.cognitect.transit.handlers.ArrayHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.ArrayHandler.prototype.stringRep = function(a) {\n return null;\n};\ncom.cognitect.transit.handlers.MapHandler = function() {\n};\ncom.cognitect.transit.handlers.MapHandler.prototype.tag = function(a) {\n return \"map\";\n};\ncom.cognitect.transit.handlers.MapHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.MapHandler.prototype.stringRep = function(a) {\n return null;\n};\ncom.cognitect.transit.handlers.VerboseDateHandler = function() {\n};\ncom.cognitect.transit.handlers.VerboseDateHandler.prototype.tag = function(a) {\n return \"t\";\n};\ncom.cognitect.transit.handlers.VerboseDateHandler.prototype.rep = function(a) {\n return a.getUTCFullYear() + \"-\" + com.cognitect.transit.handlers.padZeros(a.getUTCMonth() + 1, 2) + \"-\" + com.cognitect.transit.handlers.padZeros(a.getUTCDate(), 2) + \"T\" + com.cognitect.transit.handlers.padZeros(a.getUTCHours(), 2) + \":\" + com.cognitect.transit.handlers.padZeros(a.getUTCMinutes(), 2) + \":\" + com.cognitect.transit.handlers.padZeros(a.getUTCSeconds(), 2) + \".\" + com.cognitect.transit.handlers.padZeros(a.getUTCMilliseconds(), 3) + \"Z\";\n};\ncom.cognitect.transit.handlers.VerboseDateHandler.prototype.stringRep = function(a, b) {\n return b.rep(a);\n};\ncom.cognitect.transit.handlers.DateHandler = function() {\n};\ncom.cognitect.transit.handlers.DateHandler.prototype.tag = function(a) {\n return \"m\";\n};\ncom.cognitect.transit.handlers.DateHandler.prototype.rep = function(a) {\n return a.valueOf();\n};\ncom.cognitect.transit.handlers.DateHandler.prototype.stringRep = function(a) {\n return a.valueOf().toString();\n};\ncom.cognitect.transit.handlers.DateHandler.prototype.getVerboseHandler = function(a) {\n return new com.cognitect.transit.handlers.VerboseDateHandler;\n};\ncom.cognitect.transit.handlers.UUIDHandler = function() {\n};\ncom.cognitect.transit.handlers.UUIDHandler.prototype.tag = function(a) {\n return \"u\";\n};\ncom.cognitect.transit.handlers.UUIDHandler.prototype.rep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.UUIDHandler.prototype.stringRep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.KeywordHandler = function() {\n};\ncom.cognitect.transit.handlers.KeywordHandler.prototype.tag = function(a) {\n return \":\";\n};\ncom.cognitect.transit.handlers.KeywordHandler.prototype.rep = function(a) {\n return a._name;\n};\ncom.cognitect.transit.handlers.KeywordHandler.prototype.stringRep = function(a, b) {\n return b.rep(a);\n};\ncom.cognitect.transit.handlers.SymbolHandler = function() {\n};\ncom.cognitect.transit.handlers.SymbolHandler.prototype.tag = function(a) {\n return \"$\";\n};\ncom.cognitect.transit.handlers.SymbolHandler.prototype.rep = function(a) {\n return a._name;\n};\ncom.cognitect.transit.handlers.SymbolHandler.prototype.stringRep = function(a, b) {\n return b.rep(a);\n};\ncom.cognitect.transit.handlers.TaggedHandler = function() {\n};\ncom.cognitect.transit.handlers.TaggedHandler.prototype.tag = function(a) {\n return a.tag;\n};\ncom.cognitect.transit.handlers.TaggedHandler.prototype.rep = function(a) {\n return a.rep;\n};\ncom.cognitect.transit.handlers.TaggedHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.TransitSetHandler = function() {\n};\ncom.cognitect.transit.handlers.TransitSetHandler.prototype.tag = function(a) {\n return \"set\";\n};\ncom.cognitect.transit.handlers.TransitSetHandler.prototype.rep = function(a) {\n var b = [];\n a.forEach(function(c, d) {\n b.push(c);\n });\n return com.cognitect.transit.types.taggedValue(\"array\", b);\n};\ncom.cognitect.transit.handlers.TransitSetHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.TransitArrayMapHandler = function() {\n};\ncom.cognitect.transit.handlers.TransitArrayMapHandler.prototype.tag = function(a) {\n return \"map\";\n};\ncom.cognitect.transit.handlers.TransitArrayMapHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.TransitArrayMapHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.TransitMapHandler = function() {\n};\ncom.cognitect.transit.handlers.TransitMapHandler.prototype.tag = function(a) {\n return \"map\";\n};\ncom.cognitect.transit.handlers.TransitMapHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.TransitMapHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.BufferHandler = function() {\n};\ncom.cognitect.transit.handlers.BufferHandler.prototype.tag = function(a) {\n return \"b\";\n};\ncom.cognitect.transit.handlers.BufferHandler.prototype.rep = function(a) {\n return a.toString(\"base64\");\n};\ncom.cognitect.transit.handlers.BufferHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.Uint8ArrayHandler = function() {\n};\ncom.cognitect.transit.handlers.Uint8ArrayHandler.prototype.tag = function(a) {\n return \"b\";\n};\ncom.cognitect.transit.handlers.Uint8ArrayHandler.prototype.rep = function(a) {\n return com.cognitect.transit.util.Uint8ToBase64(a);\n};\ncom.cognitect.transit.handlers.Uint8ArrayHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.defaultHandlers = function(a) {\n a.set(null, new com.cognitect.transit.handlers.NilHandler);\n a.set(String, new com.cognitect.transit.handlers.StringHandler);\n a.set(Number, new com.cognitect.transit.handlers.NumberHandler);\n a.set(module$contents$goog$math$Long_Long, new com.cognitect.transit.handlers.IntegerHandler);\n a.set(Boolean, new com.cognitect.transit.handlers.BooleanHandler);\n a.set(Array, new com.cognitect.transit.handlers.ArrayHandler);\n a.set(Object, new com.cognitect.transit.handlers.MapHandler);\n a.set(Date, new com.cognitect.transit.handlers.DateHandler);\n a.set(com.cognitect.transit.types.UUID, new com.cognitect.transit.handlers.UUIDHandler);\n a.set(com.cognitect.transit.types.Keyword, new com.cognitect.transit.handlers.KeywordHandler);\n a.set(com.cognitect.transit.types.Symbol, new com.cognitect.transit.handlers.SymbolHandler);\n a.set(com.cognitect.transit.types.TaggedValue, new com.cognitect.transit.handlers.TaggedHandler);\n a.set(com.cognitect.transit.types.TransitSet, new com.cognitect.transit.handlers.TransitSetHandler);\n a.set(com.cognitect.transit.types.TransitArrayMap, new com.cognitect.transit.handlers.TransitArrayMapHandler);\n a.set(com.cognitect.transit.types.TransitMap, new com.cognitect.transit.handlers.TransitMapHandler);\n \"undefined\" != typeof goog.global.Buffer && a.set(goog.global.Buffer, new com.cognitect.transit.handlers.BufferHandler);\n \"undefined\" != typeof Uint8Array && a.set(Uint8Array, new com.cognitect.transit.handlers.Uint8ArrayHandler);\n return a;\n};\ncom.cognitect.transit.handlers.Handlers = function() {\n this.handlers = {};\n com.cognitect.transit.handlers.defaultHandlers(this);\n};\ncom.cognitect.transit.handlers.Handlers.prototype.get = function(a) {\n a = \"string\" === typeof a ? this.handlers[a] : this.handlers[com.cognitect.transit.handlers.typeTag(a)];\n return null != a ? a : this.handlers[\"default\"];\n};\ncom.cognitect.transit.handlers.Handlers.prototype.get = com.cognitect.transit.handlers.Handlers.prototype.get;\ncom.cognitect.transit.handlers.validTag = function(a) {\n switch(a) {\n case \"null\":\n case \"string\":\n case \"boolean\":\n case \"number\":\n case \"array\":\n case \"map\":\n return !1;\n }\n return !0;\n};\ncom.cognitect.transit.handlers.Handlers.prototype.set = function(a, b) {\n \"string\" === typeof a && com.cognitect.transit.handlers.validTag(a) ? this.handlers[a] = b : this.handlers[com.cognitect.transit.handlers.typeTag(a)] = b;\n};\ncom.cognitect.transit.impl.writer = {};\ncom.cognitect.transit.impl.writer.escape = function(a) {\n if (0 < a.length) {\n var b = a.charAt(0);\n return b === com.cognitect.transit.delimiters.ESC || b === com.cognitect.transit.delimiters.SUB || b === com.cognitect.transit.delimiters.RES ? com.cognitect.transit.delimiters.ESC + a : a;\n }\n return a;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller = function(a) {\n this.opts = a || {};\n this.preferStrings = null != this.opts.preferStrings ? this.opts.preferStrings : !0;\n this.objectBuilder = this.opts.objectBuilder || null;\n this.transform = this.opts.transform || null;\n this.handlers = new com.cognitect.transit.handlers.Handlers;\n if (a = this.opts.handlers) {\n if (com.cognitect.transit.util.isArray(a) || !a.forEach) {\n throw Error('transit writer \"handlers\" option must be a map');\n }\n var b = this;\n a.forEach(function(c, d) {\n if (void 0 !== d) {\n b.handlers.set(d, c);\n } else {\n throw Error(\"Cannot create handler for JavaScript undefined\");\n }\n });\n }\n this.handlerForForeign = this.opts.handlerForForeign;\n this.unpack = this.opts.unpack || function(c) {\n return com.cognitect.transit.types.isArrayMap(c) && null === c.backingMap ? c._entries : !1;\n };\n this.verbose = this.opts && this.opts.verbose || !1;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.handler = function(a) {\n var b = this.handlers.get(com.cognitect.transit.handlers.constructor(a));\n return null != b ? b : (a = a && a.transitTag) ? this.handlers.get(a) : null;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.registerHandler = function(a, b) {\n this.handlers.set(a, b);\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitNil = function(a, b) {\n return a ? this.emitString(com.cognitect.transit.delimiters.ESC, \"_\", \"\", a, b) : null;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitString = function(a, b, c, d, e) {\n a = a + b + c;\n return e ? e.write(a, d) : a;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitBoolean = function(a, b, c) {\n return b ? this.emitString(com.cognitect.transit.delimiters.ESC, \"?\", a.toString()[0], b, c) : a;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitInteger = function(a, b, c) {\n return Infinity === a ? this.emitString(com.cognitect.transit.delimiters.ESC, \"z\", \"INF\", b, c) : -Infinity === a ? this.emitString(com.cognitect.transit.delimiters.ESC, \"z\", \"-INF\", b, c) : isNaN(a) ? this.emitString(com.cognitect.transit.delimiters.ESC, \"z\", \"NaN\", b, c) : b || \"string\" === typeof a || a instanceof module$contents$goog$math$Long_Long ? this.emitString(com.cognitect.transit.delimiters.ESC, \"i\", a.toString(), b, c) : a;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitDouble = function(a, b, c) {\n return b ? this.emitString(a.ESC, \"d\", a, b, c) : a;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitBinary = function(a, b, c) {\n return this.emitString(com.cognitect.transit.delimiters.ESC, \"b\", a, b, c);\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitQuoted = function(a, b, c) {\n if (a.verbose) {\n a = {};\n var d = this.emitString(com.cognitect.transit.delimiters.ESC_TAG, \"'\", \"\", !0, c);\n a[d] = com.cognitect.transit.impl.writer.marshal(this, b, !1, c);\n return a;\n }\n return [this.emitString(com.cognitect.transit.delimiters.ESC_TAG, \"'\", \"\", !0, c), com.cognitect.transit.impl.writer.marshal(this, b, !1, c)];\n};\ncom.cognitect.transit.impl.writer.emitObjects = function(a, b, c) {\n var d = [];\n if (com.cognitect.transit.util.isArray(b)) {\n for (var e = 0; e < b.length; e++) {\n d.push(com.cognitect.transit.impl.writer.marshal(a, b[e], !1, c));\n }\n } else {\n b.forEach(function(f, g) {\n d.push(com.cognitect.transit.impl.writer.marshal(a, f, !1, c));\n });\n }\n return d;\n};\ncom.cognitect.transit.impl.writer.emitArray = function(a, b, c, d) {\n return com.cognitect.transit.impl.writer.emitObjects(a, b, d);\n};\ncom.cognitect.transit.impl.writer.isStringableKey = function(a, b) {\n return \"string\" !== typeof b ? (a = a.handler(b)) && 1 === a.tag(b).length : !0;\n};\ncom.cognitect.transit.impl.writer.stringableKeys = function(a, b) {\n var c = a.unpack(b), d = !0;\n if (c) {\n for (b = 0; b < c.length && (d = com.cognitect.transit.impl.writer.isStringableKey(a, c[b]), d); b += 2) {\n }\n return d;\n }\n if (b.keys) {\n c = b.keys();\n var e = null;\n if (c.next) {\n for (e = c.next(); !e.done;) {\n d = com.cognitect.transit.impl.writer.isStringableKey(a, e.value);\n if (!d) {\n break;\n }\n e = c.next();\n }\n return d;\n }\n }\n if (b.forEach) {\n return b.forEach(function(f, g) {\n d = d && com.cognitect.transit.impl.writer.isStringableKey(a, g);\n }), d;\n }\n throw Error(\"Cannot walk keys of object type \" + com.cognitect.transit.handlers.constructor(b).name);\n};\ncom.cognitect.transit.impl.writer.isForeignObject = function(a) {\n if (a.constructor.transit$isObject) {\n return !0;\n }\n var b = a.constructor.toString();\n b = b.substr(9);\n b = b.substr(0, b.indexOf(\"(\"));\n b = \"Object\" == b;\n \"undefined\" != typeof Object.defineProperty ? Object.defineProperty(a.constructor, \"transit$isObject\", {value:b, enumerable:!1}) : a.constructor.transit$isObject = b;\n return b;\n};\ncom.cognitect.transit.impl.writer.emitMap = function(a, b, c, d) {\n var e = null, f = null, g = null;\n e = null;\n c = 0;\n if (b.constructor === Object || null != b.forEach || a.handlerForForeign && com.cognitect.transit.impl.writer.isForeignObject(b)) {\n if (a.verbose) {\n if (null != b.forEach) {\n if (com.cognitect.transit.impl.writer.stringableKeys(a, b)) {\n var h = {};\n b.forEach(function(k, l) {\n h[com.cognitect.transit.impl.writer.marshal(a, l, !0, !1)] = com.cognitect.transit.impl.writer.marshal(a, k, !1, d);\n });\n } else {\n e = a.unpack(b);\n f = [];\n g = a.emitString(com.cognitect.transit.delimiters.ESC_TAG, \"cmap\", \"\", !0, d);\n if (e) {\n for (; c < e.length; c += 2) {\n f.push(com.cognitect.transit.impl.writer.marshal(a, e[c], !1, !1)), f.push(com.cognitect.transit.impl.writer.marshal(a, e[c + 1], !1, d));\n }\n } else {\n b.forEach(function(k, l) {\n f.push(com.cognitect.transit.impl.writer.marshal(a, l, !1, !1));\n f.push(com.cognitect.transit.impl.writer.marshal(a, k, !1, d));\n });\n }\n h = {};\n h[g] = f;\n }\n } else {\n for (e = com.cognitect.transit.util.objectKeys(b), h = {}; c < e.length; c++) {\n h[com.cognitect.transit.impl.writer.marshal(a, e[c], !0, !1)] = com.cognitect.transit.impl.writer.marshal(a, b[e[c]], !1, d);\n }\n }\n return h;\n }\n if (null != b.forEach) {\n if (com.cognitect.transit.impl.writer.stringableKeys(a, b)) {\n e = a.unpack(b);\n h = [\"^ \"];\n if (e) {\n for (; c < e.length; c += 2) {\n h.push(com.cognitect.transit.impl.writer.marshal(a, e[c], !0, d)), h.push(com.cognitect.transit.impl.writer.marshal(a, e[c + 1], !1, d));\n }\n } else {\n b.forEach(function(k, l) {\n h.push(com.cognitect.transit.impl.writer.marshal(a, l, !0, d));\n h.push(com.cognitect.transit.impl.writer.marshal(a, k, !1, d));\n });\n }\n return h;\n }\n e = a.unpack(b);\n f = [];\n g = a.emitString(com.cognitect.transit.delimiters.ESC_TAG, \"cmap\", \"\", !0, d);\n if (e) {\n for (; c < e.length; c += 2) {\n f.push(com.cognitect.transit.impl.writer.marshal(a, e[c], !1, d)), f.push(com.cognitect.transit.impl.writer.marshal(a, e[c + 1], !1, d));\n }\n } else {\n b.forEach(function(k, l) {\n f.push(com.cognitect.transit.impl.writer.marshal(a, l, !1, d));\n f.push(com.cognitect.transit.impl.writer.marshal(a, k, !1, d));\n });\n }\n return [g, f];\n }\n h = [\"^ \"];\n for (e = com.cognitect.transit.util.objectKeys(b); c < e.length; c++) {\n h.push(com.cognitect.transit.impl.writer.marshal(a, e[c], !0, d)), h.push(com.cognitect.transit.impl.writer.marshal(a, b[e[c]], !1, d));\n }\n return h;\n }\n if (null != a.objectBuilder) {\n return a.objectBuilder(b, function(k) {\n return com.cognitect.transit.impl.writer.marshal(a, k, !0, d);\n }, function(k) {\n return com.cognitect.transit.impl.writer.marshal(a, k, !1, d);\n });\n }\n c = com.cognitect.transit.handlers.constructor(b).name;\n e = Error(\"Cannot write \" + c);\n e.data = {obj:b, type:c};\n throw e;\n};\ncom.cognitect.transit.impl.writer.emitTaggedMap = function(a, b, c, d, e) {\n return a.verbose ? (d = {}, d[a.emitString(com.cognitect.transit.delimiters.ESC_TAG, b, \"\", !0, e)] = com.cognitect.transit.impl.writer.marshal(a, c, !1, e), d) : [a.emitString(com.cognitect.transit.delimiters.ESC_TAG, b, \"\", !0, e), com.cognitect.transit.impl.writer.marshal(a, c, !1, e)];\n};\ncom.cognitect.transit.impl.writer.emitEncoded = function(a, b, c, d, e, f, g) {\n if (1 === c.length) {\n if (\"string\" === typeof d) {\n return a.emitString(com.cognitect.transit.delimiters.ESC, c, d, f, g);\n }\n if (f || a.preferStrings) {\n (d = a.verbose && b.getVerboseHandler()) ? (c = d.tag(e), d = d.stringRep(e, d)) : d = b.stringRep(e, b);\n if (null !== d) {\n return a.emitString(com.cognitect.transit.delimiters.ESC, c, d, f, g);\n }\n a = Error('Tag \"' + c + '\" cannot be encoded as string');\n a.data = {tag:c, rep:d, obj:e};\n throw a;\n }\n }\n return com.cognitect.transit.impl.writer.emitTaggedMap(a, c, d, f, g);\n};\ncom.cognitect.transit.impl.writer.marshal = function(a, b, c, d) {\n null !== a.transform && (b = a.transform(b));\n var e = a.handler(b) || (a.handlerForForeign ? a.handlerForForeign(b, a.handlers) : null), f = e ? e.tag(b) : null, g = e ? e.rep(b) : null;\n if (null != e && null != f) {\n switch(f) {\n case \"_\":\n return a.emitNil(c, d);\n case \"s\":\n return a.emitString(\"\", \"\", com.cognitect.transit.impl.writer.escape(g), c, d);\n case \"?\":\n return a.emitBoolean(g, c, d);\n case \"i\":\n return a.emitInteger(g, c, d);\n case \"d\":\n return a.emitDouble(g, c, d);\n case \"b\":\n return a.emitBinary(g, c, d);\n case \"'\":\n return a.emitQuoted(a, g, d);\n case \"array\":\n return com.cognitect.transit.impl.writer.emitArray(a, g, c, d);\n case \"map\":\n return com.cognitect.transit.impl.writer.emitMap(a, g, c, d);\n default:\n return com.cognitect.transit.impl.writer.emitEncoded(a, e, f, g, b, c, d);\n }\n } else {\n throw a = com.cognitect.transit.handlers.constructor(b).name, c = Error(\"Cannot write \" + a), c.data = {obj:b, type:a}, c;\n }\n};\ncom.cognitect.transit.impl.writer.maybeQuoted = function(a, b) {\n a = a.handler(b) || (a.handlerForForeign ? a.handlerForForeign(b, a.handlers) : null);\n if (null != a) {\n return 1 === a.tag(b).length ? com.cognitect.transit.types.quoted(b) : b;\n }\n a = com.cognitect.transit.handlers.constructor(b).name;\n var c = Error(\"Cannot write \" + a);\n c.data = {obj:b, type:a};\n throw c;\n};\ncom.cognitect.transit.impl.writer.marshalTop = function(a, b, c, d) {\n return JSON.stringify(com.cognitect.transit.impl.writer.marshal(a, com.cognitect.transit.impl.writer.maybeQuoted(a, b), c, d));\n};\ncom.cognitect.transit.impl.writer.Writer = function(a, b) {\n this._marshaller = a;\n this.options = b || {};\n this.cache = !1 === this.options.cache ? null : this.options.cache ? this.options.cache : new com.cognitect.transit.caching.WriteCache;\n};\ncom.cognitect.transit.impl.writer.Writer.prototype.marshaller = function() {\n return this._marshaller;\n};\ncom.cognitect.transit.impl.writer.Writer.prototype.marshaller = com.cognitect.transit.impl.writer.Writer.prototype.marshaller;\ncom.cognitect.transit.impl.writer.Writer.prototype.write = function(a, b) {\n b = b || {};\n var c = b.asMapKey || !1, d = this._marshaller.verbose ? !1 : this.cache;\n a = !1 === b.marshalTop ? com.cognitect.transit.impl.writer.marshal(this._marshaller, a, c, d) : com.cognitect.transit.impl.writer.marshalTop(this._marshaller, a, c, d);\n null != this.cache && this.cache.clear();\n return a;\n};\ncom.cognitect.transit.impl.writer.Writer.prototype.write = com.cognitect.transit.impl.writer.Writer.prototype.write;\ncom.cognitect.transit.impl.writer.Writer.prototype.register = function(a, b) {\n this._marshaller.registerHandler(a, b);\n};\ncom.cognitect.transit.impl.writer.Writer.prototype.register = com.cognitect.transit.impl.writer.Writer.prototype.register;\nvar TRANSIT_DEV = !0, TRANSIT_NODE_TARGET = !0, TRANSIT_BROWSER_TARGET = !1, TRANSIT_BROWSER_AMD_TARGET = !1;\ncom.cognitect.transit.reader = function(a, b) {\n if (\"json\" === a || \"json-verbose\" === a || null == a) {\n return a = new com.cognitect.transit.impl.reader.JSONUnmarshaller(b), new com.cognitect.transit.impl.reader.Reader(a, b);\n }\n throw Error(\"Cannot create reader of type \" + a);\n};\ncom.cognitect.transit.writer = function(a, b) {\n if (\"json\" === a || \"json-verbose\" === a || null == a) {\n return \"json-verbose\" === a && (null == b && (b = {}), b.verbose = !0), a = new com.cognitect.transit.impl.writer.JSONMarshaller(b), new com.cognitect.transit.impl.writer.Writer(a, b);\n }\n b = Error('Type must be \"json\"');\n b.data = {type:a};\n throw b;\n};\ncom.cognitect.transit.makeWriteHandler = function(a) {\n var b = function() {\n };\n b.prototype.tag = a.tag;\n b.prototype.rep = a.rep;\n b.prototype.stringRep = a.stringRep;\n b.prototype.getVerboseHandler = a.getVerboseHandler;\n return new b;\n};\ncom.cognitect.transit.makeBuilder = function(a) {\n var b = function() {\n };\n b.prototype.init = a.init;\n b.prototype.add = a.add;\n b.prototype.finalize = a.finalize;\n b.prototype.fromArray = a.fromArray;\n return new b;\n};\ncom.cognitect.transit.date = com.cognitect.transit.types.date;\ncom.cognitect.transit.integer = com.cognitect.transit.types.intValue;\ncom.cognitect.transit.isInteger = com.cognitect.transit.types.isInteger;\ncom.cognitect.transit.uuid = com.cognitect.transit.types.uuid;\ncom.cognitect.transit.isUUID = com.cognitect.transit.types.isUUID;\ncom.cognitect.transit.bigInt = com.cognitect.transit.types.bigInteger;\ncom.cognitect.transit.isBigInt = com.cognitect.transit.types.isBigInteger;\ncom.cognitect.transit.bigDec = com.cognitect.transit.types.bigDecimalValue;\ncom.cognitect.transit.isBigDec = com.cognitect.transit.types.isBigDecimal;\ncom.cognitect.transit.keyword = com.cognitect.transit.types.keyword;\ncom.cognitect.transit.isKeyword = com.cognitect.transit.types.isKeyword;\ncom.cognitect.transit.symbol = com.cognitect.transit.types.symbol;\ncom.cognitect.transit.isSymbol = com.cognitect.transit.types.isSymbol;\ncom.cognitect.transit.binary = com.cognitect.transit.types.binary;\ncom.cognitect.transit.isBinary = com.cognitect.transit.types.isBinary;\ncom.cognitect.transit.uri = com.cognitect.transit.types.uri;\ncom.cognitect.transit.isURI = com.cognitect.transit.types.isURI;\ncom.cognitect.transit.map = com.cognitect.transit.types.map;\ncom.cognitect.transit.isMap = com.cognitect.transit.types.isMap;\ncom.cognitect.transit.set = com.cognitect.transit.types.set;\ncom.cognitect.transit.isSet = com.cognitect.transit.types.isSet;\ncom.cognitect.transit.list = com.cognitect.transit.types.list;\ncom.cognitect.transit.isList = com.cognitect.transit.types.isList;\ncom.cognitect.transit.quoted = com.cognitect.transit.types.quoted;\ncom.cognitect.transit.isQuoted = com.cognitect.transit.types.isQuoted;\ncom.cognitect.transit.tagged = com.cognitect.transit.types.taggedValue;\ncom.cognitect.transit.isTaggedValue = com.cognitect.transit.types.isTaggedValue;\ncom.cognitect.transit.link = com.cognitect.transit.types.link;\ncom.cognitect.transit.isLink = com.cognitect.transit.types.isLink;\ncom.cognitect.transit.hash = com.cognitect.transit.eq.hashCode;\ncom.cognitect.transit.hashMapLike = com.cognitect.transit.eq.hashMapLike;\ncom.cognitect.transit.hashArrayLike = com.cognitect.transit.eq.hashArrayLike;\ncom.cognitect.transit.equals = com.cognitect.transit.eq.equals;\ncom.cognitect.transit.extendToEQ = com.cognitect.transit.eq.extendToEQ;\ncom.cognitect.transit.mapToObject = function(a) {\n var b = {};\n a.forEach(function(c, d) {\n if (\"string\" !== typeof d) {\n throw Error(\"Cannot convert map with non-string keys\");\n }\n b[d] = c;\n });\n return b;\n};\ncom.cognitect.transit.objectToMap = function(a) {\n var b = com.cognitect.transit.map(), c;\n for (c in a) {\n a.hasOwnProperty(c) && b.set(c, a[c]);\n }\n return b;\n};\ncom.cognitect.transit.decoder = com.cognitect.transit.impl.decoder.decoder;\ncom.cognitect.transit.readCache = com.cognitect.transit.caching.readCache;\ncom.cognitect.transit.writeCache = com.cognitect.transit.caching.writeCache;\ncom.cognitect.transit.UUIDfromString = com.cognitect.transit.types.UUIDfromString;\ncom.cognitect.transit.randomUUID = com.cognitect.transit.util.randomUUID;\ncom.cognitect.transit.stringableKeys = com.cognitect.transit.impl.writer.stringableKeys;\nTRANSIT_BROWSER_TARGET && (goog.exportSymbol(\"transit.reader\", com.cognitect.transit.reader), goog.exportSymbol(\"transit.writer\", com.cognitect.transit.writer), goog.exportSymbol(\"transit.makeBuilder\", com.cognitect.transit.makeBuilder), goog.exportSymbol(\"transit.makeWriteHandler\", com.cognitect.transit.makeWriteHandler), goog.exportSymbol(\"transit.date\", com.cognitect.transit.types.date), goog.exportSymbol(\"transit.integer\", com.cognitect.transit.types.intValue), goog.exportSymbol(\"transit.isInteger\", \ncom.cognitect.transit.types.isInteger), goog.exportSymbol(\"transit.uuid\", com.cognitect.transit.types.uuid), goog.exportSymbol(\"transit.isUUID\", com.cognitect.transit.types.isUUID), goog.exportSymbol(\"transit.bigInt\", com.cognitect.transit.types.bigInteger), goog.exportSymbol(\"transit.isBigInt\", com.cognitect.transit.types.isBigInteger), goog.exportSymbol(\"transit.bigDec\", com.cognitect.transit.types.bigDecimalValue), goog.exportSymbol(\"transit.isBigDec\", com.cognitect.transit.types.isBigDecimal), \ngoog.exportSymbol(\"transit.keyword\", com.cognitect.transit.types.keyword), goog.exportSymbol(\"transit.isKeyword\", com.cognitect.transit.types.isKeyword), goog.exportSymbol(\"transit.symbol\", com.cognitect.transit.types.symbol), goog.exportSymbol(\"transit.isSymbol\", com.cognitect.transit.types.isSymbol), goog.exportSymbol(\"transit.binary\", com.cognitect.transit.types.binary), goog.exportSymbol(\"transit.isBinary\", com.cognitect.transit.types.isBinary), goog.exportSymbol(\"transit.uri\", com.cognitect.transit.types.uri), \ngoog.exportSymbol(\"transit.isURI\", com.cognitect.transit.types.isURI), goog.exportSymbol(\"transit.map\", com.cognitect.transit.types.map), goog.exportSymbol(\"transit.isMap\", com.cognitect.transit.types.isMap), goog.exportSymbol(\"transit.set\", com.cognitect.transit.types.set), goog.exportSymbol(\"transit.isSet\", com.cognitect.transit.types.isSet), goog.exportSymbol(\"transit.list\", com.cognitect.transit.types.list), goog.exportSymbol(\"transit.isList\", com.cognitect.transit.types.isList), goog.exportSymbol(\"transit.quoted\", \ncom.cognitect.transit.types.quoted), goog.exportSymbol(\"transit.isQuoted\", com.cognitect.transit.types.isQuoted), goog.exportSymbol(\"transit.tagged\", com.cognitect.transit.types.taggedValue), goog.exportSymbol(\"transit.isTaggedValue\", com.cognitect.transit.types.isTaggedValue), goog.exportSymbol(\"transit.link\", com.cognitect.transit.types.link), goog.exportSymbol(\"transit.isLink\", com.cognitect.transit.types.isLink), goog.exportSymbol(\"transit.hash\", com.cognitect.transit.eq.hashCode), goog.exportSymbol(\"transit.hashMapLike\", \ncom.cognitect.transit.eq.hashMapLike), goog.exportSymbol(\"transit.hashArrayLike\", com.cognitect.transit.eq.hashArrayLike), goog.exportSymbol(\"transit.equals\", com.cognitect.transit.eq.equals), goog.exportSymbol(\"transit.extendToEQ\", com.cognitect.transit.eq.extendToEQ), goog.exportSymbol(\"transit.mapToObject\", com.cognitect.transit.mapToObject), goog.exportSymbol(\"transit.objectToMap\", com.cognitect.transit.objectToMap), goog.exportSymbol(\"transit.decoder\", com.cognitect.transit.impl.decoder.decoder), \ngoog.exportSymbol(\"transit.UUIDfromString\", com.cognitect.transit.types.UUIDfromString), goog.exportSymbol(\"transit.randomUUID\", com.cognitect.transit.util.randomUUID), goog.exportSymbol(\"transit.stringableKeys\", com.cognitect.transit.impl.writer.stringableKeys), goog.exportSymbol(\"transit.readCache\", com.cognitect.transit.caching.readCache), goog.exportSymbol(\"transit.writeCache\", com.cognitect.transit.caching.writeCache));\nTRANSIT_NODE_TARGET && (module.exports = {reader:com.cognitect.transit.reader, writer:com.cognitect.transit.writer, makeBuilder:com.cognitect.transit.makeBuilder, makeWriteHandler:com.cognitect.transit.makeWriteHandler, date:com.cognitect.transit.types.date, integer:com.cognitect.transit.types.intValue, isInteger:com.cognitect.transit.types.isInteger, uuid:com.cognitect.transit.types.uuid, isUUID:com.cognitect.transit.types.isUUID, bigInt:com.cognitect.transit.types.bigInteger, isBigInt:com.cognitect.transit.types.isBigInteger, \nbigDec:com.cognitect.transit.types.bigDecimalValue, isBigDec:com.cognitect.transit.types.isBigDecimal, keyword:com.cognitect.transit.types.keyword, isKeyword:com.cognitect.transit.types.isKeyword, symbol:com.cognitect.transit.types.symbol, isSymbol:com.cognitect.transit.types.isSymbol, binary:com.cognitect.transit.types.binary, isBinary:com.cognitect.transit.types.isBinary, uri:com.cognitect.transit.types.uri, isURI:com.cognitect.transit.types.isURI, map:com.cognitect.transit.types.map, isMap:com.cognitect.transit.types.isMap, \nset:com.cognitect.transit.types.set, isSet:com.cognitect.transit.types.isSet, list:com.cognitect.transit.types.list, isList:com.cognitect.transit.types.isList, quoted:com.cognitect.transit.types.quoted, isQuoted:com.cognitect.transit.types.isQuoted, tagged:com.cognitect.transit.types.taggedValue, isTaggedValue:com.cognitect.transit.types.isTaggedValue, link:com.cognitect.transit.types.link, isLink:com.cognitect.transit.types.isLink, hash:com.cognitect.transit.eq.hashCode, hashArrayLike:com.cognitect.transit.eq.hashArrayLike, \nhashMapLike:com.cognitect.transit.eq.hashMapLike, equals:com.cognitect.transit.eq.equals, extendToEQ:com.cognitect.transit.eq.extendToEQ, mapToObject:com.cognitect.transit.mapToObject, objectToMap:com.cognitect.transit.objectToMap, decoder:com.cognitect.transit.impl.decoder.decoder, UUIDfromString:com.cognitect.transit.types.UUIDfromString, randomUUID:com.cognitect.transit.util.randomUUID, stringableKeys:com.cognitect.transit.impl.writer.stringableKeys, readCache:com.cognitect.transit.caching.readCache, \nwriteCache:com.cognitect.transit.caching.writeCache});\n\n","/**\n * Generates a unique key for storing tokens.\n *\n * @param clientId - The unique identifier for the client.\n * @param namespace - The namespace to organize and scope the key.\n * @returns A string combining the namespace, client ID, and a token suffix.\n */\nexport const generateKey = (clientId: string, namespace: string): string => {\n return `${namespace}-${clientId}-token`;\n};\n","/**\n * @fileoverview Client for querying public listings in the Sharetribe Marketplace API.\n *\n * Use this to search and fetch listing details in your frontend.\n * Only returns publicly visible data — no privileged operations.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#listings\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ListingsQueryParameter, ListingsResponse, ListingsShowParameter,} from \"../../types\";\n\n/**\n * Public Listings API client\n */\nclass Listings {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/listings`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single listing by ID\n *\n * @template P\n * @param {P & ListingsShowParameter} params\n * @returns {Promise<AxiosResponse<ListingsResponse<\"show\", P>>>}\n *\n * @example\n * const { data } = await sdk.listings.show({ id: \"listing-abc123\" });\n */\n async show<P extends ListingsShowParameter>(\n params: P\n ): Promise<AxiosResponse<ListingsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Search and filter public listings\n *\n * @template P\n * @param {P & ListingsQueryParameter} params\n * @returns {Promise<AxiosResponse<ListingsResponse<\"query\", P>>>}\n *\n * @example\n * // Basic keyword search\n * await sdk.listings.query({ keywords: \"yoga class\" });\n *\n * @example\n * // Geo + price filter\n * await sdk.listings.query({\n * origin: \"60.1699,24.9384\",\n * bounds: \"60.2,25.0,60.1,24.8\",\n * price: [0, 100]\n * });\n */\n async query<P extends ListingsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<ListingsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default Listings;","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","/**\n * @fileoverview Client for creating Stripe Persons in the Sharetribe Marketplace API.\n *\n * A \"Person\" represents an individual associated with a Stripe Connect account\n * (e.g. owner, director, representative). Required for compliance in many countries.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stripe-persons\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, StripePersonsCreateParameter, StripePersonsResponse,} from \"../../types\";\n\n/**\n * Stripe Persons API client (current user)\n */\nclass StripePersons {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stripe_persons`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Create a new Person for the current user's Stripe Connect account\n *\n * @template P\n * @template EP\n * @param {P & StripePersonsCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripePersonsResponse<\"create\">>>}\n *\n * @example\n * await sdk.stripePersons.create({\n * personToken: \"person_tok_1AbC2DeFGhiJkLMnOPqRsTuV\"\n * });\n */\n async create<\n P extends StripePersonsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripePersonsResponse<\"create\">>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StripePersons;","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","/**\n * @fileoverview Client for managing the current authenticated user in the Sharetribe Marketplace API.\n *\n * This API allows users to view their profile, update personal info, change password/email,\n * verify email, and manage account lifecycle (signup, delete).\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#current-user\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n CurrentUserChangeEmailParameter,\n CurrentUserChangePasswordParameter,\n CurrentUserCreateParameter,\n CurrentUserCreateWithIdpParameter,\n CurrentUserDeleteParameter,\n CurrentUserResponse,\n CurrentUserSendVerificationEmailParameter,\n CurrentUserShowParameter,\n CurrentUserUpdateProfileParameter,\n CurrentUserVerifyEmailParameter,\n ExtraParameter,\n} from \"../../types\";\n\n/**\n * Current User API client\n */\nclass CurrentUser {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/current_user`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch current user profile\n *\n * @template P\n * @param {P & CurrentUserShowParameter} params\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"show\", P>>>}\n */\n async show<P extends CurrentUserShowParameter>(\n params: P = {} as P\n ): Promise<AxiosResponse<CurrentUserResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a new user account (signup)\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"create\", P, EP>>>}\n */\n async create<\n P extends CurrentUserCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Create account via external identity provider (Google, Facebook, etc.)\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserCreateWithIdpParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"create_with_idp\", P, EP>>>}\n */\n async createWithIdp<\n P extends CurrentUserCreateWithIdpParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"create_with_idp\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create_with_idp`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update current user profile\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserUpdateProfileParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"update_profile\", P, EP>>>}\n */\n async updateProfile<\n P extends CurrentUserUpdateProfileParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"update_profile\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update_profile`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Change password\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserChangePasswordParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"change_password\", P, EP>>>}\n */\n async changePassword<\n P extends CurrentUserChangePasswordParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"change_password\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/change_password`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Change email address\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserChangeEmailParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"change_email\", P, EP>>>}\n */\n async changeEmail<\n P extends CurrentUserChangeEmailParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"change_email\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/change_email`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Verify email using token from email link\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserVerifyEmailParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"verify_email\", P, EP>>>}\n */\n async verifyEmail<\n P extends CurrentUserVerifyEmailParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"verify_email\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/verify_email`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Resend email verification\n *\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"send_verification_email\">>>}\n */\n async sendVerificationEmail<P extends CurrentUserSendVerificationEmailParameter>(): Promise<\n AxiosResponse<CurrentUserResponse<\"send_verification_email\", P>>\n > {\n return this.axios.post(`${this.endpoint}/send_verification_email`, null, {\n headers: this.headers,\n });\n }\n\n /**\n * Delete current user account\n *\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"delete\">>>}\n */\n async delete<P extends CurrentUserDeleteParameter>(): Promise<AxiosResponse<CurrentUserResponse<\"delete\", P>>> {\n return this.axios.post(`${this.endpoint}/delete`, null, {\n headers: this.headers,\n });\n }\n\n /**\n * @deprecated Use `sdk.stripeAccount.create()` instead\n */\n createStripeAccount(): never {\n throw new Error(\n \"DEPRECATED: Use sdk.stripeAccount.create() instead\"\n );\n }\n\n /**\n * @deprecated Use `sdk.stripeAccount.update()` instead\n */\n updateStripeAccount(): never {\n throw new Error(\n \"DEPRECATED: Use sdk.stripeAccount.update() instead\"\n );\n }\n}\n\nexport default CurrentUser;","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","/**\n * @fileoverview Client for fetching marketplace configuration in the Sharetribe Marketplace API.\n *\n * Use this to get metadata about your marketplace — name, description, currency, logo,\n * supported countries, payout settings, and more.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#marketplace\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {MarketplaceResponse} from \"../../types\";\n\n/**\n * Public Marketplace API client\n */\nclass Marketplace {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/marketplace`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch current marketplace configuration\n *\n * @returns {Promise<AxiosResponse<MarketplaceResponse<\"show\">>>}\n *\n * @example\n * const { data } = await sdk.marketplace.show();\n * console.log(data.attributes.name); // → \"My Awesome Marketplace\"\n * console.log(data.attributes.currency); // → \"USD\"\n * console.log(data.attributes.country); // → \"FI\"\n */\n async show(): Promise<AxiosResponse<MarketplaceResponse<\"show\">>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n });\n }\n}\n\nexport default Marketplace;","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","/**\n * @fileoverview Client for querying bookings in the Sharetribe Marketplace API.\n *\n * Use this to fetch your own bookings or bookings for listings you own.\n * Only returns data the current user is authorized to see.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#bookings\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {BookingsQueryParameter, BookingsResponse,} from \"../../types\";\n\n/**\n * Bookings API client (own bookings only)\n */\nclass Bookings {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/bookings`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query your own bookings\n *\n * @template P\n * @param {P & BookingsQueryParameter} params\n * @returns {Promise<AxiosResponse<BookingsResponse<\"query\", P>>>}\n *\n * @example\n * // Fetch all bookings for one of your listings\n * const { data } = await sdk.bookings.query({\n * listingId: \"listing-abc123\",\n * start: \"2025-01-01\",\n * end: \"2025-01-31\"\n * });\n *\n * @example\n * // Fetch upcoming bookings\n * await sdk.bookings.query({\n * start: new Date().toISOString(),\n * state: \"accepted\"\n * });\n */\n async query<P extends BookingsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<BookingsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default Bookings;","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","/**\n * @fileoverview Client for managing availability exceptions in the Sharetribe Integration API.\n *\n * Availability exceptions override default availability rules for specific time ranges\n * (e.g. blocking off dates for maintenance or special events).\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#availability-exceptions\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {\n AvailabilityExceptionsCreateParameter,\n AvailabilityExceptionsDeleteParameter,\n AvailabilityExceptionsQueryParameter,\n AvailabilityExceptionsResponse,\n ExtraParameter,\n} from \"../../types\";\n\n/**\n * Availability exceptions API client\n */\nclass AvailabilityExceptions {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/availability_exceptions`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query availability exceptions\n *\n * @template P\n * @param {P & AvailabilityExceptionsQueryParameter} params\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"query\", P>>>}\n *\n * @example\n * const { data } = await sdk.availabilityExceptions.query({\n * listingId: \"123-abc\",\n * start: \"2025-01-01\",\n * end: \"2025-01-31\"\n * });\n */\n async query<P extends AvailabilityExceptionsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a new availability exception\n *\n * @template P\n * @template EP\n * @param {P & AvailabilityExceptionsCreateParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. expand)\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"create\", P, EP>>>}\n *\n * @example\n * await sdk.availabilityExceptions.create({\n * listingId: \"123-abc\",\n * start: \"2025-12-24\",\n * end: \"2025-12-26\",\n * seats: 0\n * });\n */\n async create<\n P extends AvailabilityExceptionsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Delete an availability exception\n *\n * @template P\n * @param {P & AvailabilityExceptionsDeleteParameter} params\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"delete\", P>>>}\n *\n * @example\n * await sdk.availabilityExceptions.delete({ id: \"exc-456-def\" });\n */\n async delete<P extends AvailabilityExceptionsDeleteParameter>(\n params: P\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"delete\", P>>> {\n return this.axios.post(`${this.endpoint}/delete`, params, {\n headers: this.headers,\n });\n }\n}\n\nexport default AvailabilityExceptions;","/**\n * @fileoverview Client for the Sharetribe Marketplace API.\n *\n * This is the main entry point for client-side applications.\n * Provides access to all public and authenticated endpoints:\n * - Listings, bookings, messages, reviews\n * - Current user management (signup, profile, password)\n * - Image uploads, Stripe payments\n * - Availability & stock queries\n *\n * Use `sdk.marketplace` for all frontend or authenticated user flows.\n *\n * @example\n * const sdk = new SharetribeSdk({ clientId: \"abc123\" });\n *\n * // Fetch current user\n * const { data: user } = await sdk.marketplace.currentUser.show();\n *\n * // Query public listings\n * const { data: listings } = await sdk.marketplace.listings.query({ perPage: 20 });\n */\n\nimport type {AxiosInstance} from \"axios\";\nimport SharetribeSdk from \"../../sdk\";\n\nimport AvailabilityExceptions from \"./AvailabilityExceptions\";\nimport Bookings from \"./Bookings\";\nimport CurrentUser from \"./CurrentUser\";\nimport Images from \"./Images\";\nimport Listings from \"./Listings\";\nimport Marketplace from \"./Marketplace\";\nimport Messages from \"./Messages\";\nimport OwnListings from \"./OwnListings\";\nimport PasswordReset from \"./PasswordReset\";\nimport ProcessTransitions from \"./ProcessTransitions\";\nimport Reviews from \"./Reviews\";\nimport Stock from \"./Stock\";\nimport StockAdjustments from \"./StockAdjustments\";\nimport StripeAccount from \"./StripeAccount\";\nimport StripeAccountLinks from \"./StripeAccountLinks\";\nimport StripeCustomer from \"./StripeCustomer\";\nimport StripePersons from \"./StripePersons\";\nimport StripeSetupIntents from \"./StripeSetupIntents\";\nimport TimeSlots from \"./TimeSlots\";\nimport Transactions from \"./Transactions\";\nimport Users from \"./Users\";\n\n/**\n * Marketplace API client\n */\nclass MarketplaceApi {\n /** Axios instance with auth & base config */\n readonly axios: AxiosInstance;\n\n /** Base URL for all Marketplace API endpoints */\n readonly endpoint: string;\n\n /** Default headers (includes Authorization when logged in) */\n readonly headers: Record<string, string>;\n\n /** Most endpoints require authentication */\n readonly authRequired = true;\n\n // Public & authenticated sub-clients\n readonly availabilityExceptions: AvailabilityExceptions;\n readonly bookings: Bookings;\n readonly currentUser: CurrentUser;\n readonly images: Images;\n readonly listings: Listings;\n readonly marketplace: Marketplace;\n readonly messages: Messages;\n readonly ownListings: OwnListings;\n readonly passwordReset: PasswordReset;\n readonly processTransitions: ProcessTransitions;\n readonly reviews: Reviews;\n readonly stock: Stock;\n readonly stockAdjustments: StockAdjustments;\n readonly stripeAccount: StripeAccount;\n readonly stripeAccountLinks: StripeAccountLinks;\n readonly stripeCustomer: StripeCustomer;\n readonly stripePersons: StripePersons;\n readonly stripeSetupIntents: StripeSetupIntents;\n readonly timeslots: TimeSlots;\n readonly transactions: Transactions;\n readonly users: Users;\n\n constructor(sdk: SharetribeSdk) {\n const config = sdk.apisConfigs.api(sdk.sdkConfig);\n\n this.axios = sdk.axios;\n this.endpoint = config.baseUrl;\n this.headers = config.headers;\n\n // Initialize all sub-APIs\n this.availabilityExceptions = new AvailabilityExceptions(this);\n this.bookings = new Bookings(this);\n this.currentUser = new CurrentUser(this);\n this.images = new Images(this);\n this.listings = new Listings(this);\n this.marketplace = new Marketplace(this);\n this.messages = new Messages(this);\n this.ownListings = new OwnListings(this);\n this.passwordReset = new PasswordReset(this);\n this.processTransitions = new ProcessTransitions(this);\n this.reviews = new Reviews(this);\n this.stock = new Stock(this);\n this.stockAdjustments = new StockAdjustments(this);\n this.stripeAccount = new StripeAccount(this);\n this.stripeAccountLinks = new StripeAccountLinks(this);\n this.stripeCustomer = new StripeCustomer(this);\n this.stripePersons = new StripePersons(this);\n this.stripeSetupIntents = new StripeSetupIntents(this);\n this.timeslots = new TimeSlots(this);\n this.transactions = new Transactions(this);\n this.users = new Users(this);\n }\n}\n\nexport default MarketplaceApi;","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","/**\n * @fileoverview Client for managing availability exceptions in the Sharetribe Marketplace API.\n *\n * Availability exceptions allow users to block or open specific time ranges on their listings,\n * overriding the default availability plan (e.g. closing for holidays, maintenance, or personal use).\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#availability-exceptions\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n AvailabilityExceptionsCreateParameter,\n AvailabilityExceptionsDeleteParameter,\n AvailabilityExceptionsQueryParameter,\n AvailabilityExceptionsResponse,\n ExtraParameter,\n} from \"../../types\";\n\n/**\n * Availability Exceptions API client (own listings only)\n */\nclass AvailabilityExceptions {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/availability_exceptions`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query your own availability exceptions\n *\n * @template P\n * @param {P & AvailabilityExceptionsQueryParameter} params\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"query\", P>>>}\n *\n * @example\n * const { data } = await sdk.availabilityExceptions.query({\n * listingId: \"listing-abc123\",\n * start: \"2025-12-01\",\n * end: \"2025-12-31\"\n * });\n */\n async query<P extends AvailabilityExceptionsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a new availability exception (e.g. block dates)\n *\n * @template P\n * @template EP\n * @param {P & AvailabilityExceptionsCreateParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"create\", P, EP>>>}\n *\n * @example\n * // Block Christmas day\n * await sdk.availabilityExceptions.create({\n * listingId: \"listing-abc123\",\n * start: \"2025-12-25T00:00:00Z\",\n * end: \"2025-12-26T00:00:00Z\",\n * seats: 0\n * });\n */\n async create<\n P extends AvailabilityExceptionsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Delete an availability exception\n *\n * @template P\n * @template EP\n * @param {P & AvailabilityExceptionsDeleteParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"delete\", P, EP>>>}\n *\n * @example\n * await sdk.availabilityExceptions.delete({ id: \"exc-456def\" });\n */\n async delete<\n P extends AvailabilityExceptionsDeleteParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"delete\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/delete`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default AvailabilityExceptions;","/**\n * @fileoverview Client for managing stock levels in the Sharetribe Integration API.\n *\n * The Stock API provides atomic `compareAndSet` operations to safely update listing stock\n * in concurrent environments (e.g. during checkout or inventory sync).\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#stock\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {ExtraParameter, StockCompareAndSetParameter, StockResponse,} from \"../../types\";\n\n/**\n * Stock API client (privileged)\n */\nclass Stock {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/stock`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Atomically update stock using compare-and-set\n *\n * Fails if current stock doesn't match `oldTotal` — prevents race conditions.\n *\n * @template P\n * @template EP\n * @param {P & StockCompareAndSetParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<StockResponse<\"compareAndSet\", EP>>>}\n *\n * @example\n * // Reserve 2 units if current stock is 10\n * await sdk.stock.compareAndSet({\n * listingId: \"listing-abc123\",\n * oldTotal: 10,\n * newTotal: 8\n * });\n */\n async compareAndSet<\n P extends StockCompareAndSetParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StockResponse<\"compareAndSet\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/compare_and_set`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Stock;","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import {Request, Response} from \"express\";\nimport {generateKey} from \"./store\";\nimport {AuthToken, TokenStore} from \"../../types\";\n\n/**\n * Configuration options for the `ExpressStore`.\n */\nexport type ExpressStoreOptions = {\n clientId: string; // Unique identifier for the client\n req: Request; // Express request object\n res: Response; // Express response object\n secure?: boolean; // Whether to use secure cookies (HTTPS only)\n};\n\n/**\n * `ExpressStore` is an implementation of the `TokenStore` interface for managing authentication tokens via cookies in an Express application.\n */\nclass ExpressStore implements TokenStore {\n expiration: number = 180; // Default cookie expiration in days\n private namespace: string = \"st\"; // Namespace for cookie keys\n private key: string; // Generated key for the cookie\n private secure: boolean | undefined; // Indicates if cookies should be marked as secure\n private req: Request; // Reference to the Express request object\n private res: Response; // Reference to the Express response object\n private currentToken: AuthToken | null = null; // Cached token\n\n /**\n * Initializes the `ExpressStore` with client-specific options.\n * @param options - Configuration options for the store.\n */\n constructor({clientId, req, res, secure}: ExpressStoreOptions) {\n this.key = generateKey(clientId, this.namespace);\n this.secure = secure;\n\n if (!req || !res) {\n throw new Error(\"Request and Response are required\");\n }\n\n this.req = req;\n this.res = res;\n }\n\n /**\n * Retrieves the authentication token, either from cache or from the request cookies.\n * @returns A promise that resolves to the `AuthToken` or null if no token exists.\n */\n getToken(): AuthToken | null {\n this.currentToken = this.currentToken || this.readCookie();\n return this.currentToken;\n }\n\n /**\n * Stores the authentication token in a response cookie.\n * @param token - The authentication token to store.\n */\n setToken(token: AuthToken): void {\n this.currentToken = token;\n const secureFlag = this.secure ? {secure: true} : {};\n this.res.cookie(this.key, JSON.stringify(token), {\n maxAge: 1000 * 60 * 60 * 24 * this.expiration, // Convert expiration to milliseconds\n ...secureFlag,\n });\n }\n\n /**\n * Removes the authentication token from the response cookies.\n */\n removeToken(): void {\n this.currentToken = null;\n this.res.clearCookie(this.key);\n }\n\n /**\n * Reads the authentication token from the request cookies.\n * @returns The `AuthToken` if present in cookies, otherwise null.\n */\n private readCookie(): AuthToken | null {\n const cookie = this.req.cookies[this.key];\n return cookie ? (JSON.parse(cookie) as AuthToken) : null;\n }\n}\n\nexport default ExpressStore;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n * \n * @type {Object<string, Function|Object>}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n * \n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n * \n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n * \n * @param {Array<string|Function>|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object<string, Function|Object>}\n */\n adapters: knownAdapters\n};\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","/**\n * @fileoverview Client for managing users in the Sharetribe Integration API.\n *\n * This privileged API allows querying users, updating profiles, approving accounts,\n * and managing permissions — typically used by admin tools or backend services.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#users\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {\n ExtraParameter,\n UsersApproveParameter,\n UsersQueryParameter,\n UsersResponse,\n UsersShowParameter,\n UsersUpdatePermissionsParameter,\n UsersUpdateProfileParameter,\n} from \"../../types\";\n\n/**\n * Users API client (privileged)\n */\nclass Users {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/users`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single user by ID or email\n *\n * @template P\n * @param {P & UsersShowParameter<true>} params - Either `id` or `email` is required\n * @returns {Promise<AxiosResponse<UsersResponse<\"show\", P>>>}\n *\n * @example\n * const { data } = await sdk.users.show({ id: \"user-abc123\" });\n * const { data: userByEmail } = await sdk.users.show({ email: \"john@example.com\" });\n */\n async show<P extends UsersShowParameter<true>>(\n params: P\n ): Promise<AxiosResponse<UsersResponse<\"show\", P>>> {\n if (!params.id && !params.email) {\n throw new Error(\"Either 'id' or 'email' must be provided\");\n }\n\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Query users with privileged filters\n *\n * @template P\n * @param {P & UsersQueryParameter} params\n * @returns {Promise<AxiosResponse<UsersResponse<\"query\", P>>>}\n */\n async query<P extends UsersQueryParameter>(\n params: P\n ): Promise<AxiosResponse<UsersResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Update a user's profile\n *\n * @template P\n * @template EP\n * @param {P & UsersUpdateProfileParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<UsersResponse<\"updateProfile\", P, EP>>>}\n */\n async updateProfile<\n P extends UsersUpdateProfileParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<UsersResponse<\"updateProfile\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update_profile`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Approve a pending user account\n *\n * @template P\n * @template EP\n * @param {P & UsersApproveParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<UsersResponse<\"approve\", P, EP>>>}\n */\n async approve<\n P extends UsersApproveParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<UsersResponse<\"approve\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/approve`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update a user's permissions\n *\n * @template P\n * @template EP\n * @param {P & UsersUpdatePermissionsParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<UsersResponse<\"updatePermissions\", P, EP>>>}\n */\n async updatePermissions<\n P extends UsersUpdatePermissionsParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<UsersResponse<\"updatePermissions\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update_permissions`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Users;","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","/**\n * @fileoverview Client for fetching public user profiles in the Sharetribe Marketplace API.\n *\n * Use this to retrieve publicly visible information about any user (e.g. name, bio, profile image).\n * Only returns data the current user is allowed to see.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#show-user\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {UsersResponse, UsersShowParameter,} from \"../../types\";\n\n/**\n * Public Users API client\n */\nclass Users {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/users`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a public user profile by ID\n *\n * @template P\n * @param {P & UsersShowParameter} params\n * @returns {Promise<AxiosResponse<UsersResponse<\"show\", P>>>}\n *\n * @example\n * const { data } = await sdk.users.show({ id: \"user-abc123\" });\n * console.log(data.attributes.profile.displayName);\n * console.log(data.attributes.profile.bio);\n */\n async show<P extends UsersShowParameter>(\n params: P\n ): Promise<AxiosResponse<UsersResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default Users;","/**\n * @fileoverview Client for managing stock adjustments in the Sharetribe Integration API.\n *\n * Stock adjustments are manual changes to listing stock (e.g. restocking, corrections, damage write-offs).\n * They appear in the stock history and are separate from automatic reservation-based changes.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#stock-adjustments\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {\n ExtraParameter,\n StockAdjustmentsCreateParameter,\n StockAdjustmentsQueryParameter,\n StockAdjustmentsResponse,\n} from \"../../types\";\n\n/**\n * Stock Adjustments API client (privileged)\n */\nclass StockAdjustments {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/stock_adjustments`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query stock adjustment history\n *\n * @template P\n * @param {P & StockAdjustmentsQueryParameter} params\n * @returns {Promise<AxiosResponse<StockAdjustmentsResponse<\"query\", P>>>}\n *\n * @example\n * const { data } = await sdk.stockAdjustments.query({\n * listingId: \"listing-abc123\",\n * start: \"2025-01-01\",\n * end: \"2025-01-31\"\n * });\n */\n async query<P extends StockAdjustmentsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<StockAdjustmentsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a manual stock adjustment\n *\n * Positive `quantity` = add stock\n * Negative `quantity` = remove stock\n *\n * @template P\n * @template EP\n * @param {P & StockAdjustmentsCreateParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<StockAdjustmentsResponse<\"create\", P, EP>>>}\n *\n * @example\n * // Restock 50 units\n * await sdk.stockAdjustments.create({\n * listingId: \"listing-abc123\",\n * quantity: 50\n * });\n *\n * @example\n * // Write off 3 damaged units\n * await sdk.stockAdjustments.create({\n * listingId: \"listing-abc123\",\n * quantity: -3\n * });\n */\n async create<\n P extends StockAdjustmentsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StockAdjustmentsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StockAdjustments;","/**\n * @fileoverview Client for managing transactions in the Sharetribe Integration API.\n *\n * This privileged API allows querying, transitioning, and updating metadata for transactions.\n * Use it for admin tools, backend services, or automated workflows.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#transactions\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {\n ExtraParameter,\n TransactionsQueryParameter,\n TransactionsResponse,\n TransactionsShowParameter,\n TransactionsTransitionParameter,\n TransactionsTransitionSpeculativeParameter,\n TransactionsUpdateMetadataParameter,\n} from \"../../types\";\n\n/**\n * Transactions API client (privileged)\n */\nclass Transactions {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/transactions`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single transaction by ID\n *\n * @template P\n * @param {P & TransactionsShowParameter} params\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"show\", P>>>}\n */\n async show<P extends TransactionsShowParameter>(\n params: P\n ): Promise<AxiosResponse<TransactionsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Query transactions with privileged filters\n *\n * @template P\n * @param {P & TransactionsQueryParameter<true>} params - Note: `true` enables privileged fields like `customerId`, `providerId`\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"query\", P>>>}\n */\n async query<P extends TransactionsQueryParameter<true>>(\n params: P\n ): Promise<AxiosResponse<TransactionsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Transition a transaction to a new state\n *\n * @template P\n * @template EP\n * @param {P & TransactionsTransitionParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"transition\", P, EP>>>}\n *\n * @example\n * await sdk.transactions.transition({\n * id: \"tx-abc123\",\n * transition: \"transition/confirm-payment\"\n * });\n */\n async transition<\n P extends TransactionsTransitionParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"transition\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/transition`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Perform a speculative transition (dry-run)\n *\n * Does not persist changes — useful for validation before real transition.\n *\n * @template P\n * @template EP\n * @param {P & TransactionsTransitionSpeculativeParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"transitionSpeculative\", P, EP>>>}\n */\n async transitionSpeculative<\n P extends TransactionsTransitionSpeculativeParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"transitionSpeculative\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/transition_speculative`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update transaction metadata\n *\n * @template P\n * @template EP\n * @param {P & TransactionsUpdateMetadataParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"updateMetadata\", P, EP>>>}\n */\n async updateMetadata<\n P extends TransactionsUpdateMetadataParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"updateMetadata\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update_metadata`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Transactions;","/**\n * @fileoverview Client for managing your own listings in the Sharetribe Marketplace API.\n *\n * Use this to create, edit, publish, close, and manage images for listings you own.\n * All operations require authentication.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#own-listings\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n OwnListingsAddImageParameter,\n OwnListingsCloseParameter,\n OwnListingsCreateDraftParameter,\n OwnListingsCreateParameter,\n OwnListingsDiscardDraftParameter,\n OwnListingsOpenParameter,\n OwnListingsPublishDraftParameter,\n OwnListingsQueryParameter,\n OwnListingsResponse,\n OwnListingsShowParameter,\n OwnListingsUpdateParameter,\n} from \"../../types\";\n\n/**\n * Own Listings API client (authenticated user)\n */\nclass OwnListings {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/own_listings`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch one of your listings by ID\n *\n * @template P\n * @param {P & OwnListingsShowParameter} params\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"show\", P>>>}\n */\n async show<P extends OwnListingsShowParameter>(\n params: P\n ): Promise<AxiosResponse<OwnListingsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * List all your listings (drafts, published, closed)\n *\n * @template P\n * @param {P & OwnListingsQueryParameter} params\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"query\", P>>>}\n */\n async query<P extends OwnListingsQueryParameter>(\n params?: P\n ): Promise<AxiosResponse<OwnListingsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a published listing\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"create\", P, EP>>>}\n */\n async create<\n P extends OwnListingsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Create a draft listing (for step-by-step creation)\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsCreateDraftParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"createDraft\", P, EP>>>}\n */\n async createDraft<\n P extends OwnListingsCreateDraftParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"createDraft\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create_draft`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update a listing (draft or published)\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsUpdateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"update\", P, EP>>>}\n */\n async update<\n P extends OwnListingsUpdateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"update\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Publish a draft listing\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsPublishDraftParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"publishDraft\", P, EP>>>}\n */\n async publishDraft<\n P extends OwnListingsPublishDraftParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"publishDraft\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/publish_draft`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Discard a draft listing\n *\n * @template P\n * @param {P & OwnListingsDiscardDraftParameter} params\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"discardDraft\", P>>>}\n */\n async discardDraft<P extends OwnListingsDiscardDraftParameter>(\n params: P\n ): Promise<AxiosResponse<OwnListingsResponse<\"discardDraft\", P>>> {\n return this.axios.post(\n `${this.endpoint}/discard_draft`,\n params,\n {headers: this.headers}\n );\n }\n\n /**\n * Close a published listing\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsCloseParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"close\", P, EP>>>}\n */\n async close<\n P extends OwnListingsCloseParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"close\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/close`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Re-open a closed listing\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsOpenParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"open\", P, EP>>>}\n */\n async open<\n P extends OwnListingsOpenParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"open\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/open`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Attach an uploaded image to a listing\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsAddImageParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"addImage\", P, EP>>>}\n */\n async addImage<\n P extends OwnListingsAddImageParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"addImage\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/add_image`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default OwnListings;","import {SharetribeApiError} from \"../types\";\nimport {AxiosError} from \"axios\";\n\ntype ObjectQueryStringParam = Record<string, any>;\n\n/**\n * Serializes an attribute into a string representation for query parameters.\n *\n * @param {*} attribute - The attribute to serialize. Supported types:\n * - `Array`: serialized as a comma-separated string of its elements.\n * - Other types: returned as-is.\n * @returns {string} The serialized attribute.\n */\nconst serializeAttribute = (attribute: any): string => {\n if (Array.isArray(attribute)) {\n return attribute.join(\",\");\n } else {\n return attribute;\n }\n};\n\n/**\n * Serializes an object into a custom query string format.\n *\n * @param {ObjectQueryStringParam} obj - The object to serialize. Each key-value pair\n * is serialized in the format `key:value`. Attributes are processed using\n * `serializeAttribute`.\n * @throws {Error} If the input is not an object or is null.\n * @returns {string} A semicolon-separated query string.\n */\nexport const objectQueryString = (obj: ObjectQueryStringParam): string => {\n // Ensure the input is a valid object\n if (obj === null || typeof obj !== \"object\" || Array.isArray(obj)) {\n console.warn(\"Params must be an object\");\n // You can throw an error instead of warning if strict validation is required:\n // throw new Error(\"Params must be an object\");\n return \"\";\n }\n\n return Object.entries(obj)\n .filter(([_, value]) => value !== undefined && value !== null) // Exclude undefined or null values\n .map(([key, value]) => {\n const serializedValue = serializeAttribute(value);\n return `${key}:${encodeURIComponent(serializedValue)}`;\n }) // Serialize each key-value pair\n .join(\";\"); // Join the serialized pairs with semicolons\n};\n\nexport const createSharetribeApiError = (error: AxiosError): SharetribeApiError => ({\n name: error.name,\n message: error.message,\n status: error.status,\n statusText: error.code,\n data: error.response?.data\n})","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/**\n * @fileoverview Client for managing listings in the Sharetribe Integration API.\n *\n * This privileged API allows creating, updating, querying, approving, opening, and closing listings\n * on behalf of users — typically used by admin tools, onboarding flows, or backend services.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#listings\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {\n ExtraParameter,\n ListingsApproveParameter,\n ListingsCloseParameter,\n ListingsCreateParameter,\n ListingsOpenParameter,\n ListingsQueryParameter,\n ListingsResponse,\n ListingsShowParameter,\n ListingsUpdateParameter,\n} from \"../../types\";\n\n/**\n * Listings API client (privileged)\n */\nclass Listings {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/listings`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single listing by ID\n *\n * @template P\n * @param {P & ListingsShowParameter} params\n * @returns {Promise<AxiosResponse<ListingsResponse<\"show\", P>>>}\n */\n async show<P extends ListingsShowParameter>(\n params: P\n ): Promise<AxiosResponse<ListingsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Query listings with filters\n *\n * @template P\n * @param {P & ListingsQueryParameter} params\n * @returns {Promise<AxiosResponse<ListingsResponse<\"query\", P>>>}\n */\n async query<P extends ListingsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<ListingsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a new listing\n *\n * @template P\n * @template EP\n * @param {P & ListingsCreateParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<ListingsResponse<\"create\", P, EP>>>}\n */\n async create<\n P extends ListingsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ListingsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update an existing listing\n *\n * @template P\n * @template EP\n * @param {P & ListingsUpdateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<ListingsResponse<\"update\", P, EP>>>}\n */\n async update<\n P extends ListingsUpdateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ListingsResponse<\"update\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Close a listing\n *\n * @template P\n * @template EP\n * @param {P & ListingsCloseParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<ListingsResponse<\"close\", P, EP>>>}\n */\n async close<\n P extends ListingsCloseParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ListingsResponse<\"close\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/close`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Open a previously closed listing\n *\n * @template P\n * @template EP\n * @param {P & ListingsOpenParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<ListingsResponse<\"open\", P, EP>>>}\n */\n async open<\n P extends ListingsOpenParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ListingsResponse<\"open\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/open`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Approve a pending listing (admin only)\n *\n * @template P\n * @template EP\n * @param {P & ListingsApproveParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<ListingsResponse<\"approve\", P, EP>>>}\n */\n async approve<\n P extends ListingsApproveParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ListingsResponse<\"approve\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/approve`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Listings;","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","/**\n * @fileoverview Client for uploading images in the Sharetribe Marketplace API.\n *\n * Use this to upload images for listings, user profiles, or other resources.\n * Returns an image resource with variants ready for responsive display.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#images\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, ImagesResponse, ImagesUploadParameter,} from \"../../types\";\n\n/**\n * Images API client\n */\nclass Images {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/images`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Upload an image\n *\n * @template P\n * @template EP\n * @param {P & ImagesUploadParameter} params - Must include `image: File`\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<ImagesResponse<\"upload\", EP>>>}\n *\n * @example\n * const file = inputElement.files[0];\n * const { data } = await sdk.images.upload({ image: file });\n * console.log(data.id); // → \"img-abc123\"\n * console.log(data.attributes.variants[\"square-small\"]?.url);\n */\n async upload<\n P extends ImagesUploadParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ImagesResponse<\"upload\", EP>>> {\n const formData = new FormData();\n\n // Append all defined fields (skip null/undefined)\n Object.entries({...params, ...extraParams}).forEach(([key, value]) => {\n if (value !== null && value !== undefined) {\n formData.append(key, value as any);\n }\n });\n\n return this.axios.post(`${this.endpoint}/upload`, formData, {\n headers: {\n ...this.headers,\n // Let browser set correct boundary\n \"Content-Type\": \"multipart/form-data\",\n },\n });\n }\n}\n\nexport default Images;","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import {ApiConfigs} from \"../types\";\n\n/**\n * Creates API configurations for the SDK.\n *\n * @param isIntegrationSdk - Determines whether the configuration is for the Integration SDK (default: false).\n * @returns An object containing API configurations for the standard SDK or Integration SDK.\n */\nexport const createApisConfigs = <I extends boolean = false>(\n isIntegrationSdk: I = false as I\n): ApiConfigs<I> => {\n if (isIntegrationSdk === false) {\n return {\n api: ({baseUrl, version, transitVerbose}) => ({\n headers: {\n ...(transitVerbose ? {\"X-Transit-Verbose\": \"true\"} : {}),\n Accept: \"application/transit+json\",\n },\n baseUrl: `${baseUrl}/${version}/api`,\n }),\n auth: ({baseUrl, version}) => ({\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n Accept: \"application/json\",\n },\n baseUrl: `${baseUrl}/${version}/auth`,\n }),\n assets: ({assetCdnBaseUrl, version}) => ({\n headers: {\n Accept: \"application/json\",\n },\n baseUrl: `${assetCdnBaseUrl}/${version}/assets`,\n }),\n } as ApiConfigs<I>;\n } else {\n return {\n auth: ({baseUrl, version}) => ({\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n Accept: \"application/json\",\n },\n baseUrl: `${baseUrl}/${version}/auth`,\n }),\n integrationApi: ({baseUrl, version, transitVerbose}) => ({\n headers: {\n ...(transitVerbose ? {\"X-Transit-Verbose\": \"true\"} : {}),\n Accept: \"application/transit+json\",\n },\n baseUrl: `${baseUrl}/${version}/integration_api`,\n }),\n } as ApiConfigs<I>;\n }\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","/**\n * @fileoverview Client for managing the current user's Stripe account in the Sharetribe Marketplace API.\n *\n * Use this to:\n * - Fetch existing Stripe account status\n * - Create a new Stripe Connect account\n * - Update account details or capabilities\n *\n * Requires authentication.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stripe-account\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n StripeAccountCreateParameter,\n StripeAccountResponse,\n StripeAccountUpdateParameter,\n} from \"../../types\";\n\n/**\n * Stripe Account API client (current user)\n */\nclass StripeAccount {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stripe_account`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch current user's Stripe account\n *\n * @returns {Promise<AxiosResponse<StripeAccountResponse<\"fetch\">>>}\n *\n * @example\n * const { data } = await sdk.stripeAccount.fetch();\n * console.log(data.attributes.stripeAccountData.capabilities);\n */\n async fetch(): Promise<AxiosResponse<StripeAccountResponse<\"fetch\">>> {\n return this.axios.get(`${this.endpoint}/fetch`, {\n headers: this.headers,\n });\n }\n\n /**\n * Create a new Stripe Connect account\n *\n * @template P\n * @template EP\n * @param {P & StripeAccountCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeAccountResponse<\"create\", EP>>>}\n */\n async create<\n P extends StripeAccountCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeAccountResponse<\"create\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update existing Stripe Connect account\n *\n * @template P\n * @template EP\n * @param {P & StripeAccountUpdateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeAccountResponse<\"update\", EP>>>}\n */\n async update<\n P extends StripeAccountUpdateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeAccountResponse<\"update\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/update`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StripeAccount;","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","/**\n * @fileoverview Provides the UUID class for handling universally unique identifiers (UUIDs).\n * This class allows for the creation and validation of UUIDs, using the `uuid` library.\n */\n\nimport {v4 as uuidv4} from \"uuid\";\nimport {SdkType} from \"../types\";\n\n// Define a static class name\nconst UUID_SDK_TYPE = \"UUID\";\n\n/**\n * Class representing a UUID (Universally Unique Identifier).\n *\n * The UUID class ensures that a valid UUID is created or used, with the option to generate one if none is provided.\n */\nclass UUID implements SdkType {\n uuid: string;\n readonly _sdkType: typeof UUID_SDK_TYPE;\n\n /**\n * Creates an instance of the UUID class.\n *\n * @param {string} [uuid] - An optional UUID string. If not provided, a new UUID will be generated.\n * @example\n * const id = new UUID();\n * console.log(id.toString()); // Outputs a newly generated UUID.\n *\n * const predefinedId = new UUID('123e4567-e89b-12d3-a456-426614174000');\n * console.log(predefinedId.toString()); // Outputs: '123e4567-e89b-12d3-a456-426614174000'\n */\n constructor(uuid?: string) {\n this._sdkType = UUID_SDK_TYPE;\n\n if (uuid !== undefined && typeof uuid !== \"string\") {\n console.warn(\"uuid must be a string\");\n // If it's not a string, fallback to a generated UUID.\n this.uuid = uuidv4();\n } else {\n // Use the provided UUID or generate a new one.\n this.uuid = uuid || uuidv4();\n }\n }\n\n /**\n * Converts the UUID instance to its string representation.\n *\n * @returns {string} - The string representation of the UUID.\n * @example\n * const id = new UUID();\n * console.log(id.toString()); // Outputs the UUID as a string.\n */\n toString(): string {\n return this.uuid;\n }\n}\n\n// Default export for backward compatibility\nexport default UUID;\n\n// Export the instance type\nexport type UUIDInstance = InstanceType<typeof UUID>;\n","/**\n * @fileoverview Client for uploading images in the Sharetribe Integration API.\n *\n * Images uploaded via this endpoint can be attached to listings, user profiles, or used as assets.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#images\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {ExtraParameter, ImagesResponse, ImagesUploadParameter} from \"../../types\";\n\n/**\n * Images API client\n */\nclass Images {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/images`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Upload an image\n *\n * @template P\n * @template EP\n * @param {P & ImagesUploadParameter} params - Upload parameters (must include `image: File`)\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<ImagesResponse<\"upload\", EP>>>}\n *\n * @example\n * const file = input.files[0];\n * const { data } = await sdk.images.upload({ image: file });\n * console.log(data.id); // → \"img-abc123\"\n */\n async upload<\n P extends ImagesUploadParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ImagesResponse<\"upload\", EP>>> {\n const formData = new FormData();\n\n // Append all params (including extraParams)\n Object.entries({...params, ...extraParams}).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n formData.append(key, value as any);\n }\n });\n\n return this.axios.post(`${this.endpoint}/upload`, formData, {\n headers: {\n ...this.headers,\n // Let browser set Content-Type with proper boundary\n \"Content-Type\": \"multipart/form-data\",\n },\n });\n }\n}\n\nexport default Images;","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","/**\n * @fileoverview Client for fetching marketplace configuration in the Sharetribe Integration API.\n *\n * Use this to retrieve metadata about the marketplace (name, description, currency, etc.).\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#marketplace\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {MarketplaceResponse} from \"../../types\";\n\n/**\n * Marketplace API client\n */\nclass Marketplace {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/marketplace`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch current marketplace configuration\n *\n * @returns {Promise<AxiosResponse<MarketplaceResponse<\"show\">>>}\n *\n * @example\n * const { data } = await sdk.marketplace.show();\n * console.log(data.attributes.name); // → \"My Awesome Marketplace\"\n */\n async show(): Promise<AxiosResponse<MarketplaceResponse<\"show\">>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n });\n }\n}\n\nexport default Marketplace;","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import Money from \"../sdkTypes/Money\";\nimport LatLng from \"../sdkTypes/LatLng\";\nimport LatLngBounds from \"../sdkTypes/LatLngBounds\";\nimport UUID from \"../sdkTypes/UUID\";\nimport BigDecimal from \"../sdkTypes/BigDecimal\";\n\n/**\n * Converts a value based on its `_sdkType` property to the appropriate SDK type.\n * @param {*} value - The value to convert.\n * @returns {*} The converted value or the original value if no conversion is needed.\n */\nexport function toSdkTypes(\n value: any\n): LatLng | LatLngBounds | UUID | Money | BigDecimal | any {\n const type = value && value._sdkType;\n\n switch (type) {\n case \"LatLng\":\n return new LatLng(value.lat, value.lng);\n case \"LatLngBounds\":\n return new LatLngBounds(value.ne, value.sw);\n case \"UUID\":\n return new UUID(value.uuid);\n case \"Money\":\n return new Money(value.amount, value.currency);\n case \"BigDecimal\":\n return new BigDecimal(value.value);\n default:\n return value;\n }\n}\n\n//\n// JSON replacer\n//\n// Deprecated\n//\n// The _sdkType field is added to the type object itself,\n// so the use of replacer is not needed. The function exists purely\n// for backwards compatibility. We don't want to remove it in case\n// applications are using it.\n//\nexport const replacer = (key: string, value: any) => value;\n\n//\n// JSON reviver\n//\nexport const reviver = (key: string, value: any) => toSdkTypes(value);\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","/* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"_sdkType\"] }] */\n\nimport {\n keyword,\n makeWriteHandler,\n map as transitMap,\n reader as transitReader,\n writer as transitWriter,\n} from \"transit-js\";\nimport LatLng from \"../sdkTypes/LatLng\";\nimport UUID from \"../sdkTypes/UUID\";\nimport Money from \"../sdkTypes/Money\";\nimport BigDecimal from \"../sdkTypes/BigDecimal\";\nimport {TypeHandler} from \"../types\";\nimport {toSdkTypes} from \"./convert-types\";\n\n// Type definitions for SDK types\ntype SdkTypeClass = any; // Using any to avoid complex type issues\n\n// Helper functions to replace lodash\nconst identity = <T>(value: T): T => value;\nconst find = <T>(array: T[], predicate: (item: T) => boolean): T | undefined =>\n array.find(predicate);\nconst fromPairs = <T>(pairs: [string, T][]): Record<string, T> =>\n Object.fromEntries(pairs) as Record<string, T>;\nconst map = <T, R>(array: T[], callback: (item: T, index: number) => R): R[] =>\n array.map(callback);\nconst flatten = <T>(array: T[][]): T[] => array.flat();\nconst isObject = (value: any): boolean =>\n value !== null && typeof value === \"object\";\nconst entries = (obj: Record<string, any>): [string, any][] => {\n if (obj == null) {\n return [];\n }\n return Object.entries(obj);\n};\n\n// Define interfaces for reader and writer objects\nexport interface TransitReader {\n sdkType: SdkTypeClass;\n reader: (value: any) => any;\n}\n\nexport interface TransitWriter {\n sdkType?: SdkTypeClass;\n appType?: any;\n canHandle?: (args: { key: string; value: any }) => boolean;\n writer: (value: any) => any;\n}\n\nconst composeReader = (\n sdkTypeReader: TransitReader,\n appTypeReader: TransitReader | undefined\n) => {\n const sdkTypeReaderFn = sdkTypeReader.reader;\n const appTypeReaderFn = appTypeReader ? appTypeReader.reader : identity;\n\n return (rep: any) => appTypeReaderFn(sdkTypeReaderFn(rep));\n};\n\n/**\n * Map from transit tags to SDK type classes.\n */\nconst typeMap: Record<string, SdkTypeClass> = {\n u: UUID,\n geo: LatLng,\n mn: Money,\n f: BigDecimal,\n};\n\n/**\n * Readers for SDK types.\n */\nconst sdkTypeReaders: TransitReader[] = [\n {\n sdkType: UUID,\n reader: (rep: string) => new UUID(rep),\n },\n {\n sdkType: LatLng,\n reader: ([lat, lng]: [number | string, number | string]) =>\n new LatLng(lat, lng),\n },\n {\n sdkType: Money,\n reader: ([amount, currency]: [number, string]) =>\n new Money(amount, currency),\n },\n {\n sdkType: BigDecimal,\n reader: (rep: string) => new BigDecimal(rep),\n },\n];\n\n/**\n * Writers for SDK types.\n */\nconst sdkTypeWriters: TransitWriter[] = [\n {\n sdkType: UUID,\n writer: (v: UUID) => v.uuid,\n },\n {\n sdkType: LatLng,\n writer: (v: LatLng) => [v.lat, v.lng],\n },\n {\n sdkType: Money,\n writer: (v: Money) => [v.amount, v.currency],\n },\n {\n sdkType: BigDecimal,\n writer: (v: BigDecimal) => v.value,\n },\n];\n\n/**\n * Construct read handlers for transit types. The handlers are constructed\n * from `appTypeReaders`, `sdkTypeReaders` and `typeMap`.\n */\nconst constructReadHandlers = (appTypeReaders: TransitReader[]) =>\n fromPairs(\n map(Object.entries(typeMap), ([tag, typeClass]) => {\n const sdkTypeReader = find(\n sdkTypeReaders,\n (r) => r.sdkType === typeClass\n );\n const appTypeReader = find(\n appTypeReaders,\n (r) => r.sdkType === typeClass\n );\n\n if (!sdkTypeReader) {\n throw new Error(`SDK type reader not found for tag: ${tag}`);\n }\n\n return [tag, composeReader(sdkTypeReader, appTypeReader)];\n })\n );\n\nconst writeHandlers = flatten(\n map(Object.entries(typeMap), ([tag, typeClass]) => {\n const sdkTypeWriter = find(sdkTypeWriters, (w) => w.sdkType === typeClass);\n\n if (!sdkTypeWriter) {\n throw new Error(`SDK type writer not found for tag: ${tag}`);\n }\n\n const handler = makeWriteHandler({\n tag: () => tag,\n rep: sdkTypeWriter.writer,\n stringRep: (v: any) => sdkTypeWriter.writer(v.toString()),\n });\n\n return [typeClass, handler];\n })\n);\n\nconst mapBuilder = {\n init: () => ({}),\n add: (ret: Record<string, any>, key: string, val: any) => {\n ret[key] = val;\n return ret;\n },\n finalize: identity,\n};\n\nexport const reader = (appTypeReaders: TransitReader[] = []) => {\n const handlers = constructReadHandlers(appTypeReaders);\n\n return transitReader(\"json\", {\n handlers: {\n ...handlers,\n\n // Convert keyword to a string\n // This is a simplification. The API uses keywords, but we\n // can coerse strings to keywords, so it's ok to send strings\n // to the API when keywords is expected.\n \":\": (rep: string) => rep,\n\n // Convert set to an array\n // The conversion loses the information that the\n // value was a set, but that's ok. The API uses sets, but we\n // can coerse arrays to sets, so it's ok to send arrays\n // to the API when set is expected.\n set: (rep: any[]) => rep,\n\n // Convert list to an array\n list: (rep: any[]) => rep,\n },\n mapBuilder,\n });\n};\n\n// Convert JS object to transit map\nconst MapHandlers = [\n Object,\n makeWriteHandler({\n tag: () => \"map\",\n rep: (v: any) =>\n entries(v).reduce((map: any, entry: [string, any]) => {\n const [key, val] = entry;\n map.set(keyword(key), val);\n return map;\n }, transitMap()),\n stringRep: (v: any) => JSON.stringify(v),\n }),\n];\n\nexport const writer = (\n appTypeWriters: TransitWriter[] = [],\n opts: TransitOptions = {}\n) => {\n const {verbose} = opts;\n const transitType = verbose ? \"json-verbose\" : \"json\";\n\n return transitWriter(transitType, {\n handlers: transitMap([...writeHandlers, ...MapHandlers]),\n\n // @ts-ignore - Adding custom properties to transit writer\n transform: (v: any) => {\n if (isObject(v)) {\n if (v._sdkType) {\n return toSdkTypes(v);\n }\n\n const appTypeWriter = find(\n appTypeWriters,\n (w) =>\n (w.appType && v instanceof w.appType) ||\n (w.canHandle && w.canHandle(v))\n );\n\n if (appTypeWriter && appTypeWriter.writer) {\n return appTypeWriter.writer(v);\n }\n }\n return v;\n },\n handlerForForeign: (x, handlers) => {\n if (Array.isArray(x)) {\n return handlers.get(\"array\");\n }\n if (typeof x === \"object\") {\n return handlers.get(\"map\");\n }\n\n return null;\n },\n });\n};\n\nexport type TransitOptions = {\n verbose?: boolean;\n typeHandlers?: TypeHandler[];\n};\n\nexport const createTransitConverters = (\n typeHandlers: TypeHandler[] = [],\n opts: TransitOptions = {}\n) => {\n const {readers, writers} = typeHandlers.reduce<{\n readers: TransitReader[];\n writers: TransitWriter[];\n }>(\n (memo, handler) => {\n const r: TransitReader = {\n sdkType: handler.sdkType,\n reader: handler.reader!,\n };\n const w: TransitWriter = {\n sdkType: handler.sdkType,\n appType: handler.appType,\n canHandle: handler.canHandle,\n writer: handler.writer!,\n };\n\n memo.readers.push(r);\n memo.writers.push(w);\n\n return memo;\n },\n {readers: [], writers: []}\n );\n\n return {\n reader: reader(readers),\n writer: writer(writers, opts),\n };\n};\n\nexport const read = (str: string, opts: TransitOptions = {}) => {\n const {typeHandlers = [], verbose = false} = opts;\n const {reader: r} = createTransitConverters(typeHandlers, opts);\n return r.read(str);\n};\n\nexport const write = (data: any, opts: TransitOptions = {}) => {\n const {typeHandlers = [], verbose = false} = opts;\n const {writer: w} = createTransitConverters(typeHandlers, opts);\n return w.write(data);\n};\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","/**\n * @fileoverview Client for managing transactions in the Sharetribe Marketplace API.\n *\n * Use this to:\n * - Query your own transactions\n * - Initiate new orders/inquiries\n * - Transition transactions (accept, complete, cancel, etc.)\n * - Perform speculative transitions (dry-run)\n *\n * All operations require authentication.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#transactions\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n TransactionsInitiateParameter,\n TransactionsInitiateSpeculativeParameter,\n TransactionsQueryParameter,\n TransactionsResponse,\n TransactionsShowParameter,\n TransactionsTransitionParameter,\n TransactionsTransitionSpeculativeParameter,\n} from \"../../types\";\n\n/**\n * Transactions API client (current user)\n */\nclass Transactions {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/transactions`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single transaction by ID\n *\n * @template P\n * @param {P & TransactionsShowParameter} params\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"show\", P>>>}\n */\n async show<P extends TransactionsShowParameter>(\n params: P\n ): Promise<AxiosResponse<TransactionsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Query your own transactions\n *\n * @template P\n * @param {P & TransactionsQueryParameter} params\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"query\", P>>>}\n */\n async query<P extends TransactionsQueryParameter>(\n params?: P\n ): Promise<AxiosResponse<TransactionsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Initiate a new transaction (e.g. place an order)\n *\n * @template P\n * @template EP\n * @param {P & TransactionsInitiateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"initiate\", P, EP>>>}\n */\n async initiate<\n P extends TransactionsInitiateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"initiate\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/initiate`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Initiate a transaction speculatively (dry-run)\n *\n * @template P\n * @template EP\n * @param {P & TransactionsInitiateSpeculativeParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"initiateSpeculative\", P, EP>>>}\n */\n async initiateSpeculative<\n P extends TransactionsInitiateSpeculativeParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"initiateSpeculative\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/initiate_speculative`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Transition a transaction to a new state\n *\n * @template P\n * @template EP\n * @param {P & TransactionsTransitionParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"transition\", P, EP>>>}\n *\n * @example\n * await sdk.transactions.transition({\n * id: \"tx-abc123\",\n * transition: \"transition/confirm-payment\"\n * });\n */\n async transition<\n P extends TransactionsTransitionParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"transition\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/transition`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Perform a speculative transition (dry-run)\n *\n * @template P\n * @template EP\n * @param {P & TransactionsTransitionSpeculativeParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"transitionSpeculative\", P, EP>>>}\n */\n async transitionSpeculative<\n P extends TransactionsTransitionSpeculativeParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"transitionSpeculative\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/transition_speculative`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Transactions;","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/**\n * @fileoverview Client for querying time slots in the Sharetribe Marketplace API.\n *\n * Use this to fetch availability for listings that use time-based booking\n * (e.g. hourly rentals, appointments, classes).\n *\n * Returns day or time-range slots with seat availability.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#time-slots\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {TimeSlotsQueryParameter, TimeSlotsResponse,} from \"../../types\";\n\n/**\n * Time Slots API client\n */\nclass TimeSlots {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/timeslots`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query available time slots for a listing\n *\n * @template P\n * @param {P & TimeSlotsQueryParameter} params\n * @returns {Promise<AxiosResponse<TimeSlotsResponse<\"query\">>>}\n *\n * @example\n * const { data } = await sdk.timeSlots.query({\n * listingId: \"listing-abc123\",\n * start: \"2025-06-01T00:00:00Z\",\n * end: \"2025-06-07T23:59:59Z\"\n * });\n *\n * // `data` contains TimeSlot[] with `seats` and `start`/`end`\n */\n async query<P extends TimeSlotsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<TimeSlotsResponse<\"query\">>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default TimeSlots;","/**\n * @fileoverview Provides the LatLngBounds class for representing geographical bounding boxes.\n * This class encapsulates a northeast (NE) and southwest (SW) pair of coordinates to define a rectangular area.\n */\n\nimport LatLng from \"./LatLng\";\nimport {SdkType} from \"../types\";\n// Define a static class name\nconst LATLNGBOUNDS_SDK_TYPE = \"LatLngBounds\";\n\n/**\n * Class representing a geographical bounding box with NE and SW coordinates.\n */\nclass LatLngBounds implements SdkType {\n ne: LatLng | { lat: number | string; lng: number | string };\n sw: LatLng | { lat: number | string; lng: number | string };\n readonly _sdkType: typeof LATLNGBOUNDS_SDK_TYPE;\n\n /**\n * Creates an instance of the LatLngBounds class.\n *\n * @param {LatLng | { lat: number; lng: number }} ne - The northeast coordinate.\n * @param {LatLng | { lat: number; lng: number }} sw - The southwest coordinate.\n * @example\n * const ne = new LatLng(40.7128, -74.0060);\n * const sw = new LatLng(34.0522, -118.2437);\n * const bounds = new LatLngBounds(ne, sw);\n * console.log(bounds.toString()); // Outputs: '40.7128,-74.0060,34.0522,-118.2437'\n */\n constructor(\n ne: LatLng | { lat: number; lng: number },\n sw: LatLng | { lat: number; lng: number }\n ) {\n this._sdkType = LATLNGBOUNDS_SDK_TYPE;\n\n let isValid = true;\n\n // Helper function to check if a value is an object with numeric lat/lng.\n const isLatLngObject = (val: any): boolean =>\n val &&\n typeof val === \"object\" &&\n typeof val.lat === \"number\" &&\n typeof val.lng === \"number\";\n\n // Validate the northeast (NE) coordinate.\n let neLatLng: LatLng;\n if (ne instanceof LatLng) {\n neLatLng = ne;\n } else if (isLatLngObject(ne)) {\n neLatLng = new LatLng(ne.lat, ne.lng);\n } else {\n console.warn(\n \"Invalid 'ne' value. Must be an instance of LatLng or an object with lat and lng numbers.\"\n );\n isValid = false;\n neLatLng = new LatLng(Number(ne.lat), Number(ne.lng));\n }\n\n // Validate the southwest (SW) coordinate.\n let swLatLng: LatLng;\n if (sw instanceof LatLng) {\n swLatLng = sw;\n } else if (isLatLngObject(sw)) {\n swLatLng = new LatLng(sw.lat, sw.lng);\n } else {\n console.warn(\n \"Invalid 'sw' value. Must be an instance of LatLng or an object with lat and lng numbers.\"\n );\n isValid = false;\n swLatLng = new LatLng(Number(sw.lat), Number(sw.lng));\n }\n\n this.ne = neLatLng;\n this.sw = swLatLng;\n\n if (!isValid) {\n console.warn(\n \"LatLngBounds must be an object with valid NE and SW values.\"\n );\n }\n }\n\n /**\n * Converts the LatLngBounds instance to a string representation.\n *\n * @returns {string} - A string in the format \"NE_lat,NE_lng,SW_lat,SW_lng\".\n * @example\n * const ne = new LatLng(40.7128, -74.0060);\n * const sw = new LatLng(34.0522, -118.2437);\n * const bounds = new LatLngBounds(ne, sw);\n * console.log(bounds.toString()); // Outputs: '40.7128,-74.0060,34.0522,-118.2437'\n */\n toString(): string {\n return `${this.ne.toString()},${this.sw.toString()}`;\n }\n}\n\n// Default export for backward compatibility\nexport default LatLngBounds;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","import UUID from \"../sdkTypes/UUID\";\nimport LatLng from \"../sdkTypes/LatLng\";\nimport LatLngBounds from \"../sdkTypes/LatLngBounds\";\n\nconst UNKNOWN_TYPE = \"unknown-type\";\n\n/**\n * Serializes a value into a string representation for URL query parameters.\n *\n * @param {*} value - The value to serialize. Supported types:\n * - `UUID` instance: serialized as its `uuid` string.\n * - `LatLng` instance: serialized as \"lat,lng\".\n * - `LatLngBounds` instance: serialized as \"ne.lat,ne.lng,sw.lat,sw.lng\".\n * - `Array`: serialized by recursively serializing each element.\n * - `Date`: serialized as an ISO string.\n * - Primitive types and `null`: returned as-is.\n * @throws {Error} Will throw an error if the value type is unsupported.\n * @returns {string|*} The serialized value.\n */\nexport const serializeValue = (value: any) => {\n let v: any;\n\n if (value instanceof UUID) {\n v = value.uuid;\n } else if (value instanceof LatLng) {\n v = `${value.lat},${value.lng}`;\n } else if (value instanceof LatLngBounds) {\n v = `${value.ne.lat},${value.ne.lng},${value.sw.lat},${value.sw.lng}`;\n } else if (Array.isArray(value)) {\n v = value.map(serializeValue);\n } else if (value instanceof Date) {\n v = value.toISOString();\n } else if (value === null) {\n v = value;\n } else if (typeof value !== \"object\") {\n v = value;\n } else {\n throw new Error(UNKNOWN_TYPE);\n }\n\n return v;\n};\n\n/**\n * Serializes a record of parameters into a query string.\n *\n * @param {Record<string, any>} params - The parameters to serialize. Each value is serialized\n * using the `serializeValue` function.\n * @returns {string} A URL-encoded query string.\n */\nfunction parameterSerializer(params: Record<string, any>): string {\n const serializedParams = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n serializedParams.append(key, serializeValue(value));\n });\n return serializedParams.toString();\n}\n\nexport default parameterSerializer;\n","/**\n * @fileoverview Provides the Money class for handling monetary values.\n * This class ensures proper structure and validation of monetary values with an amount and a currency.\n */\n\nimport {SdkType} from \"../types\";\n// Define a static class name\nconst MONEY_SDK_TYPE = \"Money\";\n\n/**\n * Class representing a monetary value.\n *\n * The Money class encapsulates an amount in the smallest unit of the currency (e.g., cents)\n * and a currency code (e.g., \"USD\").\n */\nclass Money implements SdkType {\n amount: number;\n currency: string;\n readonly _sdkType: typeof MONEY_SDK_TYPE;\n\n /**\n * Creates an instance of the Money class.\n *\n * @param {number} amount - The monetary amount, represented in the smallest unit of the currency (e.g., cents for USD).\n * @param {string} currency - The currency code, represented as a three-character string (e.g., \"USD\").\n * @example\n * const money = new Money(1000, 'USD');\n * console.log(money); // Outputs: Money { amount: 1000, currency: 'USD' }\n */\n constructor(amount: number, currency: string) {\n this._sdkType = MONEY_SDK_TYPE;\n\n let isValid = true;\n\n // Validate the amount.\n if (!Number.isInteger(amount)) {\n console.warn(\"Amount must be an integer.\", amount);\n isValid = false;\n }\n\n // Validate the currency code.\n if (currency.length < 3) {\n console.warn(\"Currency must be at least 3 characters long.\");\n isValid = false;\n }\n\n this.amount = amount;\n this.currency = currency;\n\n if (!isValid) {\n console.warn(\"Invalid Money values provided.\");\n }\n }\n}\n\n// Default export for backward compatibility\nexport default Money;\n","/**\n * @fileoverview Client for querying reviews in the Sharetribe Marketplace API.\n *\n * Use this to fetch your own reviews or reviews for listings you own.\n * Only returns reviews the current user is authorized to see.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#reviews\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ReviewsQueryParameter, ReviewsResponse, ReviewsShowParameter,} from \"../../types\";\n\n/**\n * Reviews API client (own reviews only)\n */\nclass Reviews {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/reviews`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single review by ID\n *\n * @template P\n * @param {P & ReviewsShowParameter} params\n * @returns {Promise<AxiosResponse<ReviewsResponse<\"show\", P>>>}\n *\n * @example\n * const { data } = await sdk.reviews.show({ id: \"rev-abc123\" });\n */\n async show<P extends ReviewsShowParameter>(\n params: P\n ): Promise<AxiosResponse<ReviewsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Query your own reviews or reviews for your listings\n *\n * @template P\n * @param {P & ReviewsQueryParameter} params\n * @returns {Promise<AxiosResponse<ReviewsResponse<\"query\", P>>>}\n *\n * @example\n * // All reviews you've received\n * const { data } = await sdk.reviews.query({ subjectId: \"current\" });\n *\n * @example\n * // Reviews for one of your listings\n * await sdk.reviews.query({ listingId: \"listing-abc123\" });\n */\n async query<P extends ReviewsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<ReviewsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default Reviews;","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","export const VERSION = \"1.13.2\";","/**\n * @fileoverview Client for managing manual stock adjustments in the Sharetribe Marketplace API.\n *\n * Stock adjustments are used for restocking, write-offs, corrections, or any manual change\n * that doesn’t come from a booking or reservation.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stock-adjustments\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n StockAdjustmentsCreateParameter,\n StockAdjustmentsQueryParameter,\n StockAdjustmentsResponse,\n} from \"../../types\";\n\n/**\n * Stock Adjustments API client (own listings only)\n */\nclass StockAdjustments {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stock_adjustments`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query stock adjustment history\n *\n * @template P\n * @param {P & StockAdjustmentsQueryParameter} params\n * @returns {Promise<AxiosResponse<StockAdjustmentsResponse<\"query\", P>>>}\n *\n * @example\n * const { data } = await sdk.stockAdjustments.query({\n * listingId: \"listing-abc123\",\n * start: \"2025-01-01\",\n * end: \"2025-01-31\"\n * });\n */\n async query<P extends StockAdjustmentsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<StockAdjustmentsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a manual stock adjustment\n *\n * Positive quantity → add stock\n * Negative quantity → remove stock\n *\n * @template P\n * @template EP\n * @param {P & StockAdjustmentsCreateParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<StockAdjustmentsResponse<\"create\", P, EP>>>}\n *\n * @example\n * // Restock 50 units\n * await sdk.stockAdjustments.create({\n * listingId: \"listing-abc123\",\n * quantity: 50\n * });\n *\n * @example\n * // Write off 3 damaged units\n * await sdk.stockAdjustments.create({\n * listingId: \"listing-abc123\",\n * quantity: -3\n * });\n */\n async create<\n P extends StockAdjustmentsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StockAdjustmentsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StockAdjustments;","/**\n * @fileoverview Provides the LatLng class for representing geographical coordinates.\n * This class encapsulates a latitude and longitude pair, with validation for numeric input.\n */\n\nimport {SdkType} from \"../types\";\n\n// Define a static class name\nconst LATLNG_SDK_TYPE = \"LatLng\";\n\n/**\n * Class representing a geographical coordinate pair (latitude and longitude).\n */\nclass LatLng implements SdkType {\n lat: number | string;\n lng: number | string;\n readonly _sdkType: typeof LATLNG_SDK_TYPE;\n\n /**\n * Creates an instance of the LatLng class.\n *\n * @param {string | number} lat - The latitude value. Must be a number or a string that represents a number.\n * @param {string | number} lng - The longitude value. Must be a number or a string that represents a number.\n * @example\n * const coordinates = new LatLng(37.7749, -122.4194);\n * console.log(coordinates.toString()); // Outputs: '37.7749,-122.4194'\n */\n constructor(lat: string | number, lng: string | number) {\n this._sdkType = LATLNG_SDK_TYPE;\n\n // Helper function to validate if a value is a number or a number-like string.\n const isNumberOrNumberString = (val: any): boolean => {\n if (typeof val === \"number\") return true;\n return typeof val === \"string\" && /^\\d+(\\.\\d+)?$/.test(val);\n };\n\n // Validate latitude.\n if (!isNumberOrNumberString(lat)) {\n console.warn(\n \"Latitude must be a number or a string that represents a number\"\n );\n }\n\n // Validate longitude.\n if (!isNumberOrNumberString(lng)) {\n console.warn(\n \"Longitude must be a number or a string that represents a number\"\n );\n }\n\n // Assign values to instance properties.\n this.lat = lat;\n this.lng = lng;\n }\n\n /**\n * Converts the LatLng instance to a string representation.\n *\n * @returns {string} - A string in the format \"latitude,longitude\".\n * @example\n * const coordinates = new LatLng(37.7749, -122.4194);\n * console.log(coordinates.toString()); // Outputs: '37.7749,-122.4194'\n */\n toString(): string {\n return `${this.lat},${this.lng}`;\n }\n}\n\n// Default export for backward compatibility\nexport default LatLng;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * A collection of utilities, SDKs, and types provided by the Sharetribe SDK.\n *\n * @module SharetribeSdkExports\n */\n\nimport SharetribeSdkExport from \"./sdk\";\nimport IntegrationSdkExport from \"./integrationSdk\";\nimport BigDecimal from \"./sdkTypes/BigDecimal\";\nimport UUID from \"./sdkTypes/UUID\";\nimport LatLng from \"./sdkTypes/LatLng\";\nimport LatLngBounds from \"./sdkTypes/LatLngBounds\";\nimport Money from \"./sdkTypes/Money\";\nimport {replacer, reviver} from \"./utils/convert-types\";\nimport MemoryStore from \"./utils/stores/MemoryStore\";\nimport BrowserStore from \"./utils/stores/BrowserStore\";\nimport ExpressStore from \"./utils/stores/ExpressStore\";\nimport {objectQueryString} from \"./utils/util\";\nimport {read, write} from \"./utils/transit\";\nimport {generateKey} from \"./utils/stores/store\";\n\n// Export marketplace types\nexport * from \"./types/assets\";\nexport * from \"./types/authentication\";\nexport * from \"./types/integration/events\";\nexport * from \"./types/marketplace/availabilityExceptions\";\nexport * from \"./types/marketplace/availabilityPlan\";\nexport * from \"./types/marketplace/bookings\";\nexport * from \"./types/marketplace/currentUser\";\nexport * from \"./types/marketplace/images\";\nexport * from \"./types/marketplace/listings\";\nexport * from \"./types/marketplace/marketplace\";\nexport * from \"./types/marketplace/messages\";\nexport * from \"./types/marketplace/ownListings\";\nexport * from \"./types/marketplace/passwordReset\";\nexport * from \"./types/marketplace/processTransitions\";\nexport * from \"./types/marketplace/reviews\";\nexport * from \"./types/marketplace/stock\";\nexport * from \"./types/marketplace/stockAdjustment\";\nexport * from \"./types/marketplace/stockReservations\";\nexport * from \"./types/marketplace/stripeAccount\";\nexport * from \"./types/marketplace/stripeAccountLinks\";\nexport * from \"./types/marketplace/stripeCustomer\";\nexport * from \"./types/marketplace/stripePaymentMethod\";\nexport * from \"./types/marketplace/stripePersons\";\nexport * from \"./types/marketplace/stripeSetupIntents\";\nexport * from \"./types/marketplace/timeSlots\";\nexport * from \"./types/marketplace/transactions\";\nexport * from \"./types/marketplace/user\";\nexport * from \"./types/config\";\nexport * from \"./types/sharetribe\";\nexport * from \"./types/apiConfigs\";\nexport * from \"./types/config\";\nexport * from \"./types/store\";\n\n/**\n * SDK-specific types provided for advanced usage.\n */\nexport const sdkTypes = {\n /** A representation of a high-precision decimal number. */\n BigDecimal,\n /** A geographical point with latitude and longitude. */\n LatLng,\n /** A bounding box defined by northeast and southwest geographical points. */\n LatLngBounds,\n /** A monetary value with an amount and currency. */\n Money,\n /** A universally unique identifier (UUID). */\n UUID,\n /** Replacer function for JSON serialization. */\n replacer,\n /** Reviver function for JSON deserialization. */\n reviver,\n};\n\nexport type SdkTypes = {\n BigDecimal: typeof BigDecimal;\n LatLng: typeof LatLng;\n LatLngBounds: typeof LatLngBounds;\n Money: typeof Money;\n UUID: typeof UUID;\n replacer: typeof replacer;\n reviver: typeof reviver;\n};\n\nexport type TokenStores = {\n MemoryStore: typeof MemoryStore;\n BrowserStore: typeof BrowserStore;\n ExpressStore: typeof ExpressStore;\n};\n\n/**\n * Token store implementations for managing authentication tokens.\n */\nexport const TokenStores: TokenStores = {\n /** In-memory token store for temporary token management. */\n MemoryStore,\n /** Browser token store using cookies. */\n BrowserStore,\n /** Express.js-compatible token store using request and response cookies. */\n ExpressStore,\n};\n\nexport type Transit = {\n read: typeof read;\n write: typeof write;\n};\n\n/**\n * Transit utilities for reading and writing transit data.\n */\nexport const transit: Transit = {\n read,\n write,\n};\n\n/**\n * Export the Sharetribe SDK and Integration SDK.\n */\nexport const SharetribeSdk = SharetribeSdkExport;\nexport type SharetribeSdk = SharetribeSdkExport;\n\nexport const IntegrationSdk = IntegrationSdkExport;\nexport type IntegrationSdk = IntegrationSdkExport;\n\n/**\n * Utility functions for data manipulation.\n */\nexport const util = {\n /** Serializes an object into a custom query string format. */\n objectQueryString,\n generateKey,\n};\nexport type Util = {\n objectQueryString: typeof objectQueryString;\n generateKey: typeof generateKey;\n};\n\nconst defaultExport = {\n /** Export of the Sharetribe SDK. */\n SharetribeSdk: SharetribeSdkExport,\n /** Export of the Integration SDK. */\n SharetribeIntegrationSdk: IntegrationSdkExport,\n /** Export of available token stores. */\n TokenStores,\n /** Export of SDK-specific types. */\n sdkTypes,\n /** Export of utility functions. */\n util,\n /** Export of Transit utilities. */\n transit,\n};\nexport default defaultExport;\n\nexport type DefaultExport = {\n SharetribeSdk: SharetribeSdkExport;\n SharetribeIntegrationSdk: IntegrationSdkExport;\n TokenStores: typeof TokenStores;\n sdkTypes: typeof sdkTypes;\n util: typeof util;\n transit: typeof transit;\n};\n"],"names":["webpackUniversalModuleDefinition","root","factory","exports","module","define","amd","this","urlEncodeFormData","obj","Object","entries","filter","v","map","k","encodeURIComponent","Array","isArray","join","JSON","stringify","String","AuthenticationApi","axios","endpoint","headers","constructor","sdk","config","apisConfigs","auth","sdkConfig","baseUrl","token","params","post","authWithIdp","revoke","details","get","throttle","fn","freq","lastArgs","timer","timestamp","threshold","invoke","args","now","Date","clearTimeout","passed","setTimeout","URLSearchParams","A","spread","callback","wrap","arr","apply","IntegrationApi","authRequired","availabilityExceptions","events","images","listings","marketplace","stock","stockAdjustments","stockReservations","transactions","users","integrationApi","isVisitable","thing","isPlainObject","removeBrackets","key","endsWith","slice","renderKey","path","dots","concat","each","i","predicates","toFlatObject","prop","test","toFormData","formData","options","isObject","TypeError","FormData","metaTokens","indexes","defined","option","source","isUndefined","visitor","defaultVisitor","useBlob","Blob","isSpecCompliantForm","isFunction","convertValue","value","isDate","toISOString","isBoolean","toString","isBlob","isArrayBuffer","isTypedArray","Buffer","from","isFlatArray","some","isFileList","toArray","forEach","el","index","append","stack","exposedHelpers","assign","build","indexOf","Error","push","call","isString","trim","pop","Messages","api","query","send","extraParams","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","ProcessTransitions","toURLEncodedForm","data","classes","helpers","isNode","isBuffer","arguments","denyList","Set","error","has","code","IntegrationSdk","integration_api","create","baseURL","version","httpAgent","httpsAgent","streamChunk","chunk","chunkSize","len","byteLength","end","pos","readStream","async","stream","Symbol","asyncIterator","reader","getReader","done","read","cancel","trackStream","onProgress","onFinish","iterator","iterable","readBytes","bytes","_onFinish","e","ReadableStream","pull","controller","next","close","loadedBytes","enqueue","Uint8Array","err","reason","return","highWaterMark","randomUUID","crypto","bind","namespace","isNetworkError","response","includes","SAFE_HTTP_METHODS","IDEMPOTENT_HTTP_METHODS","isRetryableError","status","isIdempotentRequestError","method","isNetworkOrIdempotentRequestError","retryAfter","undefined","retryAfterHeader","retryAfterMs","Number","valueOf","Math","max","DEFAULT_OPTIONS","retries","retryCondition","retryDelay","noDelay","_retryNumber","shouldResetTimeout","onRetry","onMaxRetryTimesExceeded","validateResponse","setCurrentState","defaultOptions","resetLastRequestTime","currentState","getRequestOptions","retryCount","lastRequestTime","axiosRetry","axiosInstance","requestInterceptorId","interceptors","request","use","validateStatus","responseInterceptorId","Promise","reject","shouldRetry","shouldRetryOrPromise","_err","handleRetry","delay","fixConfig","defaults","agent","timeout","lastRequestDuration","transformRequest","signal","aborted","resolve","abortListener","removeEventListener","addEventListener","once","handleMaxRetryTimesExceeded","isSafeRequestError","exponentialDelay","retryNumber","delayFactor","calculatedDelay","random","linearDelay","thisArg","extractCommonPathAndAssets","paths","length","normalized","p","replace","parts","split","commonLength","j","commonPath","assets","AssetsApi","clientId","assetByAlias","alias","rest","startsWith","url","assetsByAlias","assetByVersion","assetsByVersion","BrowserStore","expiration","secure","getToken","cookie","parse","setToken","secureFlag","set","expires","removeToken","remove","StripeAccountLinks","window","hasAgents","httpAgentCreator","httpsAgentCreator","console","warn","DefaultSdkConfig","assetCdnBaseUrl","tokenStore","transitVerbose","typeHandlers","DefaultIntegrationSdkConfig","keepAlive","maxSockets","QUERY_PARAMETERS","isTransit","res","isJson","isTokenUnauthorized","isTokenExpired","isAuthTokenUnauthorized","routeNeedsTrustedUser","requestConfig","requestUrl","found","find","_","substring","lastIndexOf","prepareAuthorizationHeader","token_type","access_token","createAxiosConfig","Accept","transformResponse","prepareAxiosInstance","retryConfig","handleResponseSuccess","onFulfilled","verbose","revoked","handleResponseFailure","originalRequest","refresh_token","client_id","grant_type","Authorization","scope","handleRequestSuccess","authToken","clientSecret","client_secret","newFormData","param","keys","writer","write","paramsSerializer","SharetribeSdk","assetsApi","bookings","currentUser","messages","ownListings","passwordReset","processTransitions","reviews","stripeAccount","stripeAccountLinks","stripeCustomer","stripePersons","stripeSetupIntents","timeslots","login","loginAs","loginWithIdp","logout","exchangeToken","subject_token","authInfo","storedToken","tokenScope","scopes","isAnonymous","grantType","Events","Stock","compareAndSet","hasBrowserEnv","document","_navigator","navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","self","importScripts","origin","location","href","StripeSetupIntents","signals","Boolean","AbortController","onabort","unsubscribe","abort","message","ETIMEDOUT","asap","PasswordReset","reset","BigDecimal","_sdkType","StripeCustomer","addPaymentMethod","deletePaymentMethod","MemoryStore","ignoreDuplicateOf","toObjectSet","rawHeaders","parsed","val","parser","line","toLowerCase","StockReservations","show","validators","type","validator","deprecatedWarnings","transitional","formatMessage","opt","desc","opts","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","result","ERR_BAD_OPTION","getRandomValues","rnds8","rng","COMPILED","goog","global","exportPath_","a","b","c","d","execScript","shift","prototype","f","hasOwnProperty","CLOSURE_UNCOMPILED_DEFINES","CLOSURE_DEFINES","nodeType","FEATURESET_YEAR","DEBUG","LOCALE","TRUSTED_SITE","DISALLOW_TEST_ONLY_CODE","ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING","provide","isInModuleLoader_","isProvided_","constructNamespace_","implicitNamespaces_","getObjectByName","getScriptNonce","getScriptNonce_","cspNonce_","NONCE_PATTERN_","querySelector","nonce","getAttribute","VALID_MODULE_RE_","search","isInGoogModuleLoader_","moduleLoaderState_","moduleName","getInternal_","loadedModules_","ModuleType","ES6","GOOG","isInEs6ModuleLoader_","$jscomp","getCurrentModulePath","declareLegacyNamespace","declareModuleId","require","moduleId","setTestOnly","forwardDeclare","addDependency","DEPENDENCIES_ENABLED","debugLoader_","ENABLE_DEBUG_LOADER","logToConsole_","requested","load_","requireType","basePath","nullFunction","abstractMethod","addSingletonGetter","instance_","getInstance","instantiatedSingletons_","LOAD_MODULE_USING_EVAL","SEAL_MODULE_EXPORTS","TRANSPILE","ASSUME_ES_MODULES_TRANSPILED","TRANSPILE_TO_LANGUAGE","TRANSPILER","TRUSTED_TYPES_POLICY_NAME","hasBadLetScoping","loadModule","loadModuleFromSource_","seal","eval","CLOSURE_EVAL_PREFILTER_","createScript","normalizePath_","splice","loadFileSync_","CLOSURE_LOAD_FILE_SYNC","XMLHttpRequest","open","responseText","transpile_","transpile","g","$gwtExport","h","typeOf","isArrayLike","isDateLike","getFullYear","getUid","UID_PROPERTY_","uidCounter_","hasUid","removeUid","removeAttribute","cloneObject","clone","bindNative_","bindJs_","unshift","Function","partial","mixin","globalEval","getCssName","charAt","cssNameMapping_","cssNameMappingStyle_","CLOSURE_CSS_NAME_MAP_FN","setCssNameMapping","CLOSURE_CSS_NAME_MAPPING","getMsg","html","unescapeHtmlEntities","getMsgWithFallback","exportSymbol","exportProperty","inherits","superClass_","base","defineClass","statics","createSealingConstructor_","applyProperties_","SEAL_CLASS_INSTANCES","OBJECT_PROTOTYPE_FIELDS_","identity_","createTrustedTypesPolicy","trustedTypes","createPolicy","createHTML","createScriptURL","isEdge_","userAgent","match","inHtmlDocument_","isDocumentLoading_","attachEvent","readyState","findBasePath_","CLOSURE_BASE_PATH","currentScript","getElementsByTagName","src","substr","Transpiler","requiresTranspilation_","transpilationTarget_","createRequiresTranspilation_","es3","target","needsTranspile","createElement","transpiler_","protectScriptTag_","DebugLoader_","dependencies_","idToPath_","written_","loadingDeps_","depsToLoad_","paused_","factory_","DependencyFactory","deferredCallbacks_","deferredQueue_","bootstrap","getPathFromDeps_","onLoad","loadClosureDeps","createDependency","loadDeps_","areDepsLoaded_","requires","setDependencyFactory","loading_","pause","resume","resume_","loaded","loaded_","pending","setModuleState","registerEs6ModuleExports","registerGoogModuleExports","clearModuleState","defer","defer_","areDepsLoaded","load","pause_","LoadController","Dependency","relativePath","provides","loadFlags","loadCallbacks_","getPathName","callbackMap_","registerCallback_","unregisterCallback_","callback_","CLOSURE_IMPORT_SCRIPT","onload","TRUSTED_TYPES_POLICY_","IS_OLD_IE_","onreadystatechange","head","appendChild","Es6ModuleDependency","l","n","m","setAttribute","text","TransformedDependency","contents_","lazyFetch_","transform","ensure","TranspiledDependency","transpiler","PreTranspiledEs6ModuleDependency","GoogModuleDependency","needsTranspile_","atob","all","lang","CLOSURE_NO_DEPS","isChrome87","emptyScript","object","every","getCount","getAnyKey","getAnyValue","contains","containsValue","getValues","getKeys","getValueByKeys","containsKey","findKey","findValue","isEmpty","clear","add","setIfUndefined","setWithReturnValueIfNotSet","equals","unsafeClone","ArrayBuffer","isView","DataView","transpose","PROTOTYPE_FIELDS_","extend","createSet","createImmutableView","isFrozen","freeze","isImmutableView","getAllPropertyNames","getOwnPropertyNames","getPrototypeOf","getSuperClass","com","cognitect","module$contents$goog$debug$Error_DebugError","captureStackTrace","cause","reportErrorToServer","transit","util","objectKeys","chars","randInt","round","randHex","btoa","charCodeAt","fromCharCode","Uint8ToBase64","subarray","min","Base64ToUint8","delimiters","ESC","TAG","SUB","RES","ESC_TAG","caching","MIN_SIZE_CACHEABLE","BASE_CHAR_IDX","CACHE_CODE_DIGITS","MAX_CACHE_ENTRIES","MAX_CACHE_SIZE","isCacheable","idxToCode","floor","WriteCache","cacheSize","gen","idx","cache","writeCache","isCacheCode","codeToIdx","ReadCache","readCache","eq","hashCodeProperty","hashCodeCounter","com$cognitect$transit$equals","hashCombine","stringCodeCache","stringCodeCacheSize","STR_CACHE_MAX","hashString","hashMapLike","hashCode","hashArrayLike","defineProperty","enumerable","com$cognitect$transit$hashCode","extendToEQ","debug","name","dom","NodeType","ELEMENT","ATTRIBUTE","TEXT","CDATA_SECTION","ENTITY_REFERENCE","ENTITY","PROCESSING_INSTRUCTION","COMMENT","DOCUMENT","DOCUMENT_TYPE","DOCUMENT_FRAGMENT","NOTATION","asserts","ENABLE_ASSERTS","AssertionError","subs_","messagePattern","DEFAULT_ERROR_HANDLER","errorHandler_","doAssertFailure_","setErrorHandler","assert","assertExists","fail","assertNumber","assertString","assertFunction","assertObject","assertArray","assertBoolean","assertElement","assertInstanceof","getType_","assertFinite","isFinite","displayName","reflect","objectProperty","sinkValue","canAccessProperty","math","module$contents$goog$math$Long_Long","low_","high_","toInt","toNumber","module$contents$goog$math$Long_TWO_PWR_32_DBL_","getLowBitsUnsigned","isSafeInteger","pow","fromBits","div","abs","subtract","multiply","getHighBits","getLowBits","getNumBitsAbs","isNegative","getMinValue","negate","isZero","isOdd","notEquals","lessThan","compare","lessThanOrEqual","greaterThan","greaterThanOrEqual","getOne","getNegOne","shiftRight","shiftLeft","getZero","ceil","log","LN2","fromNumber","modulo","not","and","or","xor","shiftRightUnsigned","fromInt","module$contents$goog$math$Long_getCachedIntValue_","module$contents$goog$math$Long_TWO_PWR_63_DBL_","getMaxValue","fromString","parseInt","module$contents$goog$math$Long_MAX_SAFE_INTEGER_","isStringInRange","module$contents$goog$math$Long_MIN_VALUE_FOR_RADIX_","module$contents$goog$math$Long_MAX_VALUE_FOR_RADIX_","module$contents$goog$math$Long_ZERO_","module$contents$goog$math$Long_ONE_","module$contents$goog$math$Long_NEG_ONE_","module$contents$goog$math$Long_MAX_VALUE_","module$contents$goog$math$Long_MIN_VALUE_","getTwoPwr24","module$contents$goog$math$Long_TWO_PWR_24_","Long","module$contents$goog$math$Long_IntCache_","types","ITERATOR","TaggedValue","tag","rep","equiv","taggedValue","isTaggedValue","nullValue","boolValue","MAX_INT","MIN_INT","intValue","isInteger","isNaN","Infinity","parseFloat","floatValue","bigInteger","isBigInteger","bigDecimalValue","isBigDecimal","charValue","Keyword","_name","keyword","isKeyword","symbol","isSymbol","hexFor","UUID","high","low","getLeastSignificantBits","getMostSignificantBits","UUIDfromString","uuid","isUUID","date","verboseDate","binary","preferBuffers","isBinary","uri","isURI","KEYS","VALUES","ENTRIES","TransitArrayMapIterator","TransitMapIterator","bucket","bucketIdx","size","mapEquals","TransitMap","isMap","TransitArrayMap","_entries","SMALL_ARRAY_MAP_THRESHOLD","ARRAY_MAP_THRESHOLD","ARRAY_MAP_ACCESS_THRESHOLD","print","printMap","printSet","backingMap","accesses","inspect","convert","keySet","values","delete","_keys","isArrayMap","TransitSet","isSet","quoted","isQuoted","list","isList","link","isLink","specialDouble","NaN","impl","decoder","Tag","str","isTag","isGroundHandler","Decoder","handlers","preferStrings","defaultHandler","mapBuilder","arrayBuilder","$","r","z","t","u","cmap","decode","decodeString","decodeArrayHash","decodeArray","decodeHash","parseString","fromArray","init","finalize","JSONUnmarshaller","unmarshal","Reader","unmarshaller","ctorGuid","ctorGuidProperty","typeTag","padZeros","stringableKeys","NilHandler","stringRep","StringHandler","NumberHandler","IntegerHandler","BooleanHandler","ArrayHandler","MapHandler","VerboseDateHandler","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","DateHandler","getVerboseHandler","UUIDHandler","KeywordHandler","SymbolHandler","TaggedHandler","TransitSetHandler","TransitArrayMapHandler","TransitMapHandler","BufferHandler","Uint8ArrayHandler","defaultHandlers","Handlers","validTag","escape","JSONMarshaller","objectBuilder","handlerForForeign","unpack","handler","transitTag","registerHandler","emitNil","emitString","emitBoolean","emitInteger","emitDouble","emitBinary","emitQuoted","marshal","emitObjects","emitArray","isStringableKey","isForeignObject","transit$isObject","emitMap","emitTaggedMap","emitEncoded","maybeQuoted","marshalTop","Writer","_marshaller","marshaller","asMapKey","register","TRANSIT_DEV","TRANSIT_NODE_TARGET","TRANSIT_BROWSER_TARGET","TRANSIT_BROWSER_AMD_TARGET","makeWriteHandler","makeBuilder","integer","bigInt","isBigInt","bigDec","isBigDec","tagged","hash","mapToObject","objectToMap","generateKey","Listings","StripePersons","settle","ERR_BAD_REQUEST","ERR_BAD_RESPONSE","CurrentUser","createWithIdp","updateProfile","changePassword","changeEmail","verifyEmail","sendVerificationEmail","createStripeAccount","updateStripeAccount","speedometer","samplesCount","timestamps","firstSampleTS","tail","chunkLength","startedAt","bytesCount","encode","buildURL","_encode","serialize","serializeFn","serializedParams","isURLSearchParams","hashmarkIndex","Marketplace","AxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","toJSONObject","descriptors","defineProperties","customProps","axiosError","msg","errCode","configurable","Bookings","headersToObject","mergeConfig","config1","config2","getMergedValue","caseless","merge","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","beforeRedirect","transport","cancelToken","socketPath","responseEncoding","computeConfigValue","configValue","CancelToken","executor","resolvePromise","promise","promiseExecutor","then","_listeners","onfulfilled","_resolve","subscribe","throwIfRequested","listener","toAbortSignal","AvailabilityExceptions","MarketplaceApi","charMap","replacer","AxiosURLSearchParams","_pairs","encoder","pair","parseProtocol","exec","Axios","instanceConfig","configOrUrl","_request","dummy","boolean","function","allowAbsoluteUrls","withXsrfToken","contextHeaders","common","requestInterceptorChain","synchronousRequestInterceptors","unshiftRequestInterceptors","interceptor","runWhen","synchronous","fulfilled","rejected","responseInterceptorChain","pushResponseInterceptors","chain","newConfig","onRejected","getUri","fullPath","forEachMethodNoData","forEachMethodWithData","generateHTTPMethod","isForm","httpMethod","contentType","getContentType","hasJSONContentType","isObjectPayload","isHTMLForm","isFormData","isStream","isFile","isReadableStream","isArrayBufferView","buffer","setContentType","formSerializer","_FormData","env","stringifySafely","rawValue","JSONRequested","isResponse","strictJSONParsing","parseReviver","v4","buf","offset","rnds","ExpressStore","req","currentToken","readCookie","maxAge","clearCookie","cookies","knownAdapters","http","xhr","fetch","renderReason","isResolvedHandle","getAdapter","adapters","nameOrAdapter","rejectedReasons","id","reasons","state","s","URL","isMSIE","protocol","host","port","Users","email","approve","updatePermissions","combineURLs","relativeURL","isBrowser","protocols","dispatchXhrRequest","_config","requestData","requestHeaders","normalize","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","onloadend","responseHeaders","getAllResponseHeaders","statusText","_reject","toUpperCase","handleLoad","responseURL","handleAbort","ECONNABORTED","onerror","handleError","event","ERR_NETWORK","ontimeout","handleTimeout","timeoutErrorMessage","setRequestHeader","upload","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","context","isHeaderNameFilter","isRegExp","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","isIterable","dest","entry","parseTokens","tokens","tokensRE","matcher","deleted","deleteHeader","format","formatHeader","w","char","targets","asStrings","getSetCookie","toStringTag","first","computed","accessor","accessors","defineAccessor","buildAccessors","accessorName","toCamelCase","methodName","arg1","arg2","arg3","reduceDescriptors","mapped","headerValue","freezeMethods","kindOf","kindOfTest","typeOfTest","isNumber","isRequest","isHeaders","allOwnKeys","_key","_global","globalThis","isContextDefined","TypedArray","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","ret","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","callbacks","cb","queueMicrotask","process","nextTick","kind","isEmptyObject","pipe","skipUndefined","assignValue","targetKey","stripBOM","content","superConstructor","props","sourceObj","destObj","propFilter","merged","searchString","position","lastIndex","forEachEntry","_iterator","matchAll","regExp","matches","hasOwnProp","writable","arrayOrString","delimiter","p1","p2","noop","toFiniteNumber","defaultValue","visit","reducedValue","isThenable","catch","InterceptorManager","eject","forEachHandler","StockAdjustments","Transactions","transition","transitionSpeculative","updateMetadata","OwnListings","createDraft","update","publishDraft","discardDraft","addImage","objectQueryString","serializedValue","attribute","createSharetribeApiError","createInstance","defaultConfig","instance","CanceledError","isCancel","VERSION","Cancel","promises","isAxiosError","formToJSON","HttpStatusCode","default","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","WebServerIsDown","ConnectionTimedOut","OriginIsUnreachable","TimeoutOccurred","SslHandshakeFailed","InvalidSslCertificate","Images","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","total","lengthComputable","progressBytes","rate","progress","estimated","progressEventDecorator","throttled","asyncDecorator","createApisConfigs","isIntegrationSdk","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","StripeAccount","globalFetchAPI","Request","Response","TextEncoder","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","body","duplex","supportsResponseStream","resolvers","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","getBodyLength","fetchOptions","_fetch","composedSignal","requestContentLength","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","credentials","isStreamResponse","responseContentLength","responseData","seedCache","Map","getFetch","seeds","seed","buildFullPath","requestedURL","isRelativeUrl","username","password","unescape","getHeaders","formHeaders","allowedHeaders","xsrfValue","toSdkTypes","lat","lng","ne","sw","amount","currency","reviver","ERR_CANCELED","__CANCEL__","identity","array","predicate","composeReader","sdkTypeReader","appTypeReader","sdkTypeReaderFn","appTypeReaderFn","typeMap","geo","mn","sdkTypeReaders","sdkType","sdkTypeWriters","constructReadHandlers","appTypeReaders","fromPairs","pairs","typeClass","fromEntries","writeHandlers","sdkTypeWriter","flat","MapHandlers","reduce","appTypeWriters","transitType","appTypeWriter","appType","canHandle","x","createTransitConverters","readers","writers","memo","payload","throwIfCancellationRequested","dispatchRequest","onAdapterResolution","onAdapterRejection","byteToHex","unsafeStringify","initiate","initiateSpeculative","converter","defaultAttributes","attributes","toUTCString","decodeURIComponent","stringifiedAttributes","attributeName","jar","withAttributes","withConverter","TimeSlots","LatLngBounds","isValid","isLatLngObject","neLatLng","swLatLng","isAbsoluteURL","transformData","fns","serializeValue","parameterSerializer","Money","Reviews","domain","sameSite","RegExp","LatLng","isNumberOrNumberString","__webpack_module_cache__","__webpack_require__","cachedModule","__webpack_modules__","getter","__esModule","definition","o","sdkTypes","TokenStores","SharetribeIntegrationSdk"],"ignoreList":[],"sourceRoot":""}
|