UNPKG

@kontent-ai/delivery-sdk

Version:
10,049 lines 368 kB
(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory();
	else if(typeof define === 'function' && define.amd)
		define("kontentDelivery", [], factory);
	else if(typeof exports === 'object')
		exports["kontentDelivery"] = factory();
	else
		root["kontentDelivery"] = factory();
})(self, () => {
return /******/ (() => { // webpackBootstrap
/******/ 	"use strict";
/******/ 	var __webpack_modules__ = ({

/***/ "./lib/client/delivery-client.factory.ts":
/*!***********************************************!*\
  !*** ./lib/client/delivery-client.factory.ts ***!
  \***********************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.createDeliveryClient = void 0;
const delivery_client_1 = __webpack_require__(/*! ./delivery-client */ "./lib/client/delivery-client.ts");
function createDeliveryClient(config) {
    return new delivery_client_1.DeliveryClient(config);
}
exports.createDeliveryClient = createDeliveryClient;


/***/ }),

/***/ "./lib/client/delivery-client.ts":
/*!***************************************!*\
  !*** ./lib/client/delivery-client.ts ***!
  \***************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.DeliveryClient = void 0;
const core_sdk_1 = __webpack_require__(/*! @kontent-ai/core-sdk */ "./node_modules/@kontent-ai/core-sdk/dist/es6/index.js");
const query_1 = __webpack_require__(/*! ../query */ "./lib/query/index.ts");
const sdk_info_generated_1 = __webpack_require__(/*! ../sdk-info.generated */ "./lib/sdk-info.generated.ts");
const services_1 = __webpack_require__(/*! ../services */ "./lib/services/index.ts");
class DeliveryClient {
    /**
     * Delivery client used to fetch data from Kontent.ai
     * @constructor
     * @param {IDeliveryClientConfig} config - The client configuration
     */
    constructor(config) {
        this.config = config;
        if (!config) {
            throw Error(`Delivery client configuration is not set`);
        }
        this.mappingService = new services_1.MappingService(config);
        this.queryService = new services_1.QueryService(config, config.httpService ? config.httpService : new core_sdk_1.HttpService(), {
            host: sdk_info_generated_1.sdkInfo.host,
            name: sdk_info_generated_1.sdkInfo.name,
            version: sdk_info_generated_1.sdkInfo.version
        }, this.mappingService);
    }
    /**
     * Gets query for multiple languages
     */
    languages() {
        return new query_1.LanguagesQuery(this.config, this.queryService);
    }
    /**
     * Gets query for multiple types
     */
    types() {
        return new query_1.MultipleTypeQuery(this.config, this.queryService);
    }
    /**
     * Gets query for single type
     * @param {string} typeCodename - Codename of the type to fetch
     */
    type(typeCodename) {
        return new query_1.SingleTypeQuery(this.config, this.queryService, typeCodename);
    }
    /**
     * Gets query for multiple items
     */
    items() {
        return new query_1.MultipleItemsQuery(this.config, this.queryService);
    }
    /**
     * Gets query for single item
     * @param {string} codename - Codename of item to fetch
     */
    item(codename) {
        return new query_1.SingleItemQuery(this.config, this.queryService, codename);
    }
    /**
     * Gets query for items feed. Executes single HTTP request only
     */
    itemsFeed() {
        return new query_1.ItemsFeedQuery(this.config, this.queryService);
    }
    /**
     * Gets query for single taxonomy
     * @param {string} codename - Codename of taxonomy to fetch
     */
    taxonomy(codename) {
        return new query_1.TaxonomyQuery(this.config, this.queryService, codename);
    }
    /**
     * Gets query for multiple taxonomies
     */
    taxonomies() {
        return new query_1.TaxonomiesQuery(this.config, this.queryService);
    }
    /**
     * Gets query for an element within a type
     * @param {string} typeCodename - Codename of the type
     * @param {string} elementCodename - Codename of the element
     */
    element(typeCodename, elementCodename) {
        return new query_1.ElementQuery(this.config, this.queryService, typeCodename, elementCodename);
    }
    /**
     * @deprecated Sync API v1 is deprecated and will be shut down by the end of this year.
     * Please migrate to Sync API v2 using the `@kontent-ai/sync-sdk` package.
     *
     * For migration guidance and full documentation, visit:
     * https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/
     */
    initializeSync() {
        return new query_1.InitializeSyncQuery(this.config, this.queryService);
    }
    /**
     * @deprecated Sync API v1 is deprecated and will be shut down by the end of this year.
     * Please migrate to Sync API v2 using the `@kontent-ai/sync-sdk` package.
     *
     * For migration guidance and full documentation, visit:
     * https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/
     */
    syncChanges() {
        return new query_1.SyncChangesQuery(this.config, this.queryService);
    }
    /**
     * Item listing of where an asset is used
     */
    assetUsedIn(assetCodename) {
        return new query_1.UsedInQuery(this.config, this.queryService, { entity: 'asset', codename: assetCodename });
    }
    /**
     * Item listing of where a content item is used
     */
    itemUsedIn(itemCodename) {
        return new query_1.UsedInQuery(this.config, this.queryService, { entity: 'contentItem', codename: itemCodename });
    }
}
exports.DeliveryClient = DeliveryClient;


/***/ }),

/***/ "./lib/client/idelivery-client.interface.ts":
/*!**************************************************!*\
  !*** ./lib/client/idelivery-client.interface.ts ***!
  \**************************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/client/index.ts":
/*!*****************************!*\
  !*** ./lib/client/index.ts ***!
  \*****************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./delivery-client */ "./lib/client/delivery-client.ts"), exports);
__exportStar(__webpack_require__(/*! ./idelivery-client.interface */ "./lib/client/idelivery-client.interface.ts"), exports);
__exportStar(__webpack_require__(/*! ./delivery-client.factory */ "./lib/client/delivery-client.factory.ts"), exports);


/***/ }),

/***/ "./lib/config/delivery-configs.ts":
/*!****************************************!*\
  !*** ./lib/config/delivery-configs.ts ***!
  \****************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/config/index.ts":
/*!*****************************!*\
  !*** ./lib/config/index.ts ***!
  \*****************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./delivery-configs */ "./lib/config/delivery-configs.ts"), exports);


/***/ }),

/***/ "./lib/contracts/contracts.ts":
/*!************************************!*\
  !*** ./lib/contracts/contracts.ts ***!
  \************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/contracts/index.ts":
/*!********************************!*\
  !*** ./lib/contracts/index.ts ***!
  \********************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./contracts */ "./lib/contracts/contracts.ts"), exports);


/***/ }),

/***/ "./lib/elements/element-models.ts":
/*!****************************************!*\
  !*** ./lib/elements/element-models.ts ***!
  \****************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/elements/element-resolver.ts":
/*!******************************************!*\
  !*** ./lib/elements/element-resolver.ts ***!
  \******************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/elements/element-type.ts":
/*!**************************************!*\
  !*** ./lib/elements/element-type.ts ***!
  \**************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ElementType = void 0;
/**
* Represents codename of Kontent.ai element types
*/
var ElementType;
(function (ElementType) {
    ElementType["Text"] = "text";
    ElementType["Number"] = "number";
    ElementType["ModularContent"] = "modular_content";
    ElementType["Asset"] = "asset";
    ElementType["DateTime"] = "date_time";
    ElementType["RichText"] = "rich_text";
    ElementType["MultipleChoice"] = "multiple_choice";
    ElementType["UrlSlug"] = "url_slug";
    ElementType["Taxonomy"] = "taxonomy";
    ElementType["Custom"] = "custom";
    ElementType["Unknown"] = "unknown";
})(ElementType || (exports.ElementType = ElementType = {}));


/***/ }),

/***/ "./lib/elements/elements.ts":
/*!**********************************!*\
  !*** ./lib/elements/elements.ts ***!
  \**********************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/elements/index.ts":
/*!*******************************!*\
  !*** ./lib/elements/index.ts ***!
  \*******************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./element-models */ "./lib/elements/element-models.ts"), exports);
__exportStar(__webpack_require__(/*! ./element-type */ "./lib/elements/element-type.ts"), exports);
__exportStar(__webpack_require__(/*! ./elements */ "./lib/elements/elements.ts"), exports);
__exportStar(__webpack_require__(/*! ./element-resolver */ "./lib/elements/element-resolver.ts"), exports);


/***/ }),

/***/ "./lib/images/image-url-transformation-builder.factory.ts":
/*!****************************************************************!*\
  !*** ./lib/images/image-url-transformation-builder.factory.ts ***!
  \****************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.transformImageUrl = void 0;
const image_url_transformation_builder_1 = __webpack_require__(/*! ./image-url-transformation-builder */ "./lib/images/image-url-transformation-builder.ts");
function transformImageUrl(url) {
    return new image_url_transformation_builder_1.ImageUrlTransformationBuilder(url);
}
exports.transformImageUrl = transformImageUrl;


/***/ }),

/***/ "./lib/images/image-url-transformation-builder.ts":
/*!********************************************************!*\
  !*** ./lib/images/image-url-transformation-builder.ts ***!
  \********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ImageUrlTransformationBuilder = void 0;
const models_1 = __webpack_require__(/*! ../models */ "./lib/models/index.ts");
class ImageUrlTransformationBuilder {
    constructor(
    /** Image url */
    imageUrl) {
        this.imageUrl = imageUrl;
        this.queryParams = [];
        this.automaticFormatValue = 'format';
    }
    /**
     * Used to add custom parameters to existing query string
     * @param param Parameter (may or may not include value)
     */
    withCustomParam(param) {
        this.queryParams.push(new models_1.Parameters.CustomParameter(param));
        return this;
    }
    /**
     * The dpr transformation is used to serve correctly sized images for devices that expose a device pixel ratio.
     * @param dpr A required DPR value.
     */
    withDpr(dpr) {
        this.queryParams.push(new models_1.Parameters.QueryParameter('dpr', dpr.toString()));
        return this;
    }
    /**
     * Applies the crop transformation that removes pixels from an image outside the specified rectangle.
     * @param x Rectangle offset on the X-axis.
     * @param y Rectangle offset on the Y-axis.
     * @param width Rectangle width.
     * @param height Rectangle height.
     */
    withRectangleCrop(x, y, width, height) {
        this.queryParams.push(new models_1.Parameters.QueryParameter('rect', [x, y, width, height].join(',')));
        return this;
    }
    /**
     * Applies the crop transformation centered on the specified point.
     * @param x Focal point X coordinate.
     * @param y Focal point Y coordinate.
     * @param z Zoom of the transformation.
     */
    withFocalPointCrop(x, y, z) {
        this.withFitMode('crop');
        this.queryParams.push(new models_1.Parameters.QueryParameter('crop', 'focalpoint'));
        this.queryParams.push(new models_1.Parameters.QueryParameter('fp-x', x.toString()));
        this.queryParams.push(new models_1.Parameters.QueryParameter('fp-y', y.toString()));
        this.queryParams.push(new models_1.Parameters.QueryParameter('fp-z', z.toString()));
        return this;
    }
    /**
     * Enables WebP image support.
     * @param compression Specifies the lossy or lossless compression.
     */
    withAutomaticFormat(backupFormat) {
        this.queryParams.push(new models_1.Parameters.QueryParameter('auto', this.automaticFormatValue));
        if (backupFormat) {
            this.withFormat(backupFormat);
        }
        return this;
    }
    /**
     * The fit transformation controls how the output image is fit to its target dimensions after resizing.
     * @param fitMode Specifies the mode for the transformation.
     */
    withFitMode(fitMode) {
        this.queryParams.push(new models_1.Parameters.QueryParameter('fit', fitMode));
        return this;
    }
    /**
     * Specifies the compression mode for the WebP image transformations.
     * @param compression Specifies the lossy or lossless compression.
     */
    withCompression(compression) {
        this.queryParams.push(new models_1.Parameters.QueryParameter('lossless', compression === 'lossless' ? 'true' : 'false'));
        return this;
    }
    /**
     * Applies the quality parameter that enables control over the compression level for lossy file-formatted images.
     * @param quality The required quality of the image.
     */
    withQuality(quality) {
        this.queryParams.push(new models_1.Parameters.QueryParameter('q', quality.toString()));
        return this;
    }
    /**
     * The format transformation enables the source image to be converted (a.k.a., "transcoded") from
     * one encoded format to another. This is very useful when the source image has been saved in a sub-optimal
     * file format that hinders performance.
     * @param format Target image file type.
     */
    withFormat(format) {
        this.queryParams.push(new models_1.Parameters.QueryParameter('fm', format));
        return this;
    }
    /**
     * The height transformation enables dynamic height resizing based on pixels and percent values.
     * @param height A required image height.
     */
    withHeight(height) {
        this.queryParams.push(new models_1.Parameters.QueryParameter('h', height.toString()));
        return this;
    }
    /**
     * The width transformation enables dynamic width resizing based on pixels and percent values.
     * @param width A required image width.
     */
    withWidth(width) {
        this.queryParams.push(new models_1.Parameters.QueryParameter('w', width.toString()));
        return this;
    }
    /**
     * Gets params applied to image
     */
    getParams() {
        return this.queryParams;
    }
    /**
     * Gets query string part of the image URL
     */
    getQueryString() {
        let query = '';
        this.queryParams.forEach(filter => {
            if (query.indexOf('?') > -1) {
                query = query + '&' + filter.getParam();
            }
            else {
                query = query + '?' + filter.getParam();
            }
        });
        return query;
    }
    /**
     * Gets full transformed url to image with parameters
     */
    getUrl() {
        return this.imageUrl + this.getQueryString();
    }
}
exports.ImageUrlTransformationBuilder = ImageUrlTransformationBuilder;


/***/ }),

/***/ "./lib/images/image.models.ts":
/*!************************************!*\
  !*** ./lib/images/image.models.ts ***!
  \************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/images/index.ts":
/*!*****************************!*\
  !*** ./lib/images/index.ts ***!
  \*****************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./image-url-transformation-builder */ "./lib/images/image-url-transformation-builder.ts"), exports);
__exportStar(__webpack_require__(/*! ./image.models */ "./lib/images/image.models.ts"), exports);
__exportStar(__webpack_require__(/*! ./image-url-transformation-builder.factory */ "./lib/images/image-url-transformation-builder.factory.ts"), exports);


/***/ }),

/***/ "./lib/index.ts":
/*!**********************!*\
  !*** ./lib/index.ts ***!
  \**********************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
// Public API
__exportStar(__webpack_require__(/*! ./client */ "./lib/client/index.ts"), exports);
__exportStar(__webpack_require__(/*! ./config */ "./lib/config/index.ts"), exports);
__exportStar(__webpack_require__(/*! ./contracts */ "./lib/contracts/index.ts"), exports);
__exportStar(__webpack_require__(/*! ./elements */ "./lib/elements/index.ts"), exports);
__exportStar(__webpack_require__(/*! ./images */ "./lib/images/index.ts"), exports);
__exportStar(__webpack_require__(/*! ./mappers */ "./lib/mappers/index.ts"), exports);
__exportStar(__webpack_require__(/*! ./models */ "./lib/models/index.ts"), exports);
__exportStar(__webpack_require__(/*! ./query */ "./lib/query/index.ts"), exports);
__exportStar(__webpack_require__(/*! ./sdk-info.generated */ "./lib/sdk-info.generated.ts"), exports);
__exportStar(__webpack_require__(/*! ./services */ "./lib/services/index.ts"), exports);
__exportStar(__webpack_require__(/*! ./utilities */ "./lib/utilities/index.ts"), exports);


/***/ }),

/***/ "./lib/mappers/element.mapper.ts":
/*!***************************************!*\
  !*** ./lib/mappers/element.mapper.ts ***!
  \***************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ElementMapper = void 0;
const utilities_1 = __webpack_require__(/*! ../utilities */ "./lib/utilities/index.ts");
const elements_1 = __webpack_require__(/*! ../elements */ "./lib/elements/index.ts");
class ElementMapper {
    constructor(config) {
        this.config = config;
    }
    mapElements(data) {
        // return processed item to avoid infinite recursion
        const processedItem = data.processedItems[utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(data.dataToMap.item.system.codename)];
        if (processedItem) {
            // item was already resolved
            return {
                item: processedItem,
                processedItems: data.processedItems,
                preparedItems: data.preparedItems,
                processingStartedForCodenames: data.processingStartedForCodenames
            };
        }
        const preparedItem = data.preparedItems[utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(data.dataToMap.item.system.codename)];
        const itemInstance = preparedItem === null || preparedItem === void 0 ? void 0 : preparedItem.item;
        if (!itemInstance) {
            // item is not present in response
            return undefined;
        }
        // mapp elements
        const elementCodenames = Object.getOwnPropertyNames(data.dataToMap.rawItem.elements);
        for (const elementCodename of elementCodenames) {
            const elementWrapper = {
                system: data.dataToMap.item.system,
                rawElement: data.dataToMap.rawItem.elements[elementCodename],
                element: elementCodename
            };
            const mappedElement = this.mapElement({
                elementWrapper: elementWrapper,
                item: itemInstance,
                preparedItems: data.preparedItems,
                processingStartedForCodenames: data.processingStartedForCodenames,
                processedItems: data.processedItems
            });
            // set mapped elements
            itemInstance.elements[elementCodename] = mappedElement;
        }
        return {
            item: itemInstance,
            processedItems: data.processedItems,
            preparedItems: data.preparedItems,
            processingStartedForCodenames: data.processingStartedForCodenames
        };
    }
    mapElement(data) {
        const elementType = utilities_1.enumHelper.getEnumFromValue(elements_1.ElementType, data.elementWrapper.rawElement.type);
        if (elementType) {
            if (elementType === elements_1.ElementType.ModularContent) {
                return this.mapLinkedItemsElement({
                    elementWrapper: data.elementWrapper,
                    preparedItems: data.preparedItems,
                    processingStartedForCodenames: data.processingStartedForCodenames,
                    processedItems: data.processedItems
                });
            }
            if (elementType === elements_1.ElementType.Text) {
                return this.mapTextElement(data.elementWrapper);
            }
            if (elementType === elements_1.ElementType.Asset) {
                return this.mapAssetsElement(data.elementWrapper);
            }
            if (elementType === elements_1.ElementType.Number) {
                return this.mapNumberElement(data.elementWrapper);
            }
            if (elementType === elements_1.ElementType.MultipleChoice) {
                return this.mapMultipleChoiceElement(data.elementWrapper);
            }
            if (elementType === elements_1.ElementType.DateTime) {
                return this.mapDateTimeElement(data.elementWrapper);
            }
            if (elementType === elements_1.ElementType.RichText) {
                // add to parent items
                return this.mapRichTextElement(data.elementWrapper, data.processedItems, data.processingStartedForCodenames, data.preparedItems);
            }
            if (elementType === elements_1.ElementType.UrlSlug) {
                return this.mapUrlSlugElement(data.elementWrapper);
            }
            if (elementType === elements_1.ElementType.Taxonomy) {
                return this.mapTaxonomyElement(data.elementWrapper);
            }
            if (elementType === elements_1.ElementType.Custom) {
                return this.mapCustomElement(data.elementWrapper);
            }
        }
        console.warn(`Could not map element '${data.elementWrapper.rawElement.name}' of type '${data.elementWrapper.rawElement.type}'. Returning unknown element instead.`);
        return this.mapUnknowElement(data.elementWrapper);
    }
    mapRichTextElement(elementWrapper, processedItems, processingStartedForCodenames, preparedItems) {
        const rawElement = elementWrapper.rawElement;
        // get all linked items and linked items codenames nested in rich text
        const richTextLinkedItems = [];
        const richTextLinkedItemsCodenames = [];
        // The Kontent Delivery API is not guaranteed to return rich-text modular_content array items in the same order in which they appear inside the `value` property.
        // We extract the modular_content codenames in the rich-text value and sort the raw modular_content based on that order instead.
        const rawModularContentCodenamesMatches = rawElement.value.matchAll(/<object[^>]+data-codename="(?<codename>[a-z0-9_]*)".*?>/g);
        const rawModularContentCodenamesSorted = Array.from(rawModularContentCodenamesMatches).reduce((acc, match) => {
            if (match.groups && match.groups.codename) {
                acc.push(match.groups.codename);
            }
            return acc;
        }, []);
        const rawModularContentCodenames = [...rawElement.modular_content].sort(function (a, b) {
            return rawModularContentCodenamesSorted.indexOf(a) - rawModularContentCodenamesSorted.indexOf(b);
        });
        for (const codename of rawModularContentCodenames) {
            richTextLinkedItemsCodenames.push(codename);
            // get linked item and check if it exists (it might not be included in response due to 'Depth' parameter)
            const preparedData = preparedItems[codename];
            // first try to get existing item
            if (this.canMapLinkedItems()) {
                const existingLinkedItem = this.getOrSaveLinkedItemForElement(codename, rawElement, processedItems, processingStartedForCodenames, preparedItems);
                if (existingLinkedItem) {
                    // item was found, add it to linked items
                    richTextLinkedItems.push(existingLinkedItem);
                }
                else {
                    // item was not found or not yet resolved
                    if (preparedData) {
                        const mappedLinkedItemResult = this.mapElements({
                            dataToMap: preparedData,
                            preparedItems: preparedItems,
                            processingStartedForCodenames: processingStartedForCodenames,
                            processedItems: processedItems
                        });
                        // add mapped linked item to result
                        if (mappedLinkedItemResult) {
                            richTextLinkedItems.push(mappedLinkedItemResult.item);
                        }
                    }
                }
            }
        }
        // get rich text images
        const richTextImagesResult = this.getRichTextImages(rawElement.images);
        // extract and map links & images
        const links = this.mapRichTextLinks(rawElement.links);
        const images = richTextImagesResult.richTextImages;
        // replace asset urls in html
        const richTextHtml = this.getRichTextHtml(rawElement.value, richTextImagesResult.imageUrlRecords);
        return {
            images: images,
            linkedItemCodenames: richTextLinkedItemsCodenames,
            linkedItems: richTextLinkedItems,
            links: links,
            name: rawElement.name,
            type: elements_1.ElementType.RichText,
            value: richTextHtml
        };
    }
    mapDateTimeElement(elementWrapper) {
        var _a;
        const rawElement = elementWrapper.rawElement;
        return Object.assign(Object.assign({}, this.buildElement(elementWrapper, elements_1.ElementType.DateTime, () => rawElement.value)), { displayTimeZone: (_a = rawElement.display_timezone) !== null && _a !== void 0 ? _a : null });
    }
    mapMultipleChoiceElement(elementWrapper) {
        return this.buildElement(elementWrapper, elements_1.ElementType.MultipleChoice, () => elementWrapper.rawElement.value);
    }
    mapNumberElement(elementWrapper) {
        return this.buildElement(elementWrapper, elements_1.ElementType.Number, () => {
            if (elementWrapper.rawElement.value === 0) {
                return 0;
            }
            else if (elementWrapper.rawElement.value) {
                return +elementWrapper.rawElement.value;
            }
            return null;
        });
    }
    mapTextElement(elementWrapper) {
        return this.buildElement(elementWrapper, elements_1.ElementType.Text, () => elementWrapper.rawElement.value);
    }
    mapAssetsElement(elementWrapper) {
        return this.buildElement(elementWrapper, elements_1.ElementType.Asset, () => {
            var _a;
            const assetContracts = elementWrapper.rawElement.value;
            const assets = [];
            for (const assetContract of assetContracts) {
                let renditions = null;
                // get asset url (custom domain may be configured)
                const assetUrl = this.config.assetsDomain
                    ? utilities_1.deliveryUrlHelper.replaceAssetDomain(assetContract.url, this.config.assetsDomain)
                    : assetContract.url;
                if (assetContract.renditions) {
                    renditions = {};
                    for (const renditionPresetKey of Object.keys(assetContract.renditions)) {
                        const rendition = assetContract.renditions[renditionPresetKey];
                        renditions[renditionPresetKey] = Object.assign(Object.assign({}, rendition), { url: `${assetUrl}?${rendition.query}` // enhance rendition with absolute url
                         });
                    }
                }
                const renditionToBeApplied = (this.config.defaultRenditionPreset && (renditions === null || renditions === void 0 ? void 0 : renditions[this.config.defaultRenditionPreset])) || null;
                const finalUrl = (_a = renditionToBeApplied === null || renditionToBeApplied === void 0 ? void 0 : renditionToBeApplied.url) !== null && _a !== void 0 ? _a : assetUrl;
                const asset = Object.assign(Object.assign({}, assetContract), { url: finalUrl, // use custom url of asset which may contain custom domain and applied rendition
                    renditions });
                assets.push(asset);
            }
            return assets;
        });
    }
    mapTaxonomyElement(elementWrapper) {
        var _a;
        return Object.assign(Object.assign({}, this.buildElement(elementWrapper, elements_1.ElementType.Taxonomy, () => elementWrapper.rawElement.value)), { taxonomyGroup: (_a = elementWrapper.rawElement.taxonomy_group) !== null && _a !== void 0 ? _a : '' });
    }
    mapUnknowElement(elementWrapper) {
        return this.buildElement(elementWrapper, elements_1.ElementType.Unknown, () => elementWrapper.rawElement.value);
    }
    mapCustomElement(elementWrapper) {
        // try to find element resolver
        if (this.config.elementResolver) {
            const elementResolverValue = this.config.elementResolver(elementWrapper);
            if (elementResolverValue) {
                return this.buildElement(elementWrapper, elements_1.ElementType.Custom, () => elementResolverValue);
            }
        }
        return this.buildElement(elementWrapper, elements_1.ElementType.Custom, () => elementWrapper.rawElement.value);
    }
    mapUrlSlugElement(elementWrapper) {
        return this.buildElement(elementWrapper, elements_1.ElementType.UrlSlug, () => elementWrapper.rawElement.value);
    }
    mapLinkedItemsElement(data) {
        // prepare linked items
        const linkedItems = [];
        // value = array of item codenames
        const linkedItemCodenames = data.elementWrapper.rawElement.value;
        for (const codename of linkedItemCodenames) {
            if (this.canMapLinkedItems()) {
                const linkedItem = this.getOrSaveLinkedItemForElement(codename, data.elementWrapper.rawElement, data.processedItems, data.processingStartedForCodenames, data.preparedItems);
                if (linkedItem) {
                    // add item to result
                    linkedItems.push(linkedItem);
                }
            }
        }
        return Object.assign(Object.assign({}, this.buildElement(data.elementWrapper, elements_1.ElementType.ModularContent, () => linkedItemCodenames)), { linkedItems: linkedItems });
    }
    getOrSaveLinkedItemForElement(codename, element, processedItems, mappingStartedForCodenames, preparedItems) {
        const escapedCodename = utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(codename);
        // first check if item was already resolved and return it if it was
        const processedItem = processedItems[escapedCodename];
        if (processedItem) {
            // item was already resolved
            return processedItem;
        }
        const preparedItem = preparedItems[escapedCodename];
        if (mappingStartedForCodenames.includes(codename)) {
            return preparedItem === null || preparedItem === void 0 ? void 0 : preparedItem.item;
        }
        mappingStartedForCodenames.push(codename);
        // throw error if item is not in response and errors are not skipped
        if (!preparedItem) {
            return undefined;
        }
        let mappedLinkedItem;
        // original resolving if item is still undefined
        const mappedLinkedItemResult = this.mapElements({
            dataToMap: preparedItem,
            preparedItems: preparedItems,
            processingStartedForCodenames: mappingStartedForCodenames,
            processedItems: processedItems
        });
        if (mappedLinkedItemResult) {
            mappedLinkedItem = mappedLinkedItemResult.item;
            // add to processed items
            processedItems[escapedCodename] = mappedLinkedItem;
        }
        return mappedLinkedItem;
    }
    mapRichTextLinks(linksJson) {
        const links = [];
        for (const linkId of Object.keys(linksJson)) {
            const linkRaw = linksJson[linkId];
            links.push({
                codename: linkRaw.codename,
                linkId: linkId,
                urlSlug: linkRaw.url_slug,
                type: linkRaw.type
            });
        }
        return links;
    }
    getRichTextHtml(richTextHtml, richTextImageRecords) {
        for (const richTextImageRecord of richTextImageRecords) {
            // replace rich text image url if it differs
            if (richTextImageRecord.newUrl !== richTextImageRecord.originalUrl) {
                richTextHtml = richTextHtml.replace(new RegExp(richTextImageRecord.originalUrl, 'g'), richTextImageRecord.newUrl);
            }
        }
        return richTextHtml;
    }
    getRichTextImages(imagesJson) {
        var _a, _b, _c;
        const images = [];
        const imageUrlRecords = [];
        for (const imageId of Object.keys(imagesJson)) {
            const imageRaw = imagesJson[imageId];
            // image may contain custom asset domain
            const imageUrl = this.config.assetsDomain
                ? utilities_1.deliveryUrlHelper.replaceAssetDomain(imageRaw.url, this.config.assetsDomain)
                : imageRaw.url;
            images.push({
                description: (_a = imageRaw.description) !== null && _a !== void 0 ? _a : null,
                imageId: imageRaw.image_id,
                url: imageUrl,
                height: (_b = imageRaw.height) !== null && _b !== void 0 ? _b : null,
                width: (_c = imageRaw.width) !== null && _c !== void 0 ? _c : null
            });
            imageUrlRecords.push({
                originalUrl: imageRaw.url,
                newUrl: imageUrl
            });
        }
        return {
            imageUrlRecords: imageUrlRecords,
            richTextImages: images
        };
    }
    buildElement(elementWrapper, type, valueFactory) {
        return {
            name: elementWrapper.rawElement.name,
            type: type,
            value: valueFactory()
        };
    }
    canMapLinkedItems() {
        if (!this.config.linkedItemsReferenceHandler) {
            return true;
        }
        return this.config.linkedItemsReferenceHandler === 'map';
    }
}
exports.ElementMapper = ElementMapper;


/***/ }),

/***/ "./lib/mappers/generic-element.mapper.ts":
/*!***********************************************!*\
  !*** ./lib/mappers/generic-element.mapper.ts ***!
  \***********************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.GenericElementMapper = void 0;
class GenericElementMapper {
    mapElement(response) {
        if (!response) {
            throw Error(`Invalid response for mapping element`);
        }
        const element = response;
        return {
            codename: element.codename,
            name: element.name,
            type: element.type,
            options: element.options ? element.options : [],
            taxonomyGroup: element.taxonomy_group
        };
    }
}
exports.GenericElementMapper = GenericElementMapper;


/***/ }),

/***/ "./lib/mappers/index.ts":
/*!******************************!*\
  !*** ./lib/mappers/index.ts ***!
  \******************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./element.mapper */ "./lib/mappers/element.mapper.ts"), exports);
__exportStar(__webpack_require__(/*! ./item.mapper */ "./lib/mappers/item.mapper.ts"), exports);
__exportStar(__webpack_require__(/*! ./taxonomy.mapper */ "./lib/mappers/taxonomy.mapper.ts"), exports);
__exportStar(__webpack_require__(/*! ./type.mapper */ "./lib/mappers/type.mapper.ts"), exports);
__exportStar(__webpack_require__(/*! ./generic-element.mapper */ "./lib/mappers/generic-element.mapper.ts"), exports);
__exportStar(__webpack_require__(/*! ./language.mapper */ "./lib/mappers/language.mapper.ts"), exports);
__exportStar(__webpack_require__(/*! ./used-in.mapper */ "./lib/mappers/used-in.mapper.ts"), exports);
__exportStar(__webpack_require__(/*! ./sync.mapper */ "./lib/mappers/sync.mapper.ts"), exports);


/***/ }),

/***/ "./lib/mappers/item.mapper.ts":
/*!************************************!*\
  !*** ./lib/mappers/item.mapper.ts ***!
  \************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ItemMapper = void 0;
const utilities_1 = __webpack_require__(/*! ../utilities */ "./lib/utilities/index.ts");
const element_mapper_1 = __webpack_require__(/*! ./element.mapper */ "./lib/mappers/element.mapper.ts");
class ItemMapper {
    constructor(config) {
        this.config = config;
        this.elementMapper = new element_mapper_1.ElementMapper(config);
    }
    /**
     * Maps single item to its proper strongly typed model from the given response
     * @param response Response used to map the item
     * @param queryConfig Query configuration
     */
    mapSingleItemFromResponse(response) {
        const mapResult = this.mapItems({
            mainItems: [response.item],
            linkedItems: Object.values(response.modular_content)
        });
        return {
            item: mapResult.items[0],
            linkedItems: mapResult.linkedItems
        };
    }
    /**
     * Maps multiple items to their strongly typed model from the given  response
     * @param response Response used to map the item
     * @param queryConfig Query configuration
     */
    mapMultipleItemsFromResponse(response) {
        const mapResult = this.mapItems({
            mainItems: response.items,
            linkedItems: Object.values(response.modular_content)
        });
        return mapResult;
    }
    /**
     * Maps item contracts to full models
     */
    mapItems(data) {
        const processedItems = {};
        const preparedItems = {};
        const processingStartedForCodenames = [];
        const mappedMainItems = [];
        const mappedLinkedItems = {};
        const itemsToResolve = [...data.mainItems, ...data.linkedItems];
        // first prepare reference for all items
        for (const item of itemsToResolve) {
            preparedItems[utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(item.system.codename)] = {
                item: this.createContentItem(item),
                rawItem: item
            };
        }
        // then resolve main items
        for (const item of data.mainItems) {
            const itemResult = this.mapItem({
                item: preparedItems[utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(item.system.codename)],
                processedItems: processedItems,
                preparedItems: preparedItems,
                processingStartedForCodenames: processingStartedForCodenames
            });
            mappedMainItems.push(itemResult.item);
        }
        // and linked items
        for (const item of data.linkedItems) {
            const itemResult = this.mapItem({
                item: preparedItems[utilities_1.codenameHelper.escapeCodenameInCodenameIndexer(item.system.codename)],
                processedItems: processedItems,
                preparedItems: preparedItems,
                processingStartedForCodenames: processingStartedForCodenames
            });
            mappedLinkedItems[item.system.codename] = itemResult.item;
        }
        return {
            items: mappedMainItems,
            linkedItems: mappedLinkedItems
        };
    }
    /**
     * Maps item contract to full model
     */
    mapItem(data) {
        if (!data.item) {
            throw Error(`Could not map item because its undefined`);
        }
        const result = this.elementMapper.mapElements({
            dataToMap: data.item,
            preparedItems: data.preparedItems,
            processingStartedForCodenames: [],
            processedItems: data.processedItems
        });
        if (!result) {
            throw Error(`Mapping of content item '${data.item.item.system.codename}' failed`);
        }
        return {
            item: result.item,
            processedItems: result.processedItems,
            preparedItems: result.preparedItems,
            processingStartedForCodenames: result.processingStartedForCodenames
        };
    }
    createContentItem(item) {
        var _a, _b;
        const contentItem = {
            elements: {},
            system: {
                codename: item.system.codename,
                collection: item.system.collection,
                id: item.system.id,
                language: item.system.language,
                lastModified: item.system.last_modified,
                name: item.system.name,
                sitemapLocations: item.system.sitemap_locations,
                type: item.system.type,
                workflowStep: (_a = item.system.workflow_step) !== null && _a !== void 0 ? _a : null,
                workflow: (_b = item.system.workflow) !== null && _b !== void 0 ? _b : null
            }
        };
        return contentItem;
    }
}
exports.ItemMapper = ItemMapper;


/***/ }),

/***/ "./lib/mappers/language.mapper.ts":
/*!****************************************!*\
  !*** ./lib/mappers/language.mapper.ts ***!
  \****************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.LanguageMapper = void 0;
class LanguageMapper {
    mapMultipleLanguages(response) {
        return response.languages.map((language) => {
            return this.mapLanguage(language);
        });
    }
    mapLanguage(language) {
        if (!language) {
            throw Error(`Cannot map language`);
        }
        return {
            system: {
                codename: language.system.codename,
                id: language.system.id,
                name: language.system.name
            }
        };
    }
}
exports.LanguageMapper = LanguageMapper;


/***/ }),

/***/ "./lib/mappers/sync.mapper.ts":
/*!************************************!*\
  !*** ./lib/mappers/sync.mapper.ts ***!
  \************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SyncMapper = void 0;
class SyncMapper {
    mapContentItemDelta(itemDeltaContract) {
        var _a, _b;
        const systemContract = itemDeltaContract.data.system;
        const elements = itemDeltaContract.data.elements
            ? itemDeltaContract.data.elements
            : {};
        return {
            changeType: itemDeltaContract.change_type,
            timestamp: itemDeltaContract.timestamp,
            data: {
                elements: elements,
                system: {
                    codename: systemContract.codename,
                    collection: systemContract.collection,
                    id: systemContract.id,
                    language: systemContract.language,
                    lastModified: systemContract.last_modified,
                    name: systemContract.name,
                    sitemapLocations: systemContract.sitemap_locations,
                    type: systemContract.type,
                    workflowStep: (_a = systemContract.workflow_step) !== null && _a !== void 0 ? _a : null,
                    workflow: (_b = systemContract.workflow) !== null && _b !== void 0 ? _b : null
                }
            }
        };
    }
}
exports.SyncMapper = SyncMapper;


/***/ }),

/***/ "./lib/mappers/taxonomy.mapper.ts":
/*!****************************************!*\
  !*** ./lib/mappers/taxonomy.mapper.ts ***!
  \****************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.TaxonomyMapper = void 0;
class TaxonomyMapper {
    mapTaxonomy(taxonomySystem, taxonomyTerms) {
        if (!taxonomySystem) {
            throw Error(`Cannot map taxonomy due to missing 'system' property`);
        }
        if (!taxonomyTerms) {
            throw Error(`Cannot map taxonomy due to missing 'terms' property`);
        }
        if (!Array.isArray(taxonomyTerms)) {
            throw Error(`Cannot map terms because no terms array was provided`);
        }
        const mappedSystemAttributes = {
            name: taxonomySystem.name,
            codename: taxonomySystem.codename,
            id: taxonomySystem.id,
            lastModified: taxonomySystem.last_modified
        };
        const mappedTerms = this.mapTaxonomyTerms(taxonomyTerms);
        return {
            system: mappedSystemAttributes,
            terms: mappedTerms
        };
    }
    mapTaxonomies(taxonomies) {
        if (!taxonomies) {
            throw Error(`Cannot map taxonomy due to missing 'taxonomies' property`);
        }
        if (!Array.isArray(taxonomies)) {
            throw Error(`Cannot map taxonomies because the 'taxonomies' property is not an array `);
        }
        const mappedTaxonomies = [];
        taxonomies.forEach((taxonomy) => {
            mappedTaxonomies.push(this.mapTaxonomy(taxonomy.system, taxonomy.terms));
        });
        return mappedTaxonomies;
    }
    /**
     * Recursively map array of taxonomy terms
     * @param termsArray Terms array to map
     */
    mapTaxonomyTerms(termsArray) {
        if (termsArray.length === 0) {
            return [];
        }
        const mappedTermsArray = [];
        termsArray.forEach((terms) => {
            const mappedTerms = {
                codename: terms.codename,
                name: terms.name,
                terms: this.mapTaxonomyTerms(terms.terms)
            };
            mappedTermsArray.push(mappedTerms);
        });
        return mappedTermsArray;
    }
}
exports.TaxonomyMapper = TaxonomyMapper;


/***/ }),

/***/ "./lib/mappers/type.mapper.ts":
/*!************************************!*\
  !*** ./lib/mappers/type.mapper.ts ***!
  \************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.TypeMapper = void 0;
class TypeMapper {
    mapSingleType(response) {
        return this.mapType(response);
    }
    mapMultipleTypes(response) {
        return response.types.map((type) => {
            return this.mapType(type);
        });
    }
    mapType(type) {
        if (!type) {
            throw Error(`Cannot map type`);
        }
        if (!type.elements) {
            throw Error(`Cannot map type elements`);
        }
        const system = {
            codename: type.system.codename,
            id: type.system.id,
            name: type.system.name,
            lastModified: type.system.last_modified
        };
        const elements = [];
        const elementNames = Object.getOwnPropertyNames(type.elements);
        elementNames.forEach((elementName) => {
            const typeElement = type.elements[elementName];
            if (!typeElement) {
                throw Error(`Cannot find element '${elementName}' on type '${type.system.codename}'`);
            }
            // use json property as a codename of the type element
            const elementCodename = elementName;
            // extra properties for certain element types
            const options = [];
            // some elements can contain options
            const rawOptions = typeElement.options;
            if (rawOptions) {
                if (!Array.isArray(rawOptions)) {
                    throw Error(`Content type 'options' property has to be an array`);
                }
                rawOptions.forEach((rawOption) => {
                    options.push({
                        codename: rawOption.codename,
                        name: rawOption.name
                    });
                });
            }
            elements.push({
                codename: elementCodename,
                taxonomyGroup: typeElement.taxonomy_group,
                options: options,
                name: typeElement.name,
                type: typeElement.type
            });
        });
        return {
            elements: elements,
            system: system
        };
    }
}
exports.TypeMapper = TypeMapper;


/***/ }),

/***/ "./lib/mappers/used-in.mapper.ts":
/*!***************************************!*\
  !*** ./lib/mappers/used-in.mapper.ts ***!
  \***************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.UsedInMapper = void 0;
class UsedInMapper {
    mapUsedInItem(response) {
        return {
            system: {
                id: response.system.id,
                name: response.system.name,
                codename: response.system.codename,
                language: response.system.language,
                type: response.system.type,
                collection: response.system.collection,
                workflow: response.system.workflow,
                workflowStep: response.system.workflow_step,
                lastModified: response.system.last_modified
            }
        };
    }
}
exports.UsedInMapper = UsedInMapper;


/***/ }),

/***/ "./lib/models/common/base-responses.ts":
/*!*********************************************!*\
  !*** ./lib/models/common/base-responses.ts ***!
  \*********************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/models/common/common-models.ts":
/*!********************************************!*\
  !*** ./lib/models/common/common-models.ts ***!
  \********************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.DeliveryError = void 0;
class DeliveryError {
    constructor(data) {
        this.message = data.message;
        this.requestId = data.requestId;
        this.errorCode = data.errorCode;
        this.specificCode = data.specificCode;
    }
}
exports.DeliveryError = DeliveryError;


/***/ }),

/***/ "./lib/models/common/filters.ts":
/*!**************************************!*\
  !*** ./lib/models/common/filters.ts ***!
  \**************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Filters = void 0;
var Filters;
(function (Filters) {
    const valueSeparator = ',';
    const defaultValue = '';
    const getParamValueForSystemFilter = (param) => {
        if (!param) {
            return defaultValue;
        }
        if (Array.isArray(param)) {
            let value = '';
            // use [in] filter
            for (let i = 0; i < param.length; i++) {
                value = value + param[i].toString();
                if (i !== param.length - 1) {
                    // append separator if its not last item
                    value = value + valueSeparator;
                }
            }
            return value;
        }
        // single param was given
        return param.toString();
    };
    class TypeFilter {
        constructor(type) {
            this.type = type;
        }
        getParam() {
            if (Array.isArray(this.type)) {
                // multiple types
                return `system.type[in]=${getParamValueForSystemFilter(this.type)}`;
            }
            // single type
            return `system.type=${getParamValueForSystemFilter(this.type)}`;
        }
    }
    Filters.TypeFilter = TypeFilter;
    class CollectionFilter {
        constructor(collection) {
            this.collection = collection;
        }
        getParam() {
            if (Array.isArray(this.collection)) {
                // multiple collections
                return `system.collection[in]=${getParamValueForSystemFilter(this.collection)}`;
            }
            // single collection
            return `system.collection=${getParamValueForSystemFilter(this.collection)}`;
        }
    }
    Filters.CollectionFilter = CollectionFilter;
    class EmptyFilter {
        constructor(element) {
            this.element = element;
        }
        getParam() {
            return `${this.element.trim()}[empty]`;
        }
    }
    Filters.EmptyFilter = EmptyFilter;
    class NotEmptyFilter {
        constructor(element) {
            this.element = element;
        }
        getParam() {
            return `${this.element.trim()}[nempty]`;
        }
    }
    Filters.NotEmptyFilter = NotEmptyFilter;
    class EqualsFilter {
        constructor(element, value) {
            this.element = element;
            this.value = value;
        }
        getParam() {
            return `${this.element.trim()}[eq]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.value) {
                return defaultValue;
            }
            return this.value;
        }
    }
    Filters.EqualsFilter = EqualsFilter;
    class NotEqualsFilter {
        constructor(element, value) {
            this.element = element;
            this.value = value;
        }
        getParam() {
            return `${this.element.trim()}[neq]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.value) {
                return defaultValue;
            }
            return this.value;
        }
    }
    Filters.NotEqualsFilter = NotEqualsFilter;
    class AllFilter {
        constructor(element, values) {
            this.element = element;
            this.values = values;
        }
        getParam() {
            return `${this.element.trim()}[all]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.values || !Array.isArray(this.values)) {
                return defaultValue;
            }
            return this.values.map((m) => m.trim()).join(',');
        }
    }
    Filters.AllFilter = AllFilter;
    class AnyFilter {
        constructor(element, values) {
            this.element = element;
            this.values = values;
        }
        getParam() {
            return `${this.element.trim()}[any]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.values || !Array.isArray(this.values)) {
                return defaultValue;
            }
            return this.values.map((m) => m.trim()).join(',');
        }
    }
    Filters.AnyFilter = AnyFilter;
    class ContainsFilter {
        constructor(element, values) {
            this.element = element;
            this.values = values;
        }
        getParam() {
            return `${this.element.trim()}[contains]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.values || !Array.isArray(this.values)) {
                return defaultValue;
            }
            return this.values.map((m) => m.trim()).join(',');
        }
    }
    Filters.ContainsFilter = ContainsFilter;
    class GreaterThanFilter {
        constructor(element, value) {
            this.element = element;
            this.value = value;
        }
        getParam() {
            return `${this.element.trim()}[gt]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.value) {
                return defaultValue;
            }
            return this.value;
        }
    }
    Filters.GreaterThanFilter = GreaterThanFilter;
    class GreaterThanOrEqualFilter {
        constructor(element, value) {
            this.element = element;
            this.value = value;
        }
        getParam() {
            return `${this.element.trim()}[gte]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.value) {
                return defaultValue;
            }
            return this.value;
        }
    }
    Filters.GreaterThanOrEqualFilter = GreaterThanOrEqualFilter;
    class InFilter {
        constructor(element, values) {
            this.element = element;
            this.values = values;
        }
        getParam() {
            return `${this.element.trim()}[in]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.values || !Array.isArray(this.values)) {
                return defaultValue;
            }
            return this.values
                .map((m) => {
                return m.trim();
            })
                .join(',');
        }
    }
    Filters.InFilter = InFilter;
    class NotInFilter {
        constructor(element, values) {
            this.element = element;
            this.values = values;
        }
        getParam() {
            return `${this.element.trim()}[nin]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.values || !Array.isArray(this.values)) {
                return defaultValue;
            }
            return this.values
                .map((m) => {
                return m.trim();
            })
                .join(',');
        }
    }
    Filters.NotInFilter = NotInFilter;
    class LessThanFilter {
        constructor(element, value) {
            this.element = element;
            this.value = value;
        }
        getParam() {
            return `${this.element.trim()}[lt]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.value) {
                return defaultValue;
            }
            return this.value;
        }
    }
    Filters.LessThanFilter = LessThanFilter;
    class LessThanOrEqualFilter {
        constructor(element, value) {
            this.element = element;
            this.value = value;
        }
        getParam() {
            return `${this.element.trim()}[lte]=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.value) {
                return defaultValue;
            }
            return this.value;
        }
    }
    Filters.LessThanOrEqualFilter = LessThanOrEqualFilter;
    class RangeFilter {
        constructor(element, lowerValue, higherValue) {
            this.element = element;
            this.lowerValue = lowerValue;
            this.higherValue = higherValue;
        }
        getParam() {
            return `${this.element.trim()}[range]=${this.getParamValue()}`;
        }
        getParamValue() {
            let lowerVal = defaultValue;
            let higherVal = defaultValue;
            if (this.lowerValue) {
                lowerVal = this.lowerValue.toString();
            }
            if (this.higherValue) {
                higherVal = this.higherValue.toString();
            }
            return `${lowerVal},${higherVal}`;
        }
    }
    Filters.RangeFilter = RangeFilter;
})(Filters || (exports.Filters = Filters = {}));


/***/ }),

/***/ "./lib/models/common/headers.ts":
/*!**************************************!*\
  !*** ./lib/models/common/headers.ts ***!
  \**************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.staleContentHeaderName = exports.sdkVersionHeader = exports.waitForLoadingNewContentHeader = exports.continuationTokenHeaderName = void 0;
exports.continuationTokenHeaderName = 'X-Continuation';
exports.waitForLoadingNewContentHeader = 'X-KC-Wait-For-Loading-New-Content';
exports.sdkVersionHeader = 'X-KC-SDKID';
exports.staleContentHeaderName = 'X-Stale-Content';


/***/ }),

/***/ "./lib/models/common/index.ts":
/*!************************************!*\
  !*** ./lib/models/common/index.ts ***!
  \************************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./filters */ "./lib/models/common/filters.ts"), exports);
__exportStar(__webpack_require__(/*! ./pagination.class */ "./lib/models/common/pagination.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./parameters */ "./lib/models/common/parameters.ts"), exports);
__exportStar(__webpack_require__(/*! ./sort-order */ "./lib/models/common/sort-order.ts"), exports);
__exportStar(__webpack_require__(/*! ./common-models */ "./lib/models/common/common-models.ts"), exports);
__exportStar(__webpack_require__(/*! ./base-responses */ "./lib/models/common/base-responses.ts"), exports);
__exportStar(__webpack_require__(/*! ./headers */ "./lib/models/common/headers.ts"), exports);


/***/ }),

/***/ "./lib/models/common/pagination.class.ts":
/*!***********************************************!*\
  !*** ./lib/models/common/pagination.class.ts ***!
  \***********************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/models/common/parameters.ts":
/*!*****************************************!*\
  !*** ./lib/models/common/parameters.ts ***!
  \*****************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Parameters = void 0;
var Parameters;
(function (Parameters) {
    const defaultValue = '';
    class QueryParameter {
        /**
         * Parameter
         * @constructor
         * @param {string} name - Name of the parameter
         * @param {string} value - Value of the parameter
         */
        constructor(name, value) {
            this.name = name;
            this.value = value;
            if (!name) {
                throw Error(`Name of the parameter is not specified`);
            }
        }
        getParam() {
            return `${this.name}=${this.value}`;
        }
    }
    Parameters.QueryParameter = QueryParameter;
    class ElementsParameter {
        /**
         * Sets elements (projection) so that only certain elements from a content item are returned
         * @constructor
         * @param {string[]} elementCodenames - Array of element codenames to include in response.
         */
        constructor(elementCodenames) {
            this.elementCodenames = elementCodenames;
        }
        getParam() {
            return `elements=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.elementCodenames) {
                return defaultValue;
            }
            return this.elementCodenames
                .map((m) => {
                if (!m) {
                    throw Error(`Codename of 'ElementsParameter' cannot be null or empty`);
                }
                return m.trim();
            })
                .join(',');
        }
    }
    Parameters.ElementsParameter = ElementsParameter;
    class ExcludeElementsParameter {
        /**
         * Sets elements (projection) so that only certain elements are excluded from API response
         * @constructor
         * @param {string[]} elementCodenames - Array of element codenames to exclude from API response.
         */
        constructor(elementCodenames) {
            this.elementCodenames = elementCodenames;
        }
        getParam() {
            return `excludeElements=${this.getParamValue()}`;
        }
        getParamValue() {
            if (!this.elementCodenames) {
                return defaultValue;
            }
            return this.elementCodenames
                .map((m) => {
                if (!m) {
                    throw Error(`Codename of 'ExcludeElementsParameter' cannot be null or empty`);
                }
                return m.trim();
            })
                .join(',');
        }
    }
    Parameters.ExcludeElementsParameter = ExcludeElementsParameter;
    class LimitParameter {
        /**
         * Limits the number of items that are returned from response
         * @constructor
         * @param {number} limit - Number of elements that will be returned
         */
        constructor(limit) {
            this.limit = limit;
            if (limit <= 0) {
                throw Error(`'LimitParameter' must specify a positive integer`);
            }
        }
        getParam() {
            return `limit=${this.limit}`;
        }
    }
    Parameters.LimitParameter = LimitParameter;
    class IncludeTotalCountParameter {
        /**
         * Adds 'includeTotalCount' query parameter to query
         * @constructor
         */
        constructor() { }
        getParam() {
            return `includeTotalCount=true`;
        }
    }
    Parameters.IncludeTotalCountParameter = IncludeTotalCountParameter;
    class SkipParameter {
        /**
         * Configures response to skip certain number of items
         * @constructor
         * @param {number} skip - Number of content items that will be skipped
         */
        constructor(skip) {
            this.skip = skip;
            if (skip < 0) {
                throw Error(`'SkipParameter' must specify a positive integer number or zero."`);
            }
        }
        getParam() {
            return `skip=${this.skip}`;
        }
    }
    Parameters.SkipParameter = SkipParameter;
    class OrderParameter {
        /**
         * Sorts the response based on given element.
         * @constructor
         * @param {string} element - Element that will be used for sorting (can be both elements.<elementname> or system.<elementname>)
         * @param {SortOrder} sortOrder - Order type (desc/asc). Defaults to 'asc' if SortOrder is null or invalid.
         */
        constructor(element, sortOrder) {
            this.element = element;
            this.sortOrder = sortOrder;
            if (!element) {
                throw Error(`Element specified in 'OrderParameter' is null or empty`);
            }
        }
        getParam() {
            return `order=${this.getParamValue()}`;
        }
        getParamValue() {
            return `${this.element.trim()}[${this.sortOrder}]`;
        }
    }
    Parameters.OrderParameter = OrderParameter;
    class CustomParameter {
        constructor(param) {
            this.param = param;
        }
        getParam() {
            return this.param;
        }
    }
    Parameters.CustomParameter = CustomParameter;
    class DepthParameter {
        /**
         * Configures the depth of the response. Content items might reference another 'linked items' using the Linked items element.
         * Recursively, these linked items can reference another linked items.
         * By default, only one level of linked content is returned.
         * @constructor
         * @param {number} depth - Depth fo the response
         */
        constructor(depth) {
            this.depth = depth;
            if (depth < 0) {
                throw Error(`'DepthParameter' must specify a positive integer or zero`);
            }
        }
        getParam() {
            return `depth=${this.depth}`;
        }
    }
    Parameters.DepthParameter = DepthParameter;
    class LanguageParameter {
        /**
         * Specifies language version to fetch
         * @constructor
         * @param {string} languageCodename - Codename of the language
         */
        constructor(languageCodename) {
            this.languageCodename = languageCodename;
        }
        getParam() {
            return `language=${this.languageCodename}`;
        }
    }
    Parameters.LanguageParameter = LanguageParameter;
})(Parameters || (exports.Parameters = Parameters = {}));


/***/ }),

/***/ "./lib/models/common/sort-order.ts":
/*!*****************************************!*\
  !*** ./lib/models/common/sort-order.ts ***!
  \*****************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/models/content-type-models.ts":
/*!*******************************************!*\
  !*** ./lib/models/content-type-models.ts ***!
  \*******************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/models/element-models.ts":
/*!**************************************!*\
  !*** ./lib/models/element-models.ts ***!
  \**************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/models/index.ts":
/*!*****************************!*\
  !*** ./lib/models/index.ts ***!
  \*****************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./common */ "./lib/models/common/index.ts"), exports);
__exportStar(__webpack_require__(/*! ./element-models */ "./lib/models/element-models.ts"), exports);
__exportStar(__webpack_require__(/*! ./item-models */ "./lib/models/item-models.ts"), exports);
__exportStar(__webpack_require__(/*! ./taxonomy-models */ "./lib/models/taxonomy-models.ts"), exports);
__exportStar(__webpack_require__(/*! ./content-type-models */ "./lib/models/content-type-models.ts"), exports);
__exportStar(__webpack_require__(/*! ./language-models */ "./lib/models/language-models.ts"), exports);
__exportStar(__webpack_require__(/*! ./responses */ "./lib/models/responses.ts"), exports);
__exportStar(__webpack_require__(/*! ./sync-models */ "./lib/models/sync-models.ts"), exports);


/***/ }),

/***/ "./lib/models/item-models.ts":
/*!***********************************!*\
  !*** ./lib/models/item-models.ts ***!
  \***********************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/models/language-models.ts":
/*!***************************************!*\
  !*** ./lib/models/language-models.ts ***!
  \***************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/models/responses.ts":
/*!*********************************!*\
  !*** ./lib/models/responses.ts ***!
  \*********************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/models/sync-models.ts":
/*!***********************************!*\
  !*** ./lib/models/sync-models.ts ***!
  \***********************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/models/taxonomy-models.ts":
/*!***************************************!*\
  !*** ./lib/models/taxonomy-models.ts ***!
  \***************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));


/***/ }),

/***/ "./lib/query/common/base-item-listing-query.class.ts":
/*!***********************************************************!*\
  !*** ./lib/query/common/base-item-listing-query.class.ts ***!
  \***********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.BaseItemListingQuery = void 0;
const elements_1 = __webpack_require__(/*! ../../elements */ "./lib/elements/index.ts");
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
const base_listing_query_class_1 = __webpack_require__(/*! ./base-listing-query.class */ "./lib/query/common/base-listing-query.class.ts");
class BaseItemListingQuery extends base_listing_query_class_1.BaseListingQuery {
    constructor(config, queryService) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
    }
    /**
     * Empty filter condition
     * @param element Element with empty value
     */
    emptyFilter(element) {
        this.parameters.push(new models_1.Filters.EmptyFilter(element));
        return this;
    }
    /**
     * Not empty filter condition
     * @param element Element with non-empty value
     */
    notEmptyFilter(element) {
        this.parameters.push(new models_1.Filters.NotEmptyFilter(element));
        return this;
    }
    /**
     * Equals filter condition
     * @param element Element to filter. Example: 'elements.movie'
     * @param value Value to match. Example: 'Kingsman'
     */
    equalsFilter(element, value) {
        this.parameters.push(new models_1.Filters.EqualsFilter(element, value));
        return this;
    }
    /**
     * Not equals filter condition
     * @param element Element to filter. Example: 'elements.movie'
     * @param value Value to match. Example: 'Kingsman'
     */
    notEqualsFilter(element, value) {
        this.parameters.push(new models_1.Filters.NotEqualsFilter(element, value));
        return this;
    }
    /**
     * All filter
     * @param element Element to filter.
     * @param values Values
     */
    allFilter(element, values) {
        this.parameters.push(new models_1.Filters.AllFilter(element, values));
        return this;
    }
    /**
     * Any filter
     * @param element Element to filter.
     * @param values Values
     */
    anyFilter(element, values) {
        this.parameters.push(new models_1.Filters.AnyFilter(element, values));
        return this;
    }
    /**
     * Contains filter
     * @param element Element to filter.
     * @param values Values
     */
    containsFilter(element, values) {
        this.parameters.push(new models_1.Filters.ContainsFilter(element, values));
        return this;
    }
    /**
     * Greater then filter
     * @param element Element to filter.
     * @param value Value
     */
    greaterThanFilter(element, value) {
        this.parameters.push(new models_1.Filters.GreaterThanFilter(element, value));
        return this;
    }
    /**
     * Greater then or equals filter
     * @param element Element to filter.
     * @param value Value
     */
    greaterThanOrEqualFilter(element, value) {
        this.parameters.push(new models_1.Filters.GreaterThanOrEqualFilter(element, value));
        return this;
    }
    /**
     * In filter
     * @param element Element to filter.
     * @param values Values
     */
    inFilter(element, values) {
        this.parameters.push(new models_1.Filters.InFilter(element, values));
        return this;
    }
    /**
     * Not in filter
     * @param element Element to filter.
     * @param values Values
     */
    notInFilter(element, values) {
        this.parameters.push(new models_1.Filters.NotInFilter(element, values));
        return this;
    }
    /**
     * Less then filter
     * @param element Element to filter.
     * @param value Value
     */
    lessThanFilter(element, value) {
        this.parameters.push(new models_1.Filters.LessThanFilter(element, value));
        return this;
    }
    /**
     * @param element Element to filter.
     * @param value Value
     */
    lessThanOrEqualFilter(element, value) {
        this.parameters.push(new models_1.Filters.LessThanOrEqualFilter(element, value));
        return this;
    }
    /**
     * @param element Element to filter.
     * @param lowerValue Lower value of range (e.g. 2)
     * @param higherValue Higher value of range (e.g. 10)
     */
    rangeFilter(element, lowerValue, higherValue) {
        this.parameters.push(new models_1.Filters.RangeFilter(element, lowerValue, higherValue));
        return this;
    }
    /**
     * Limits the number of items returned by query
     * @param limit Number of items to load
     */
    limitParameter(limit) {
        this.parameters.push(new models_1.Parameters.LimitParameter(limit));
        return this;
    }
    /**
     * Orders query based on given element and sort order
     * @param element Element by which to order
     * @param sortOrder Asc/Desc order type
     */
    orderParameter(element, sortOrder) {
        this.parameters.push(new models_1.Parameters.OrderParameter(element, sortOrder));
        return this;
    }
    /**
     * Sets descending order on given element
     * @param element Element by which to order
     */
    orderByDescending(element) {
        this.parameters.push(new models_1.Parameters.OrderParameter(element, 'desc'));
        return this;
    }
    /**
     * Sets Ascending order on given element
     * @param element Element by which to order
     */
    orderByAscending(element) {
        this.parameters.push(new models_1.Parameters.OrderParameter(element, 'asc'));
        return this;
    }
    /**
     * Skips the selected number of items
     * @param skip Number of items to skip
     */
    skipParameter(skip) {
        this.parameters.push(new models_1.Parameters.SkipParameter(skip));
        return this;
    }
    linkItemsInRte(allContentItems) {
        for (const item of allContentItems) {
            for (const elementKey of Object.keys(item.elements)) {
                const element = item.elements[elementKey];
                if (element.type === elements_1.ElementType.ModularContent) {
                    const linkedItemElement = element;
                    // We create separate array for ordered items because the 'linkedItems' from response might be incomplete
                    // e.g. If 4 items are linked, only 2 might be available in the response. Rest needs to be mapped from all available items
                    const orderedLinkedItems = [];
                    for (const linkedItemCodename of linkedItemElement.value) {
                        let linkedItem;
                        const linkedItemInElement = linkedItemElement.linkedItems.find((m) => m.system.codename.toLowerCase() === linkedItemCodename.toLowerCase());
                        if (linkedItemInElement) {
                            linkedItem = linkedItemInElement;
                        }
                        else {
                            linkedItem = allContentItems.find((m) => m.system.codename.toLowerCase() === linkedItemCodename.toLowerCase());
                        }
                        if (linkedItem) {
                            orderedLinkedItems.push(linkedItem);
                        }
                    }
                    // Replace linked items with the ordered one
                    linkedItemElement.linkedItems = orderedLinkedItems;
                }
                if (element.type === elements_1.ElementType.RichText) {
                    const orderedLinkedItems = [];
                    const richTextElement = element;
                    for (const linkedItemCodename of richTextElement.linkedItemCodenames) {
                        let linkedItem;
                        const linkedItemInElement = richTextElement.linkedItems.find((m) => m.system.codename.toLowerCase() === linkedItemCodename.toLowerCase());
                        if (linkedItemInElement) {
                            linkedItem = linkedItemInElement;
                        }
                        else {
                            linkedItem = allContentItems.find((m) => m.system.codename.toLowerCase() === linkedItemCodename.toLowerCase());
                        }
                        if (linkedItem) {
                            orderedLinkedItems.push(linkedItem);
                        }
                    }
                    richTextElement.linkedItems = orderedLinkedItems;
                }
            }
        }
    }
}
exports.BaseItemListingQuery = BaseItemListingQuery;


/***/ }),

/***/ "./lib/query/common/base-listing-query.class.ts":
/*!******************************************************!*\
  !*** ./lib/query/common/base-listing-query.class.ts ***!
  \******************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.BaseListingQuery = void 0;
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
const base_query_class_1 = __webpack_require__(/*! ./base-query.class */ "./lib/query/common/base-query.class.ts");
class BaseListingQuery extends base_query_class_1.BaseQuery {
    constructor(config, queryService) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
    }
    /**
     * Sets continuation token header
     */
    withContinuationToken(token) {
        var _a;
        // remove previous continuation token if there is any
        let queryHeaders = (_a = this._queryConfig.customHeaders) !== null && _a !== void 0 ? _a : [];
        queryHeaders = queryHeaders.filter((m) => m.header !== models_1.continuationTokenHeaderName);
        this._queryConfig.customHeaders = queryHeaders;
        this.withHeaders([
            {
                header: models_1.continuationTokenHeaderName,
                value: token
            }
        ]);
        return this;
    }
    /**
     * Query to get all items. Uses paging data and may execute multiple HTTP requests depending on number of items
     */
    toAllPromise(queryAllConfig) {
        return this.queryService.getListAllResponse({
            page: 1,
            listQueryConfig: queryAllConfig,
            allResponseFactory: (items, responses) => {
                const response = this.allResponseFactory(items, responses);
                return {
                    data: response,
                    responses: responses
                };
            },
            getResponse: (nextPageUrl, continuationToken) => {
                if (nextPageUrl) {
                    this.withCustomUrl(nextPageUrl);
                }
                if (continuationToken) {
                    this.withContinuationToken(continuationToken);
                }
                return this.toPromise();
            }
        });
    }
}
exports.BaseListingQuery = BaseListingQuery;


/***/ }),

/***/ "./lib/query/common/base-query.class.ts":
/*!**********************************************!*\
  !*** ./lib/query/common/base-query.class.ts ***!
  \**********************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.BaseQuery = void 0;
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
class BaseQuery {
    constructor(config, queryService) {
        this.config = config;
        this.queryService = queryService;
        this.parameters = [];
    }
    /**
     * Adds custom parameter to query
     * @param name Name of parameter
     * @param value Value of parameter
     */
    withCustomParameter(name, value) {
        this.parameters.push(new models_1.Parameters.QueryParameter(name, value));
        return this;
    }
    /**
     * Adds parameter to query
     * @param name Name of parameter
     * @param value Value of parameter
     */
    withParameter(parameter) {
        this.parameters.push(parameter);
        return this;
    }
    /**
     * Adds parameters to query
     * @param parameters Array of parameters
     */
    withParameters(parameters) {
        this.parameters.push(...parameters);
        return this;
    }
    /**
     * Gets headers used by this query
     */
    getHeaders() {
        return this.queryService.getHeaders(this._queryConfig, []);
    }
    /**
     * Sets request headers
     */
    withHeaders(headers) {
        var _a;
        const queryHeaders = (_a = this._queryConfig.customHeaders) !== null && _a !== void 0 ? _a : [];
        queryHeaders.push(...headers);
        this._queryConfig.customHeaders = queryHeaders;
        return this;
    }
    /**
     * Sets request header
     */
    withHeader(header) {
        var _a;
        const queryHeaders = (_a = this._queryConfig.customHeaders) !== null && _a !== void 0 ? _a : [];
        queryHeaders.push(header);
        this._queryConfig.customHeaders = queryHeaders;
        return this;
    }
    /**
     * Sets custom URL of request (overrides default URL of the query)
     */
    withCustomUrl(url) {
        this.customUrl = url;
        return this;
    }
    /**
     * Gets all query parameter currently applied to query
     */
    getParameters() {
        return this.parameters;
    }
    /**
     * Used to configure query
     * @param queryConfig Query configuration
     */
    queryConfig(queryConfig) {
        this._queryConfig = queryConfig;
        return this;
    }
    resolveUrlInternal(action) {
        var _a;
        // use custom URL if user specified it
        if (this.customUrl) {
            return this.customUrl;
        }
        // use original url
        return this.queryService.getUrl(action, (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {}, this.getParameters());
    }
    processDefaultLanguageParameter() {
        // add default language if none is specified && default language is specified globally
        if (this.config.defaultLanguage) {
            const languageParameter = this.getParameters().find((m) => { var _a; return (_a = m.getParam()) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('language='.toLowerCase()); });
            if (!languageParameter) {
                // language parameter was not specified in query, use globally defined language
                this.parameters.push(new models_1.Parameters.LanguageParameter(this.config.defaultLanguage));
            }
        }
    }
    processExcludeArchivedItemsParameter() {
        if (this.config.excludeArchivedItems) {
            this.parameters.push(new models_1.Filters.NotEqualsFilter('system.workflow_step', 'archived'));
        }
    }
}
exports.BaseQuery = BaseQuery;


/***/ }),

/***/ "./lib/query/element/element-query.class.ts":
/*!**************************************************!*\
  !*** ./lib/query/element/element-query.class.ts ***!
  \**************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ElementQuery = void 0;
const base_query_class_1 = __webpack_require__(/*! ../common/base-query.class */ "./lib/query/common/base-query.class.ts");
class ElementQuery extends base_query_class_1.BaseQuery {
    constructor(config, queryService, typeCodename, elementCodename) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        this.typeCodename = typeCodename;
        this.elementCodename = elementCodename;
        this._queryConfig = {};
        if (!typeCodename) {
            throw Error(`Codename of the type has to be provided`);
        }
        if (!elementCodename) {
            throw Error(`Codename of the element has to be provided`);
        }
    }
    toPromise() {
        var _a;
        return this.queryService.getElementAsync(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        return super.resolveUrlInternal(`/types/${this.typeCodename}/elements/${this.elementCodename}`);
    }
    map(json) {
        return this.queryService.mappingService.viewContentTypeElementResponse(json);
    }
}
exports.ElementQuery = ElementQuery;


/***/ }),

/***/ "./lib/query/index.ts":
/*!****************************!*\
  !*** ./lib/query/index.ts ***!
  \****************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./common/base-query.class */ "./lib/query/common/base-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./element/element-query.class */ "./lib/query/element/element-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./item/multiple-items-query.class */ "./lib/query/item/multiple-items-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./item/single-item-query.class */ "./lib/query/item/single-item-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./taxonomy/taxonomies-query.class */ "./lib/query/taxonomy/taxonomies-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./taxonomy/taxonomy-query.class */ "./lib/query/taxonomy/taxonomy-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./type/multiple-type-query.class */ "./lib/query/type/multiple-type-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./type/single-type-query.class */ "./lib/query/type/single-type-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./items-feed/items-feed-query.class */ "./lib/query/items-feed/items-feed-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./language/languages-query.class */ "./lib/query/language/languages-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./sync/initialize-sync-query.class */ "./lib/query/sync/initialize-sync-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./sync/sync-changes-query.class */ "./lib/query/sync/sync-changes-query.class.ts"), exports);
__exportStar(__webpack_require__(/*! ./used-in/used-in-query.class */ "./lib/query/used-in/used-in-query.class.ts"), exports);


/***/ }),

/***/ "./lib/query/item/multiple-items-query.class.ts":
/*!******************************************************!*\
  !*** ./lib/query/item/multiple-items-query.class.ts ***!
  \******************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.MultipleItemsQuery = void 0;
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
const base_item_listing_query_class_1 = __webpack_require__(/*! ../common/base-item-listing-query.class */ "./lib/query/common/base-item-listing-query.class.ts");
class MultipleItemsQuery extends base_item_listing_query_class_1.BaseItemListingQuery {
    constructor(config, queryService) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        this._queryConfig = {};
    }
    /**
     * Adds information about the total number of content items matching your query.
     * When set to true, the pagination object returned in the API response contains
     * an additional total_count property.
     */
    includeTotalCountParameter() {
        this.parameters.push(new models_1.Parameters.IncludeTotalCountParameter());
        return this;
    }
    /**
     * Gets only item of given type
     * @param type Codename of type to get
     */
    type(type) {
        this.parameters.push(new models_1.Filters.TypeFilter(type));
        return this;
    }
    /**
     * Gets items of given types (logical or)
     * I.e. get items of either 'Actor' or 'Movie' type
     * @param types Types to get
     */
    types(types) {
        this.parameters.push(new models_1.Filters.TypeFilter(types));
        return this;
    }
    /**
     * Gets only item from given collection
     * @param collection Codename of collection to get
     */
    collection(collection) {
        this.parameters.push(new models_1.Filters.CollectionFilter(collection));
        return this;
    }
    /**
     * Gets items from given collections (logical or)
     * I.e. get items of either 'default' or 'christmas-campaign' collection
     * @param collections Collections to get
     */
    collections(collections) {
        this.parameters.push(new models_1.Filters.CollectionFilter(collections));
        return this;
    }
    /**
     * Indicates depth of query that affects loading of nested linked items.
     * @param depth Depth of the query (> 0)
     */
    depthParameter(depth) {
        this.parameters.push(new models_1.Parameters.DepthParameter(depth));
        return this;
    }
    /**
     * Language codename
     * @param languageCodename Codename of the language
     */
    languageParameter(languageCodename) {
        this.parameters.push(new models_1.Parameters.LanguageParameter(languageCodename));
        return this;
    }
    /**
     * Used to limit the number of elements returned by query.
     * @param elementCodenames Array of element codenames to fetch
     */
    elementsParameter(elementCodenames) {
        this.parameters.push(new models_1.Parameters.ElementsParameter(elementCodenames));
        return this;
    }
    /**
     * Used to exclude elements returned by query.
     * @param elementCodenames Array of element codenames to exclude
     */
    excludeElementsParameter(elementCodenames) {
        this.parameters.push(new models_1.Parameters.ExcludeElementsParameter(elementCodenames));
        return this;
    }
    toPromise() {
        var _a;
        return this.queryService.getMultipleItems(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        const action = '/items';
        // handle default language
        this.processDefaultLanguageParameter();
        // handle archived items
        this.processExcludeArchivedItemsParameter();
        return super.resolveUrlInternal(action);
    }
    map(json) {
        return this.queryService.mappingService.listContentItemsResponse(json);
    }
    allResponseFactory(items, responses) {
        this.linkItems(items, responses);
        return {
            items: items,
            responses: responses
        };
    }
    linkItems(items, responses) {
        // prepare all available items (including components) for linking
        const allContentItems = [];
        // process linked items (modular_content part of the response)
        for (const response of responses) {
            allContentItems.push(...Object.values(response.data.linkedItems)
                .filter((m) => m !== undefined)
                .map((m) => m));
        }
        // add standard items
        for (const item of items) {
            if (!allContentItems.find((m) => m.system.codename.toLowerCase() === item.system.codename.toLowerCase())) {
                allContentItems.push(item);
            }
        }
        // process main items
        this.linkItemsInRte(allContentItems);
    }
}
exports.MultipleItemsQuery = MultipleItemsQuery;


/***/ }),

/***/ "./lib/query/item/single-item-query.class.ts":
/*!***************************************************!*\
  !*** ./lib/query/item/single-item-query.class.ts ***!
  \***************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SingleItemQuery = void 0;
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
const base_query_class_1 = __webpack_require__(/*! ../common/base-query.class */ "./lib/query/common/base-query.class.ts");
class SingleItemQuery extends base_query_class_1.BaseQuery {
    constructor(config, queryService, codename) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        this.codename = codename;
        this._queryConfig = {};
        if (!codename) {
            throw Error(`'codename' has to be configured for 'SingleItemQuery' query`);
        }
    }
    /**
     * Indicates depth of query that affects loading of nested linked items.
     * @param depth Depth of the query (> 0)
     */
    depthParameter(depth) {
        this.parameters.push(new models_1.Parameters.DepthParameter(depth));
        return this;
    }
    /**
     * Used to configure query
     * @param queryConfig Query configuration
     */
    queryConfig(queryConfig) {
        this._queryConfig = queryConfig;
        return this;
    }
    /**
     * Language codename
     * @param languageCodename Codename of the language
     */
    languageParameter(languageCodename) {
        this.parameters.push(new models_1.Parameters.LanguageParameter(languageCodename));
        return this;
    }
    /**
     * Used to limit the number of elements returned by query.
     * @param elementCodenames Array of element codenames to fetch
     */
    elementsParameter(elementCodenames) {
        this.parameters.push(new models_1.Parameters.ElementsParameter(elementCodenames));
        return this;
    }
    /**
     * Used to exclude elements returned by query.
     * @param elementCodenames Array of element codenames to exclude
     */
    excludeElementsParameter(elementCodenames) {
        this.parameters.push(new models_1.Parameters.ExcludeElementsParameter(elementCodenames));
        return this;
    }
    toPromise() {
        var _a;
        return this.queryService.getSingleItemAsync(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        const action = '/items/' + this.codename;
        // add default language is necessry
        this.processDefaultLanguageParameter();
        //process client level archived item exclusion
        this.processExcludeArchivedItemsParameter();
        return super.resolveUrlInternal(action);
    }
    map(json) {
        return this.queryService.mappingService.viewContentItemResponse(json);
    }
}
exports.SingleItemQuery = SingleItemQuery;


/***/ }),

/***/ "./lib/query/items-feed/items-feed-query.class.ts":
/*!********************************************************!*\
  !*** ./lib/query/items-feed/items-feed-query.class.ts ***!
  \********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ItemsFeedQuery = void 0;
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
const base_item_listing_query_class_1 = __webpack_require__(/*! ../common/base-item-listing-query.class */ "./lib/query/common/base-item-listing-query.class.ts");
class ItemsFeedQuery extends base_item_listing_query_class_1.BaseItemListingQuery {
    constructor(config, queryService) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        this._queryConfig = {};
    }
    /**
     * Gets only item of given type
     * @param type Codename of type to get
     */
    type(type) {
        this.parameters.push(new models_1.Filters.TypeFilter(type));
        return this;
    }
    /**
     * Gets items of given types (logical or)
     * I.e. get items of either 'Actor' or 'Movie' type
     * @param types Types to get
     */
    types(types) {
        this.parameters.push(new models_1.Filters.TypeFilter(types));
        return this;
    }
    /**
     * Gets only item from given collection
     * @param collection Codename of collection to get
     */
    collection(collection) {
        this.parameters.push(new models_1.Filters.CollectionFilter(collection));
        return this;
    }
    /**
     * Gets items from given collections (logical or)
     * I.e. get items of either 'default' or 'christmas-campaign' collection
     * @param collections Collections to get
     */
    collections(collections) {
        this.parameters.push(new models_1.Filters.CollectionFilter(collections));
        return this;
    }
    /**
     * Language codename
     * @param languageCodename Codename of the language
     */
    languageParameter(languageCodename) {
        this.parameters.push(new models_1.Parameters.LanguageParameter(languageCodename));
        return this;
    }
    /**
     * Used to limit the number of elements returned by query.
     * @param elementCodenames Array of element codenames to fetch
     */
    elementsParameter(elementCodenames) {
        this.parameters.push(new models_1.Parameters.ElementsParameter(elementCodenames));
        return this;
    }
    /**
     * Used to exclude elements returned by query.
     * @param elementCodenames Array of element codenames to exclude
     */
    excludeElementsParameter(elementCodenames) {
        this.parameters.push(new models_1.Parameters.ExcludeElementsParameter(elementCodenames));
        return this;
    }
    toPromise() {
        var _a;
        return this.queryService.getItemsFeed(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        const action = '/items-feed';
        // add default language is necessary
        this.processDefaultLanguageParameter();
        //process client level archived item exclusion
        this.processExcludeArchivedItemsParameter();
        return super.resolveUrlInternal(action);
    }
    /**
     * Used to configure query
     * @param queryConfig Query configuration
     */
    queryConfig(queryConfig) {
        this._queryConfig = queryConfig;
        return this;
    }
    map(json) {
        return this.queryService.mappingService.itemsFeedResponse(json);
    }
    allResponseFactory(items, responses) {
        if (this.canLinkItems()) {
            this.linkFeedItems(items, responses);
        }
        return {
            items: items,
            responses: responses
        };
    }
    linkFeedItems(items, responses) {
        // prepare all available items (including components) for linking
        const allAvailableContentItems = [];
        // process linked items (modular_content part of the response)
        for (const response of responses) {
            allAvailableContentItems.push(...Object.values(response.data.linkedItems)
                .filter((m) => m !== undefined)
                .map((m) => m));
        }
        // add standard items
        for (const item of items) {
            if (!allAvailableContentItems.find((m) => m.system.codename.toLowerCase() === item.system.codename.toLowerCase())) {
                allAvailableContentItems.push(item);
            }
        }
        // process main items
        this.linkItemsInRte(allAvailableContentItems);
    }
    canLinkItems() {
        if (this.config.linkedItemsReferenceHandler === 'ignore') {
            return false;
        }
        if (this._queryConfig.disableItemLinking === true) {
            return false;
        }
        return true;
    }
}
exports.ItemsFeedQuery = ItemsFeedQuery;


/***/ }),

/***/ "./lib/query/language/languages-query.class.ts":
/*!*****************************************************!*\
  !*** ./lib/query/language/languages-query.class.ts ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.LanguagesQuery = void 0;
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
const base_listing_query_class_1 = __webpack_require__(/*! ../common/base-listing-query.class */ "./lib/query/common/base-listing-query.class.ts");
class LanguagesQuery extends base_listing_query_class_1.BaseListingQuery {
    constructor(config, queryService) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        /**
         * Endpoint
         */
        this.endpoint = 'languages';
        this._queryConfig = {};
    }
    /**
     * Limits the number of taxonomies returned by query
     * @param limit Number of taxonomies to load
     */
    limitParameter(limit) {
        this.parameters.push(new models_1.Parameters.LimitParameter(limit));
        return this;
    }
    /**
     * Skips the selected number of taxonomies
     * @param skip Number of taxonomies to skip
     */
    skipParameter(skip) {
        this.parameters.push(new models_1.Parameters.SkipParameter(skip));
        return this;
    }
    toPromise() {
        var _a;
        return this.queryService.getLanguages(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        const action = '/' + this.endpoint;
        return super.resolveUrlInternal(action);
    }
    /**
     * Used to configure query
     * @param queryConfig Query configuration
     */
    queryConfig(queryConfig) {
        this._queryConfig = queryConfig;
        return this;
    }
    map(json) {
        return this.queryService.mappingService.listLanguagesResponse(json);
    }
    allResponseFactory(items, responses) {
        return {
            items: items,
            responses: responses
        };
    }
}
exports.LanguagesQuery = LanguagesQuery;


/***/ }),

/***/ "./lib/query/sync/initialize-sync-query.class.ts":
/*!*******************************************************!*\
  !*** ./lib/query/sync/initialize-sync-query.class.ts ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.InitializeSyncQuery = void 0;
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
const base_query_class_1 = __webpack_require__(/*! ../common/base-query.class */ "./lib/query/common/base-query.class.ts");
class InitializeSyncQuery extends base_query_class_1.BaseQuery {
    constructor(config, queryService) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        this.endpoint = 'sync/init';
        this._queryConfig = {};
    }
    /**
     * Gets only item of given type
     * @param type Codename of type to get
     */
    type(type) {
        this.parameters.push(new models_1.Filters.TypeFilter(type));
        return this;
    }
    /**
     * Gets only item from given collection
     * @param collection Codename of collection to get
     */
    collection(collection) {
        this.parameters.push(new models_1.Filters.CollectionFilter(collection));
        return this;
    }
    /**
     * Language codename
     * @param languageCodename Codename of the language
     */
    languageParameter(languageCodename) {
        this.parameters.push(new models_1.Parameters.LanguageParameter(languageCodename));
        return this;
    }
    toPromise() {
        var _a;
        console.warn(`Sync Api v1 is deprecated. Please use the new Sync Api v2. https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/`);
        return this.queryService.initializeSync(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        const action = '/' + this.endpoint;
        return super.resolveUrlInternal(action);
    }
    /**
     * Used to configure query
     * @param queryConfig Query configuration
     */
    queryConfig(queryConfig) {
        this._queryConfig = queryConfig;
        return this;
    }
    map(json) {
        return this.queryService.mappingService.initializeContentSync(json);
    }
}
exports.InitializeSyncQuery = InitializeSyncQuery;


/***/ }),

/***/ "./lib/query/sync/sync-changes-query.class.ts":
/*!****************************************************!*\
  !*** ./lib/query/sync/sync-changes-query.class.ts ***!
  \****************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SyncChangesQuery = void 0;
const base_listing_query_class_1 = __webpack_require__(/*! ../common/base-listing-query.class */ "./lib/query/common/base-listing-query.class.ts");
class SyncChangesQuery extends base_listing_query_class_1.BaseListingQuery {
    constructor(config, queryService) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        this._queryConfig = {};
        this.action = '/sync';
    }
    toPromise() {
        var _a;
        console.warn(`Sync Api v1 is deprecated. Please use the new Sync Api v2. https://kontent.ai/learn/docs/apis/openapi/sync-api-v2/`);
        return this.queryService.syncChanges(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        return super.resolveUrlInternal(this.action);
    }
    /**
     * Used to configure query
     * @param queryConfig Query configuration
     */
    queryConfig(queryConfig) {
        this._queryConfig = queryConfig;
        return this;
    }
    map(json) {
        return this.queryService.mappingService.syncChanges(json);
    }
    allResponseFactory(items, responses) {
        return {
            items: items,
            responses: responses
        };
    }
}
exports.SyncChangesQuery = SyncChangesQuery;


/***/ }),

/***/ "./lib/query/taxonomy/taxonomies-query.class.ts":
/*!******************************************************!*\
  !*** ./lib/query/taxonomy/taxonomies-query.class.ts ***!
  \******************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.TaxonomiesQuery = void 0;
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
const base_listing_query_class_1 = __webpack_require__(/*! ../common/base-listing-query.class */ "./lib/query/common/base-listing-query.class.ts");
class TaxonomiesQuery extends base_listing_query_class_1.BaseListingQuery {
    constructor(config, queryService) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        /**
         * Taxonomies endpoint URL action
         */
        this.taxonomiesEndpoint = 'taxonomies';
        this._queryConfig = {};
    }
    /**
     * Limits the number of taxonomies returned by query
     * @param limit Number of taxonomies to load
     */
    limitParameter(limit) {
        this.parameters.push(new models_1.Parameters.LimitParameter(limit));
        return this;
    }
    /**
     * Skips the selected number of taxonomies
     * @param skip Number of taxonomies to skip
     */
    skipParameter(skip) {
        this.parameters.push(new models_1.Parameters.SkipParameter(skip));
        return this;
    }
    toPromise() {
        var _a;
        return this.queryService.getTaxonomies(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        const action = '/' + this.taxonomiesEndpoint;
        return super.resolveUrlInternal(action);
    }
    map(json) {
        return this.queryService.mappingService.listTaxonomiesResponse(json);
    }
    allResponseFactory(items, responses) {
        return {
            items: items,
            responses: responses
        };
    }
}
exports.TaxonomiesQuery = TaxonomiesQuery;


/***/ }),

/***/ "./lib/query/taxonomy/taxonomy-query.class.ts":
/*!****************************************************!*\
  !*** ./lib/query/taxonomy/taxonomy-query.class.ts ***!
  \****************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.TaxonomyQuery = void 0;
const base_query_class_1 = __webpack_require__(/*! ../common/base-query.class */ "./lib/query/common/base-query.class.ts");
class TaxonomyQuery extends base_query_class_1.BaseQuery {
    constructor(config, queryService, taxonomyCodename) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        this.taxonomyCodename = taxonomyCodename;
        /**
         * Taxonomies endpoint URL action
         */
        this.taxonomiesEndpoint = 'taxonomies';
        this._queryConfig = {};
        if (!taxonomyCodename) {
            throw Error(`Cannot create taxonomy query without codename of the taxonomy`);
        }
    }
    toPromise() {
        var _a;
        return this.queryService.getTaxonomy(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        const action = '/' + this.taxonomiesEndpoint + '/' + this.taxonomyCodename;
        return super.resolveUrlInternal(action);
    }
    map(json) {
        return this.queryService.mappingService.viewTaxonomyResponse(json);
    }
}
exports.TaxonomyQuery = TaxonomyQuery;


/***/ }),

/***/ "./lib/query/type/multiple-type-query.class.ts":
/*!*****************************************************!*\
  !*** ./lib/query/type/multiple-type-query.class.ts ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.MultipleTypeQuery = void 0;
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
const base_listing_query_class_1 = __webpack_require__(/*! ../common/base-listing-query.class */ "./lib/query/common/base-listing-query.class.ts");
class MultipleTypeQuery extends base_listing_query_class_1.BaseListingQuery {
    constructor(config, queryService) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        this._queryConfig = {};
    }
    /**
     * Used to limit the number of elements returned by query.
     * @param elementCodenames Array of element codenames to fetch
     */
    elementsParameter(elementCodenames) {
        this.parameters.push(new models_1.Parameters.ElementsParameter(elementCodenames));
        return this;
    }
    /**
     * Used to exclude elements returned by query.
     * @param elementCodenames Array of element codenames to exclude
     */
    excludeElementsParameter(elementCodenames) {
        this.parameters.push(new models_1.Parameters.ExcludeElementsParameter(elementCodenames));
        return this;
    }
    /**
     * Limits the number of taxonomies returned by query
     * @param limit Number of taxonomies to load
     */
    limitParameter(limit) {
        this.parameters.push(new models_1.Parameters.LimitParameter(limit));
        return this;
    }
    /**
     * Skips the selected number of taxonomies
     * @param skip Number of taxonomies to skip
     */
    skipParameter(skip) {
        this.parameters.push(new models_1.Parameters.SkipParameter(skip));
        return this;
    }
    toPromise() {
        var _a;
        return this.queryService.getMultipleTypes(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        const action = '/types';
        return super.resolveUrlInternal(action);
    }
    map(json) {
        return this.queryService.mappingService.listContentTypesResponse(json);
    }
    allResponseFactory(items, responses) {
        return {
            items: items,
            responses: responses
        };
    }
}
exports.MultipleTypeQuery = MultipleTypeQuery;


/***/ }),

/***/ "./lib/query/type/single-type-query.class.ts":
/*!***************************************************!*\
  !*** ./lib/query/type/single-type-query.class.ts ***!
  \***************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SingleTypeQuery = void 0;
const base_query_class_1 = __webpack_require__(/*! ../common/base-query.class */ "./lib/query/common/base-query.class.ts");
class SingleTypeQuery extends base_query_class_1.BaseQuery {
    constructor(config, queryService, typeCodename) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        this.typeCodename = typeCodename;
        this._queryConfig = {};
        if (!typeCodename) {
            throw Error(`Cannot create type query without the codename of the type`);
        }
    }
    toPromise() {
        var _a;
        return this.queryService.getSingleType(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        const action = '/types/' + this.typeCodename;
        return super.resolveUrlInternal(action);
    }
    map(json) {
        return this.queryService.mappingService.viewContentTypeResponse(json);
    }
}
exports.SingleTypeQuery = SingleTypeQuery;


/***/ }),

/***/ "./lib/query/used-in/used-in-query.class.ts":
/*!**************************************************!*\
  !*** ./lib/query/used-in/used-in-query.class.ts ***!
  \**************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.UsedInQuery = void 0;
const models_1 = __webpack_require__(/*! ../../models */ "./lib/models/index.ts");
const base_listing_query_class_1 = __webpack_require__(/*! ../common/base-listing-query.class */ "./lib/query/common/base-listing-query.class.ts");
class UsedInQuery extends base_listing_query_class_1.BaseListingQuery {
    constructor(config, queryService, setup) {
        super(config, queryService);
        this.config = config;
        this.queryService = queryService;
        this.setup = setup;
        this._queryConfig = {};
    }
    /**
     * Gets only item of given type
     * @param type Codename of type to get
     */
    type(type) {
        this.parameters.push(new models_1.Filters.TypeFilter(type));
        return this;
    }
    /**
     * Gets items of given types (logical or)
     * I.e. get items of either 'Actor' or 'Movie' type
     * @param types Types to get
     */
    types(types) {
        this.parameters.push(new models_1.Filters.TypeFilter(types));
        return this;
    }
    /**
     * Gets only item from given collection
     * @param collection Codename of collection to get
     */
    collection(collection) {
        this.parameters.push(new models_1.Filters.CollectionFilter(collection));
        return this;
    }
    /**
     * Gets items from given collections (logical or)
     * I.e. get items of either 'default' or 'christmas-campaign' collection
     * @param collections Collections to get
     */
    collections(collections) {
        this.parameters.push(new models_1.Filters.CollectionFilter(collections));
        return this;
    }
    /**
     * Language codename
     * @param languageCodename Codename of the language
     */
    languageParameter(languageCodename) {
        this.parameters.push(new models_1.Parameters.LanguageParameter(languageCodename));
        return this;
    }
    toPromise() {
        var _a;
        return this.queryService.getUsedIn(this.getUrl(), (_a = this._queryConfig) !== null && _a !== void 0 ? _a : {});
    }
    getUrl() {
        const action = `/${this.setup.entity === 'asset' ? 'assets' : 'items'}/${this.setup.codename}/used-in`;
        // add default language is necessary
        this.processDefaultLanguageParameter();
        //process client level archived item exclusion
        this.processExcludeArchivedItemsParameter();
        return super.resolveUrlInternal(action);
    }
    /**
     * Used to configure query
     * @param queryConfig Query configuration
     */
    queryConfig(queryConfig) {
        this._queryConfig = queryConfig;
        return this;
    }
    map(json) {
        return this.queryService.mappingService.usedInResponse(json);
    }
    allResponseFactory(items, responses) {
        return {
            items: items,
            responses: responses
        };
    }
}
exports.UsedInQuery = UsedInQuery;


/***/ }),

/***/ "./lib/sdk-info.generated.ts":
/*!***********************************!*\
  !*** ./lib/sdk-info.generated.ts ***!
  \***********************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.sdkInfo = void 0;
exports.sdkInfo = {
    host: 'npmjs.com',
    version: '16.3.0',
    name: '@kontent-ai/delivery-sdk'
};


/***/ }),

/***/ "./lib/services/base-delivery-query.service.ts":
/*!*****************************************************!*\
  !*** ./lib/services/base-delivery-query.service.ts ***!
  \*****************************************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.BaseDeliveryQueryService = void 0;
const core_sdk_1 = __webpack_require__(/*! @kontent-ai/core-sdk */ "./node_modules/@kontent-ai/core-sdk/dist/es6/index.js");
const models_1 = __webpack_require__(/*! ../models */ "./lib/models/index.ts");
class BaseDeliveryQueryService {
    constructor(
    /**
     * Delivery client configuration
     */
    config, 
    /**
     * Http service for fetching data
     */
    httpService, 
    /**
     * Information about the SDK
     */
    sdkInfo, 
    /**
     * Mapping service
     */
    mappingService) {
        this.config = config;
        this.httpService = httpService;
        this.sdkInfo = sdkInfo;
        this.mappingService = mappingService;
        /**
         * Default base Url to Kontent.ai Delivery API
         */
        this.defaultBaseDeliveryApiUrl = 'https://deliver.kontent.ai';
        /**
         * Default preview url to Kontent.ai Delivery API
         */
        this.defaultPreviewDeliveryApiUrl = 'https://preview-deliver.kontent.ai';
    }
    /**
     * Gets url based on the action, query configuration and options (parameters)
     * @param action Action (= url part) that will be hit
     * @param queryConfig Query configuration
     * @param options Query options
     */
    getUrl(action, queryConfig, options) {
        if (!this.config.proxy || !this.config.proxy.advancedProxyUrlResolver) {
            return core_sdk_1.urlHelper.addOptionsToUrl(this.getBaseUrl(queryConfig) + action, options);
        }
        return this.config.proxy.advancedProxyUrlResolver({
            queryParameters: options ? options : [],
            queryString: core_sdk_1.urlHelper.addOptionsToUrl('', options),
            action: action,
            domain: this.getDomain(queryConfig),
            queryConfig: queryConfig,
            environmentId: this.config.environmentId
        });
    }
    /**
     * Gets proper set of headers for given request.
     * @param queryConfig Query configuration
     * @param additionalHeaders Custom headers
     */
    getHeaders(queryConfig, additionalHeaders) {
        const headers = [];
        if (additionalHeaders) {
            headers.push(...additionalHeaders);
        }
        // add SDK Id header for monitoring SDK usage
        headers.push(this.getSdkIdHeader());
        // add headers from global config
        if (this.config.globalHeaders) {
            headers.push(...this.config.globalHeaders(queryConfig));
        }
        // add query / global headers from query config
        headers.push(...this.getQueryHeaders(queryConfig));
        if (this.isPreviewModeEnabled(queryConfig) && this.isSecuredModeEnabled(queryConfig)) {
            throw Error(`Preview & secured modes cannot be used at the same time.`);
        }
        // add preview header is required
        if (this.isPreviewModeEnabled(queryConfig) && this.config.previewApiKey) {
            headers.push(this.getAuthorizationHeader(this.config.previewApiKey));
        }
        // add secured mode header is required
        if (this.isSecuredModeEnabled(queryConfig) && this.config.secureApiKey) {
            headers.push(this.getAuthorizationHeader(this.config.secureApiKey));
        }
        // add 'X-KC-Wait-For-Loading-New-Content' header if required
        if (this.shouldAddWaitForLoadingNewContentHeader(queryConfig)) {
            headers.push({
                header: models_1.waitForLoadingNewContentHeader,
                value: 'true'
            });
        }
        return headers;
    }
    /**
     * Http POST response
     * @param url Url of request
     * @param queryConfig Query config configuration
     */
    postResponseAsync(url, body, queryConfig, serviceConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            if (!queryConfig) {
                queryConfig = {};
            }
            if (!serviceConfig) {
                serviceConfig = {};
            }
            try {
                return yield this.httpService.postAsync({
                    url: url,
                    body: body
                }, {
                    cancelToken: queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.cancelToken,
                    responseType: 'json',
                    retryStrategy: this.config.retryStrategy,
                    headers: this.getHeaders(queryConfig, serviceConfig.headers ? serviceConfig.headers : [])
                });
            }
            catch (error) {
                throw this.mapDeliveryError(error);
            }
        });
    }
    /**
     * Http GET response
     * @param url Url of request
     * @param queryConfig Query config configuration
     */
    getResponseAsync(url, queryConfig, serviceConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            if (!queryConfig) {
                queryConfig = {};
            }
            if (!serviceConfig) {
                serviceConfig = {};
            }
            try {
                return yield this.httpService.getAsync({
                    url: url
                }, {
                    cancelToken: queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.cancelToken,
                    responseType: 'json',
                    retryStrategy: this.config.retryStrategy,
                    headers: this.getHeaders(queryConfig, serviceConfig.headers ? serviceConfig.headers : [])
                });
            }
            catch (error) {
                throw this.mapDeliveryError(error);
            }
        });
    }
    /**
     * Gets base URL of the request including the environment Id
     * @param queryConfig Query configuration
     */
    getBaseUrl(queryConfig) {
        return this.getDomain(queryConfig) + '/' + this.config.environmentId;
    }
    mapNetworkResponse(data, response) {
        return {
            data: data,
            response: response,
            hasStaleContent: this.getHasStaleContent(response.headers),
            xContinuationToken: this.getContinuationToken(response.headers)
        };
    }
    /**
     * Indicates if current query should use preview mode
     * @param queryConfig Query configuration
     */
    isPreviewModeEnabled(queryConfig) {
        if (queryConfig.usePreviewMode !== undefined) {
            return queryConfig.usePreviewMode;
        }
        if (!this.config.defaultQueryConfig) {
            return false;
        }
        if (this.config.defaultQueryConfig.usePreviewMode === true) {
            return true;
        }
        return false;
    }
    getQueryHeaders(queryConfig) {
        var _a;
        if (queryConfig.customHeaders) {
            return queryConfig.customHeaders;
        }
        if ((_a = this.config.defaultQueryConfig) === null || _a === void 0 ? void 0 : _a.customHeaders) {
            return this.config.defaultQueryConfig.customHeaders;
        }
        return [];
    }
    shouldAddWaitForLoadingNewContentHeader(queryConfig) {
        if (queryConfig.waitForLoadingNewContent !== undefined) {
            return queryConfig.waitForLoadingNewContent;
        }
        if (!this.config.defaultQueryConfig) {
            return false;
        }
        if (this.config.defaultQueryConfig.waitForLoadingNewContent === true) {
            return true;
        }
        return false;
    }
    /**
     * Indicates if current query should use secured mode
     * @param queryConfig Query configuration
     */
    isSecuredModeEnabled(queryConfig) {
        if (queryConfig.useSecuredMode !== undefined) {
            return queryConfig.useSecuredMode;
        }
        if (!this.config.defaultQueryConfig) {
            return false;
        }
        if (this.config.defaultQueryConfig.useSecuredMode === true) {
            return true;
        }
        return false;
    }
    /**
     * Gets preview or standard URL based on client and query configuration
     * @param queryConfig Query configuration
     */
    getDomain(queryConfig) {
        if (this.isPreviewModeEnabled(queryConfig)) {
            if (!this.config.previewApiKey) {
                throw Error(`Preview API key is not configured.`);
            }
            // check custom preview url
            if (this.config.proxy && this.config.proxy.basePreviewUrl) {
                return this.config.proxy.basePreviewUrl;
            }
            // use default preview url
            return this.defaultPreviewDeliveryApiUrl;
        }
        // check custom base url
        if (this.config.proxy && this.config.proxy.baseUrl) {
            return this.config.proxy.baseUrl;
        }
        return this.defaultBaseDeliveryApiUrl;
    }
    /**
     * Gets authorization header. This is used for 'preview' functionality
     */
    getAuthorizationHeader(key) {
        if (!key) {
            throw Error(`Cannot get authorization header because key is invalid`);
        }
        // authorization header required for preview mode
        return {
            header: 'authorization',
            value: `bearer ${key}`
        };
    }
    /**
     * Header identifying SDK type & version for internal purposes of Kontent.ai
     */
    getSdkIdHeader() {
        return {
            header: models_1.sdkVersionHeader,
            value: `${this.sdkInfo.host};${this.sdkInfo.name};${this.sdkInfo.version}`
        };
    }
    mapDeliveryError(error) {
        var _a;
        let axiosError;
        if (error.error) {
            axiosError = error.error;
        }
        else {
            axiosError = error;
        }
        if (!axiosError || !axiosError.isAxiosError) {
            return error;
        }
        const deliveryErrorData = (_a = axiosError.response) === null || _a === void 0 ? void 0 : _a.data;
        if (!deliveryErrorData || !deliveryErrorData.error_code) {
            return error;
        }
        return new models_1.DeliveryError({
            errorCode: deliveryErrorData.error_code,
            message: deliveryErrorData.message,
            specificCode: deliveryErrorData.specific_code,
            requestId: deliveryErrorData.request_id
        });
    }
    getHasStaleContent(headers) {
        const hasStaleContentHeader = headers.find((m) => m.header.toLowerCase() === models_1.staleContentHeaderName.toLowerCase());
        if (hasStaleContentHeader) {
            if (hasStaleContentHeader.value.toString() === '1') {
                return true;
            }
        }
        return false;
    }
    getContinuationToken(headers) {
        const header = headers.find((m) => m.header.toLowerCase() === models_1.continuationTokenHeaderName.toLowerCase());
        return header ? header.value : undefined;
    }
}
exports.BaseDeliveryQueryService = BaseDeliveryQueryService;


/***/ }),

/***/ "./lib/services/delivery-query.service.ts":
/*!************************************************!*\
  !*** ./lib/services/delivery-query.service.ts ***!
  \************************************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.QueryService = void 0;
const base_delivery_query_service_1 = __webpack_require__(/*! ./base-delivery-query.service */ "./lib/services/base-delivery-query.service.ts");
class QueryService extends base_delivery_query_service_1.BaseDeliveryQueryService {
    constructor(config, httpService, sdkInfo, mappingService) {
        super(config, httpService, sdkInfo, mappingService);
    }
    /**
     * Gets single item from given url
     * @param url Url used to get single item
     * @param queryConfig Query configuration
     */
    getSingleItemAsync(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.viewContentItemResponse(response.data), response);
        });
    }
    /**
     * Gets single feed response. Might not contain all items in your environment.
     * @param url Url
     * @param queryConfig Query configuration
     */
    getItemsFeed(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.itemsFeedResponse(response.data), response);
        });
    }
    /**
     * Gets single used in response. Might not contain all used in references.
     * @param url Url
     * @param queryConfig Query configuration
     */
    getUsedIn(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.usedInResponse(response.data), response);
        });
    }
    /**
     * Gets multiple items from given url
     * @param url Url used to get multiple items
     * @param queryConfig Query configuration
     */
    getMultipleItems(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.listContentItemsResponse(response.data), response);
        });
    }
    /**
     * Gets single content type from given url
     * @param url Url used to get single type
     * @param queryConfig Query configuration
     */
    getSingleType(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.viewContentTypeResponse(response.data), response);
        });
    }
    /**
     * Gets multiple content types from given url
     * @param url Url used to get multiple types
     * @param queryConfig Query configuration
     */
    getMultipleTypes(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.listContentTypesResponse(response.data), response);
        });
    }
    /**
     * Initializes synchronization of changes in content items based on the specified parameters. After the initialization,
     * you'll get an X-Continuation token in the response.
     * Use the token to synchronize changes in the content items matching the initialization criteria.
     * @param url Url
     * @param queryConfig Query configuration
     */
    initializeSync(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.postResponseAsync(url, {}, queryConfig);
            return this.mapNetworkResponse(this.mappingService.initializeContentSync(response.data), response);
        });
    }
    /**
     * Retrieve a list of delta updates to recently changed content items in the specified environment.
     * The types of items you get is determined by the X-Continuation token you use.
     * @param url Url used to get multiple types
     * @param queryConfig Query configuration
     */
    syncChanges(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.syncChanges(response.data), response);
        });
    }
    /**
     * Gets languages
     * @param url Url
     * @param queryConfig Query configuration
     */
    getLanguages(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.listLanguagesResponse(response.data), response);
        });
    }
    /**
     * Gets single taxonomy from given url
     * @param url Url used to get single taxonomy
     * @param queryConfig Query configuration
     */
    getTaxonomy(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.viewTaxonomyResponse(response.data), response);
        });
    }
    /**
     * Gets multiple taxonomies from given url
     * @param url Url used to get multiple taxonomies
     * @param queryConfig Query configuration
     */
    getTaxonomies(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.listTaxonomiesResponse(response.data), response);
        });
    }
    /**
     * Gets single content type element from given url
     * @param url Url used to get single content type element
     * @param queryConfig Query configuration
     */
    getElementAsync(url, queryConfig) {
        return __awaiter(this, void 0, void 0, function* () {
            const response = yield this.getResponseAsync(url, queryConfig);
            return this.mapNetworkResponse(this.mappingService.viewContentTypeElementResponse(response.data), response);
        });
    }
    getListAllResponse(data) {
        return __awaiter(this, void 0, void 0, function* () {
            const responses = yield this.getListAllResponseInternalAsync({
                page: data.page,
                resolvedResponses: [],
                getResponse: data.getResponse,
                nextPageUrl: undefined,
                continuationToken: undefined,
                listQueryConfig: data.listQueryConfig
            });
            return data.allResponseFactory(responses.reduce((prev, current) => {
                prev.push(...current.data.items);
                return prev;
            }, []), responses);
        });
    }
    getListAllResponseInternalAsync(data) {
        var _a, _b, _c, _d;
        return __awaiter(this, void 0, void 0, function* () {
            if ((_a = data.listQueryConfig) === null || _a === void 0 ? void 0 : _a.pages) {
                if (data.page > data.listQueryConfig.pages) {
                    // page limit reached, return result
                    return data.resolvedResponses;
                }
            }
            const response = yield data.getResponse(data.nextPageUrl, data.continuationToken);
            if ((_b = data.listQueryConfig) === null || _b === void 0 ? void 0 : _b.delayBetweenRequests) {
                yield this.sleep(data.listQueryConfig.delayBetweenRequests);
            }
            data.resolvedResponses.push(response);
            if ((_c = data.listQueryConfig) === null || _c === void 0 ? void 0 : _c.responseFetched) {
                data.listQueryConfig.responseFetched(response, data.nextPageUrl, data.continuationToken);
            }
            const nextPage = (_d = response.data.pagination) === null || _d === void 0 ? void 0 : _d.nextPage;
            const continuationToken = response.xContinuationToken;
            if (nextPage || continuationToken) {
                // recursively fetch next page data
                return yield this.getListAllResponseInternalAsync({
                    page: data.page + 1,
                    nextPageUrl: nextPage,
                    continuationToken: continuationToken,
                    listQueryConfig: data.listQueryConfig,
                    getResponse: data.getResponse,
                    resolvedResponses: data.resolvedResponses
                });
            }
            return data.resolvedResponses;
        });
    }
    sleep(ms) {
        return new Promise((resolve) => setTimeout(resolve, ms));
    }
}
exports.QueryService = QueryService;


/***/ }),

/***/ "./lib/services/index.ts":
/*!*******************************!*\
  !*** ./lib/services/index.ts ***!
  \*******************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./delivery-query.service */ "./lib/services/delivery-query.service.ts"), exports);
__exportStar(__webpack_require__(/*! ./mapping.service */ "./lib/services/mapping.service.ts"), exports);


/***/ }),

/***/ "./lib/services/mapping.service.ts":
/*!*****************************************!*\
  !*** ./lib/services/mapping.service.ts ***!
  \*****************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.MappingService = void 0;
const mappers_1 = __webpack_require__(/*! ../mappers */ "./lib/mappers/index.ts");
class MappingService {
    constructor(config) {
        this.config = config;
        this.typeMapper = new mappers_1.TypeMapper();
        this.languageMapper = new mappers_1.LanguageMapper();
        this.itemMapper = new mappers_1.ItemMapper(config);
        this.taxonomyMapper = new mappers_1.TaxonomyMapper();
        this.usedInMapper = new mappers_1.UsedInMapper();
        this.genericElementMapper = new mappers_1.GenericElementMapper();
        this.syncMapper = new mappers_1.SyncMapper();
    }
    usedInResponse(data) {
        return {
            items: data.items.map((m) => this.usedInMapper.mapUsedInItem(m))
        };
    }
    /**
     * Gets response for list of languages
     * @param data Response data
     */
    listLanguagesResponse(data) {
        return {
            items: this.languageMapper.mapMultipleLanguages(data),
            pagination: this.mapPagination(data.pagination)
        };
    }
    /**
     * Gets response for getting a multiple type
     * @param data Response data
     */
    listContentTypesResponse(data) {
        return {
            items: this.typeMapper.mapMultipleTypes(data),
            pagination: this.mapPagination(data.pagination)
        };
    }
    /**
     * Gets response for single type
     * @param data Response data
     * @param options Options
     */
    viewContentTypeResponse(data) {
        return {
            type: this.typeMapper.mapSingleType(data)
        };
    }
    itemsFeedResponse(data) {
        const itemsResult = this.itemMapper.mapItems({
            linkedItems: Object.values(data.modular_content),
            mainItems: data.items
        });
        return {
            items: itemsResult.items,
            linkedItems: itemsResult.linkedItems
        };
    }
    /**
     * Gets response for getting single item
     * @param data Response data
     * @param queryConfig Query configuration
     */
    viewContentItemResponse(data) {
        const itemResult = this.itemMapper.mapSingleItemFromResponse(data);
        return {
            item: itemResult.item,
            linkedItems: itemResult.linkedItems
        };
    }
    /**
     * Gets response for getting multiple items
     * @param data Response data
     * @param queryConfig Query configuration
     */
    listContentItemsResponse(data) {
        const itemsResult = this.itemMapper.mapMultipleItemsFromResponse(data);
        return {
            items: itemsResult.items,
            pagination: this.mapPagination(data.pagination),
            linkedItems: itemsResult.linkedItems
        };
    }
    /**
     * Gets response for getting single taxonomy item
     * @param data Response data
     */
    viewTaxonomyResponse(data) {
        return {
            taxonomy: this.taxonomyMapper.mapTaxonomy(data.system, data.terms)
        };
    }
    /**
     * Gets response for getting multiples taxonomies
     * @param data Response data
     */
    listTaxonomiesResponse(data) {
        return {
            items: this.taxonomyMapper.mapTaxonomies(data.taxonomies),
            pagination: this.mapPagination(data.pagination)
        };
    }
    /**
     * Gets response for getting single content type element
     * @param data Response data
     */
    viewContentTypeElementResponse(data) {
        return this.genericElementMapper.mapElement(data);
    }
    initializeContentSync(data) {
        return {
            items: data.items.map((m) => this.syncMapper.mapContentItemDelta(m))
        };
    }
    syncChanges(data) {
        return {
            items: data.items.map((m) => this.syncMapper.mapContentItemDelta(m))
        };
    }
    mapPagination(paginationContract) {
        var _a;
        return {
            skip: paginationContract.skip,
            count: paginationContract.count,
            limit: paginationContract.limit,
            nextPage: paginationContract.next_page,
            totalCount: (_a = paginationContract.total_count) !== null && _a !== void 0 ? _a : null
        };
    }
}
exports.MappingService = MappingService;


/***/ }),

/***/ "./lib/utilities/codename.helper.ts":
/*!******************************************!*\
  !*** ./lib/utilities/codename.helper.ts ***!
  \******************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.codenameHelper = exports.CodenameHelper = void 0;
class CodenameHelper {
    /**
     * This is used to prevent errors caused by reserved names in content item codename (e.g. 'constructor')
     */
    escapeCodenameInCodenameIndexer(codename) {
        return `_${codename}`;
    }
}
exports.CodenameHelper = CodenameHelper;
exports.codenameHelper = new CodenameHelper();


/***/ }),

/***/ "./lib/utilities/delivery-url.helper.ts":
/*!**********************************************!*\
  !*** ./lib/utilities/delivery-url.helper.ts ***!
  \**********************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.deliveryUrlHelper = exports.DeliveryUrlHelper = void 0;
class DeliveryUrlHelper {
    replaceAssetDomain(originalAssetUrl, customDomain) {
        return `${customDomain}${this.getPathname(originalAssetUrl)}`;
    }
    getPathname(url) {
        return new URL(url).pathname;
    }
}
exports.DeliveryUrlHelper = DeliveryUrlHelper;
exports.deliveryUrlHelper = new DeliveryUrlHelper();


/***/ }),

/***/ "./lib/utilities/enum.helper.ts":
/*!**************************************!*\
  !*** ./lib/utilities/enum.helper.ts ***!
  \**************************************/
/***/ ((__unused_webpack_module, exports) => {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.enumHelper = exports.EnumHelper = void 0;
class EnumHelper {
    getAllValues(T) {
        const allEnumValues = Object.keys(T).map((key) => T[key]);
        return allEnumValues;
    }
    getEnumFromValue(T, value) {
        try {
            if (!value) {
                return undefined;
            }
            // we can map back from index number directly
            if (this.isNumeric(value)) {
                return T[value];
            }
            // for strings, we need to compare each value separately
            const allEnumValues = this.getAllValues(T);
            const result = allEnumValues.find((m) => m.toLowerCase() === value.toString().toLowerCase());
            if (!result) {
                return undefined;
            }
            return result;
        }
        catch (err) {
            return undefined;
        }
    }
    isNumeric(value) {
        return !isNaN(parseFloat(value)) && isFinite(value);
    }
}
exports.EnumHelper = EnumHelper;
exports.enumHelper = new EnumHelper();


/***/ }),

/***/ "./lib/utilities/index.ts":
/*!********************************!*\
  !*** ./lib/utilities/index.ts ***!
  \********************************/
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
__exportStar(__webpack_require__(/*! ./codename.helper */ "./lib/utilities/codename.helper.ts"), exports);
__exportStar(__webpack_require__(/*! ./delivery-url.helper */ "./lib/utilities/delivery-url.helper.ts"), exports);
__exportStar(__webpack_require__(/*! ./enum.helper */ "./lib/utilities/enum.helper.ts"), exports);


/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/header.helper.js":
/*!*****************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/header.helper.js ***!
  \*****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   HeaderHelper: () => (/* binding */ HeaderHelper),
/* harmony export */   headerHelper: () => (/* binding */ headerHelper)
/* harmony export */ });
class HeaderHelper {
    constructor() {
        /**
        * Header name for SDK usage
        */
        this.sdkVersionHeader = 'X-KC-SDKID';
    }
    /**
    * Header identifying SDK type & version for internal purposes of Kontent.ai
    */
    getSdkIdHeader(info) {
        return {
            header: this.sdkVersionHeader,
            value: `${info.host};${info.name};${info.version}`
        };
    }
}
const headerHelper = new HeaderHelper();
//# sourceMappingURL=header.helper.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/headers-helper.js":
/*!******************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/headers-helper.js ***!
  \******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   extractHeadersFromAxiosResponse: () => (/* binding */ extractHeadersFromAxiosResponse)
/* harmony export */ });
function extractHeadersFromAxiosResponse(response) {
    const headers = [];
    for (const headerKey of Object.keys(response.headers)) {
        headers.push({
            header: headerKey,
            value: response.headers[headerKey]
        });
    }
    return headers;
}
//# sourceMappingURL=headers-helper.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/index.js":
/*!*********************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/index.js ***!
  \*********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   HeaderHelper: () => (/* reexport safe */ _header_helper__WEBPACK_IMPORTED_MODULE_1__.HeaderHelper),
/* harmony export */   RetryHelper: () => (/* reexport safe */ _retry_helper__WEBPACK_IMPORTED_MODULE_2__.RetryHelper),
/* harmony export */   UrlHelper: () => (/* reexport safe */ _url_helper__WEBPACK_IMPORTED_MODULE_0__.UrlHelper),
/* harmony export */   extractHeadersFromAxiosResponse: () => (/* reexport safe */ _headers_helper__WEBPACK_IMPORTED_MODULE_3__.extractHeadersFromAxiosResponse),
/* harmony export */   headerHelper: () => (/* reexport safe */ _header_helper__WEBPACK_IMPORTED_MODULE_1__.headerHelper),
/* harmony export */   retryHelper: () => (/* reexport safe */ _retry_helper__WEBPACK_IMPORTED_MODULE_2__.retryHelper),
/* harmony export */   urlHelper: () => (/* reexport safe */ _url_helper__WEBPACK_IMPORTED_MODULE_0__.urlHelper)
/* harmony export */ });
/* harmony import */ var _url_helper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./url.helper */ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/url.helper.js");
/* harmony import */ var _header_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./header.helper */ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/header.helper.js");
/* harmony import */ var _retry_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./retry-helper */ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/retry-helper.js");
/* harmony import */ var _headers_helper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./headers-helper */ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/headers-helper.js");




//# sourceMappingURL=index.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/retry-helper.js":
/*!****************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/retry-helper.js ***!
  \****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   RetryHelper: () => (/* binding */ RetryHelper),
/* harmony export */   retryHelper: () => (/* binding */ retryHelper)
/* harmony export */ });
/* harmony import */ var _headers_helper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./headers-helper */ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/headers-helper.js");

class RetryHelper {
    constructor() {
        this.requestCancelledMessagePrefix = 'Request cancelled';
        this.retryAfterHeaderName = 'Retry-After';
        this.defaultRetryStatusCodes = [408, 429, 500, 502, 503, 504];
        this.defaultRetryStrategy = {
            addJitter: true,
            deltaBackoffMs: 1000,
            maxAttempts: 5,
            canRetryError: (error) => this.canRetryErrorDefault(error)
        };
    }
    getRetryErrorResult(data) {
        var _a, _b, _c;
        if (data.error && data.error.message) {
            if (data.error.message.startsWith(this.requestCancelledMessagePrefix)) {
                // request was cancelled by user, do not retry it
                return {
                    canRetry: false,
                    retryInMs: 0,
                    maxRetries: 0
                };
            }
        }
        const canRetryError = data.retryStrategy.canRetryError
            ? data.retryStrategy.canRetryError(data.error)
            : this.defaultRetryStrategy.canRetryError(data.error);
        if (!canRetryError) {
            // request cannot be retried
            return {
                canRetry: false,
                retryInMs: 0,
                maxRetries: 0
            };
        }
        const maxRetries = ((_a = data.retryStrategy.maxAttempts) !== null && _a !== void 0 ? _a : this.defaultRetryStrategy.maxAttempts);
        const maxRetriesReached = data.retryAttempt >= maxRetries;
        if (maxRetriesReached) {
            // request cannot be retried anymore due to maximum attempts
            return {
                canRetry: false,
                retryInMs: 0,
                maxRetries: maxRetries
            };
        }
        // get wait time
        const retryResult = this.tryGetRetryAfterInMsFromError(data.error);
        if (retryResult) {
            // retry after header was provided
            return {
                canRetry: true,
                retryInMs: retryResult,
                maxRetries: maxRetries
            };
        }
        // wait time was not provided in header
        const waitTimeMs = this.getNextWaitTimeMs((_b = data.retryStrategy.addJitter) !== null && _b !== void 0 ? _b : this.defaultRetryStrategy.addJitter, (_c = data.retryStrategy.deltaBackoffMs) !== null && _c !== void 0 ? _c : this.defaultRetryStrategy.deltaBackoffMs, data.retryAttempt);
        return {
            canRetry: true,
            retryInMs: waitTimeMs,
            maxRetries: maxRetries
        };
    }
    getRetryStrategyFromStrategyOptions(retryOptions) {
        if (!retryOptions) {
            return this.defaultRetryStrategy;
        }
        return retryOptions;
    }
    canRetryInTime(startTime, maxCumulativeWaitTimeMs) {
        const start = startTime.getTime();
        const now = new Date().getTime();
        const differenceInMs = now - start;
        return {
            canRetry: differenceInMs < maxCumulativeWaitTimeMs,
            differenceInMs: differenceInMs
        };
    }
    getNextWaitTimeMs(addJitter, deltaBackoffMs, retryAttempts) {
        if (!addJitter) {
            return deltaBackoffMs * Math.pow(2, retryAttempts);
        }
        const from = 0.8 * deltaBackoffMs;
        const to = 1.2 * deltaBackoffMs * Math.pow(2, retryAttempts);
        return this.randomNumberFromInterval(from, to);
    }
    canRetryErrorDefault(error) {
        const axiosError = this.tryGetAxiosError(error);
        if (!axiosError) {
            // by default non-axios errors are not retried
            return false;
        }
        const statusCode = this.getStatusCodeFromError(error);
        const canRetryStatusCode = this.canRetryStatusCode(statusCode, this.defaultRetryStatusCodes);
        if (canRetryStatusCode) {
            return true;
        }
        return false;
    }
    tryGetRetryAfterInMsFromError(error) {
        const axiosError = this.tryGetAxiosError(error);
        if (!axiosError || !axiosError.response) {
            return undefined;
        }
        const headers = (0,_headers_helper__WEBPACK_IMPORTED_MODULE_0__.extractHeadersFromAxiosResponse)(axiosError.response);
        const retryValueHeader = headers.find((m) => m.header.toLowerCase() === this.retryAfterHeaderName.toLowerCase());
        if (!retryValueHeader) {
            return undefined;
        }
        const retryInSeconds = +retryValueHeader.value;
        return retryInSeconds * 1000;
    }
    canRetryStatusCode(statusCode, useRetryForResponseCodes) {
        return useRetryForResponseCodes.includes(statusCode);
    }
    getStatusCodeFromError(error) {
        const axiosError = this.tryGetAxiosError(error);
        if (!axiosError || !axiosError.response) {
            return 0;
        }
        return axiosError.response.status;
    }
    tryGetAxiosError(error) {
        if (!error) {
            return undefined;
        }
        if (error.isAxiosError) {
            return error;
        }
        const originalError = error.originalError;
        if (originalError && originalError.isAxiosError) {
            return originalError;
        }
        return undefined;
    }
    /**
     * min and max included
     */
    randomNumberFromInterval(min, max) {
        return Math.floor(Math.random() * (max - min + 1) + min);
    }
}
const retryHelper = new RetryHelper();
//# sourceMappingURL=retry-helper.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/url.helper.js":
/*!**************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/url.helper.js ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   UrlHelper: () => (/* binding */ UrlHelper),
/* harmony export */   urlHelper: () => (/* binding */ urlHelper)
/* harmony export */ });
class UrlHelper {
    /**
   * Adds query parameters to given url
   * @param url Url to which options will be added
   * @param options Query parameters to add
   */
    addOptionsToUrl(url, options) {
        if (options) {
            options.forEach(filter => {
                if (url.indexOf('?') > -1) {
                    url += '&';
                }
                else {
                    url += '?';
                }
                url += filter.getParam();
            });
        }
        return url;
    }
}
const urlHelper = new UrlHelper();
//# sourceMappingURL=url.helper.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.debugger.js":
/*!**************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.debugger.js ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   HttpDebugger: () => (/* binding */ HttpDebugger),
/* harmony export */   httpDebugger: () => (/* binding */ httpDebugger)
/* harmony export */ });
class HttpDebugger {
    /*
    Called when http request is started
    */
    debugStartHttpRequest() {
    }
    /*
    Called when http request is resolved
    */
    debugSuccessHttpRequest() {
    }
    /*
    Called when http request is being retried
    */
    debugRetryHttpRequest() {
    }
}
const httpDebugger = new HttpDebugger();
//# sourceMappingURL=http.debugger.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.functions.js":
/*!***************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.functions.js ***!
  \***************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   createCancelToken: () => (/* binding */ createCancelToken),
/* harmony export */   deleteWithRetryAsync: () => (/* binding */ deleteWithRetryAsync),
/* harmony export */   getWithRetryAsync: () => (/* binding */ getWithRetryAsync),
/* harmony export */   patchWithRetryAsync: () => (/* binding */ patchWithRetryAsync),
/* harmony export */   postWithRetryAsync: () => (/* binding */ postWithRetryAsync),
/* harmony export */   putWithRetryAsync: () => (/* binding */ putWithRetryAsync)
/* harmony export */ });
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
/* harmony import */ var _helpers_headers_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/headers-helper */ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/headers-helper.js");
/* harmony import */ var _http_debugger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./http.debugger */ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.debugger.js");
/* harmony import */ var _helpers_retry_helper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/retry-helper */ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/retry-helper.js");
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};




function getWithRetryAsync(instance, call, functionsConfig, options) {
    var _a;
    return __awaiter(this, void 0, void 0, function* () {
        const retryStrategyOptions = (_a = options === null || options === void 0 ? void 0 : options.retryStrategy) !== null && _a !== void 0 ? _a : _helpers_retry_helper__WEBPACK_IMPORTED_MODULE_3__.retryHelper.defaultRetryStrategy;
        return yield runWithRetryAsync({
            retryAttempt: 0,
            url: call.url,
            retryStrategy: retryStrategyOptions,
            functionsConfig: functionsConfig,
            call: (retryAttempt) => __awaiter(this, void 0, void 0, function* () {
                var _b, _c;
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugStartHttpRequest();
                const axiosResponse = yield instance.get(call.url, {
                    headers: getHeadersJson((_b = options === null || options === void 0 ? void 0 : options.headers) !== null && _b !== void 0 ? _b : [], false),
                    responseType: options === null || options === void 0 ? void 0 : options.responseType,
                    cancelToken: (_c = options === null || options === void 0 ? void 0 : options.cancelToken) === null || _c === void 0 ? void 0 : _c.token
                });
                const response = {
                    data: axiosResponse.data,
                    rawResponse: axiosResponse,
                    headers: (0,_helpers_headers_helper__WEBPACK_IMPORTED_MODULE_1__.extractHeadersFromAxiosResponse)(axiosResponse),
                    status: axiosResponse.status,
                    retryStrategy: {
                        options: retryStrategyOptions,
                        retryAttempts: retryAttempt
                    }
                };
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugSuccessHttpRequest();
                return response;
            })
        });
    });
}
function postWithRetryAsync(instance, call, functionsConfig, options) {
    var _a;
    return __awaiter(this, void 0, void 0, function* () {
        const retryStrategyOptions = (_a = options === null || options === void 0 ? void 0 : options.retryStrategy) !== null && _a !== void 0 ? _a : _helpers_retry_helper__WEBPACK_IMPORTED_MODULE_3__.retryHelper.defaultRetryStrategy;
        return yield runWithRetryAsync({
            retryAttempt: 0,
            url: call.url,
            retryStrategy: retryStrategyOptions,
            functionsConfig: functionsConfig,
            call: (retryAttempt) => __awaiter(this, void 0, void 0, function* () {
                var _b, _c;
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugStartHttpRequest();
                const axiosResponse = yield instance.post(call.url, call.body, {
                    headers: getHeadersJson((_b = options === null || options === void 0 ? void 0 : options.headers) !== null && _b !== void 0 ? _b : [], false),
                    responseType: options === null || options === void 0 ? void 0 : options.responseType,
                    // required for uploading large files
                    // https://github.com/axios/axios/issues/1362
                    maxContentLength: 'Infinity',
                    maxBodyLength: 'Infinity',
                    cancelToken: (_c = options === null || options === void 0 ? void 0 : options.cancelToken) === null || _c === void 0 ? void 0 : _c.token
                });
                const response = {
                    data: axiosResponse.data,
                    rawResponse: axiosResponse,
                    headers: (0,_helpers_headers_helper__WEBPACK_IMPORTED_MODULE_1__.extractHeadersFromAxiosResponse)(axiosResponse),
                    status: axiosResponse.status,
                    retryStrategy: {
                        options: retryStrategyOptions,
                        retryAttempts: retryAttempt
                    }
                };
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugSuccessHttpRequest();
                return response;
            })
        });
    });
}
function putWithRetryAsync(instance, call, functionsConfig, options) {
    var _a;
    return __awaiter(this, void 0, void 0, function* () {
        const retryStrategyOptions = (_a = options === null || options === void 0 ? void 0 : options.retryStrategy) !== null && _a !== void 0 ? _a : _helpers_retry_helper__WEBPACK_IMPORTED_MODULE_3__.retryHelper.defaultRetryStrategy;
        return yield runWithRetryAsync({
            retryAttempt: 0,
            url: call.url,
            retryStrategy: retryStrategyOptions,
            functionsConfig: functionsConfig,
            call: (retryAttempt) => __awaiter(this, void 0, void 0, function* () {
                var _b, _c;
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugStartHttpRequest();
                const axiosResponse = yield instance.put(call.url, call.body, {
                    headers: getHeadersJson((_b = options === null || options === void 0 ? void 0 : options.headers) !== null && _b !== void 0 ? _b : [], false),
                    responseType: options === null || options === void 0 ? void 0 : options.responseType,
                    // required for uploading large files
                    // https://github.com/axios/axios/issues/1362
                    maxContentLength: 'Infinity',
                    maxBodyLength: 'Infinity',
                    cancelToken: (_c = options === null || options === void 0 ? void 0 : options.cancelToken) === null || _c === void 0 ? void 0 : _c.token
                });
                const response = {
                    data: axiosResponse.data,
                    rawResponse: axiosResponse,
                    headers: (0,_helpers_headers_helper__WEBPACK_IMPORTED_MODULE_1__.extractHeadersFromAxiosResponse)(axiosResponse),
                    status: axiosResponse.status,
                    retryStrategy: {
                        options: retryStrategyOptions,
                        retryAttempts: retryAttempt
                    }
                };
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugSuccessHttpRequest();
                return response;
            })
        });
    });
}
function patchWithRetryAsync(instance, call, functionsConfig, options) {
    var _a;
    return __awaiter(this, void 0, void 0, function* () {
        const retryStrategyOptions = (_a = options === null || options === void 0 ? void 0 : options.retryStrategy) !== null && _a !== void 0 ? _a : _helpers_retry_helper__WEBPACK_IMPORTED_MODULE_3__.retryHelper.defaultRetryStrategy;
        return yield runWithRetryAsync({
            retryAttempt: 0,
            url: call.url,
            retryStrategy: retryStrategyOptions,
            functionsConfig: functionsConfig,
            call: (retryAttempt) => __awaiter(this, void 0, void 0, function* () {
                var _b, _c;
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugStartHttpRequest();
                const axiosResponse = yield instance.patch(call.url, call.body, {
                    headers: getHeadersJson((_b = options === null || options === void 0 ? void 0 : options.headers) !== null && _b !== void 0 ? _b : [], false),
                    responseType: options === null || options === void 0 ? void 0 : options.responseType,
                    // required for uploading large files
                    // https://github.com/axios/axios/issues/1362
                    maxContentLength: 'Infinity',
                    maxBodyLength: 'Infinity',
                    cancelToken: (_c = options === null || options === void 0 ? void 0 : options.cancelToken) === null || _c === void 0 ? void 0 : _c.token
                });
                const response = {
                    data: axiosResponse.data,
                    rawResponse: axiosResponse,
                    headers: (0,_helpers_headers_helper__WEBPACK_IMPORTED_MODULE_1__.extractHeadersFromAxiosResponse)(axiosResponse),
                    status: axiosResponse.status,
                    retryStrategy: {
                        options: retryStrategyOptions,
                        retryAttempts: retryAttempt
                    }
                };
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugSuccessHttpRequest();
                return response;
            })
        });
    });
}
function deleteWithRetryAsync(instance, call, functionsConfig, options) {
    var _a;
    return __awaiter(this, void 0, void 0, function* () {
        const retryStrategyOptions = (_a = options === null || options === void 0 ? void 0 : options.retryStrategy) !== null && _a !== void 0 ? _a : _helpers_retry_helper__WEBPACK_IMPORTED_MODULE_3__.retryHelper.defaultRetryStrategy;
        return yield runWithRetryAsync({
            retryAttempt: 0,
            url: call.url,
            retryStrategy: retryStrategyOptions,
            functionsConfig: functionsConfig,
            call: (retryAttempt) => __awaiter(this, void 0, void 0, function* () {
                var _b, _c;
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugStartHttpRequest();
                const axiosResponse = yield instance.delete(call.url, {
                    headers: getHeadersJson((_b = options === null || options === void 0 ? void 0 : options.headers) !== null && _b !== void 0 ? _b : [], false),
                    responseType: options === null || options === void 0 ? void 0 : options.responseType,
                    // required for uploading large files
                    // https://github.com/axios/axios/issues/1362
                    maxContentLength: 'Infinity',
                    maxBodyLength: 'Infinity',
                    cancelToken: (_c = options === null || options === void 0 ? void 0 : options.cancelToken) === null || _c === void 0 ? void 0 : _c.token
                });
                const response = {
                    data: axiosResponse.data,
                    rawResponse: axiosResponse,
                    headers: (0,_helpers_headers_helper__WEBPACK_IMPORTED_MODULE_1__.extractHeadersFromAxiosResponse)(axiosResponse),
                    status: axiosResponse.status,
                    retryStrategy: {
                        options: retryStrategyOptions,
                        retryAttempts: retryAttempt
                    }
                };
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugSuccessHttpRequest();
                return response;
            })
        });
    });
}
function createCancelToken() {
    let canceler;
    const token = new axios__WEBPACK_IMPORTED_MODULE_0__["default"].CancelToken((c) => {
        // An executor function receives a cancel function as a parameter
        canceler = c;
    });
    return {
        cancel: (cancelMessage) => canceler(`${_helpers_retry_helper__WEBPACK_IMPORTED_MODULE_3__.retryHelper.requestCancelledMessagePrefix}: ${cancelMessage !== null && cancelMessage !== void 0 ? cancelMessage : 'User cancel'}`),
        token: token
    };
}
function runWithRetryAsync(data) {
    return __awaiter(this, void 0, void 0, function* () {
        try {
            return yield data.call(data.retryAttempt);
        }
        catch (error) {
            const retryResult = _helpers_retry_helper__WEBPACK_IMPORTED_MODULE_3__.retryHelper.getRetryErrorResult({
                error: error,
                retryAttempt: data.retryAttempt,
                retryStrategy: data.retryStrategy
            });
            if (retryResult.canRetry) {
                _http_debugger__WEBPACK_IMPORTED_MODULE_2__.httpDebugger.debugRetryHttpRequest();
                // wait time before retrying
                yield new Promise((resolve) => setTimeout(resolve, retryResult.retryInMs));
                if (data.functionsConfig.logErrorsToConsole) {
                    console.warn(`Retry attempt '${data.retryAttempt + 1}' from a maximum of '${retryResult.maxRetries}' retries. Request url: '${data.url}'`);
                }
                // retry request
                return yield runWithRetryAsync({
                    call: data.call,
                    retryStrategy: data.retryStrategy,
                    retryAttempt: data.retryAttempt + 1,
                    url: data.url,
                    functionsConfig: data.functionsConfig
                });
            }
            if (data.functionsConfig.logErrorsToConsole) {
                console.error(`Executing '${data.url}' failed. Request was retried '${data.retryAttempt}' times. `, error);
            }
            throw error;
        }
    });
}
function getHeadersJson(headers, addContentTypeHeader) {
    const headerJson = {};
    headers.forEach((header) => {
        headerJson[header.header] = header.value;
    });
    if (addContentTypeHeader) {
        // add default content type header if not present
        const contentTypeHeader = headers.find((m) => m.header.toLowerCase() === 'Content-Type'.toLowerCase());
        if (!contentTypeHeader) {
            headerJson['Content-Type'] = 'application/json';
        }
    }
    return headerJson;
}
//# sourceMappingURL=http.functions.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.models.js":
/*!************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.models.js ***!
  \************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);

//# sourceMappingURL=http.models.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.service.js":
/*!*************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.service.js ***!
  \*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   HttpService: () => (/* binding */ HttpService)
/* harmony export */ });
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js");
/* harmony import */ var _http_functions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./http.functions */ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.functions.js");
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};


class HttpService {
    constructor(opts) {
        this.opts = opts;
        this.axiosInstance = axios__WEBPACK_IMPORTED_MODULE_0__["default"].create(opts === null || opts === void 0 ? void 0 : opts.axiosRequestConfig);
        this.functionsConfig = this.getFunctionsConfig();
    }
    getAsync(call, options) {
        return __awaiter(this, void 0, void 0, function* () {
            return yield _http_functions__WEBPACK_IMPORTED_MODULE_1__.getWithRetryAsync(this.axiosInstance, call, this.functionsConfig, options);
        });
    }
    postAsync(call, options) {
        return __awaiter(this, void 0, void 0, function* () {
            return yield _http_functions__WEBPACK_IMPORTED_MODULE_1__.postWithRetryAsync(this.axiosInstance, call, this.functionsConfig, options);
        });
    }
    putAsync(call, options) {
        return __awaiter(this, void 0, void 0, function* () {
            return yield _http_functions__WEBPACK_IMPORTED_MODULE_1__.putWithRetryAsync(this.axiosInstance, call, this.functionsConfig, options);
        });
    }
    patchAsync(call, options) {
        return __awaiter(this, void 0, void 0, function* () {
            return yield _http_functions__WEBPACK_IMPORTED_MODULE_1__.patchWithRetryAsync(this.axiosInstance, call, this.functionsConfig, options);
        });
    }
    deleteAsync(call, options) {
        return __awaiter(this, void 0, void 0, function* () {
            return yield _http_functions__WEBPACK_IMPORTED_MODULE_1__.deleteWithRetryAsync(this.axiosInstance, call, this.functionsConfig, options);
        });
    }
    createCancelToken() {
        return _http_functions__WEBPACK_IMPORTED_MODULE_1__.createCancelToken();
    }
    getFunctionsConfig() {
        var _a, _b;
        return {
            logErrorsToConsole: (_b = (_a = this.opts) === null || _a === void 0 ? void 0 : _a.logErrorsToConsole) !== null && _b !== void 0 ? _b : true
        };
    }
}
//# sourceMappingURL=http.service.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/ihttp.service.js":
/*!**************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/http/ihttp.service.js ***!
  \**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);

//# sourceMappingURL=ihttp.service.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/index.js":
/*!******************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/http/index.js ***!
  \******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   HttpDebugger: () => (/* reexport safe */ _http_debugger__WEBPACK_IMPORTED_MODULE_4__.HttpDebugger),
/* harmony export */   HttpService: () => (/* reexport safe */ _http_service__WEBPACK_IMPORTED_MODULE_1__.HttpService),
/* harmony export */   TestHttpService: () => (/* reexport safe */ _test_http_service__WEBPACK_IMPORTED_MODULE_5__.TestHttpService),
/* harmony export */   createCancelToken: () => (/* reexport safe */ _http_functions__WEBPACK_IMPORTED_MODULE_3__.createCancelToken),
/* harmony export */   deleteWithRetryAsync: () => (/* reexport safe */ _http_functions__WEBPACK_IMPORTED_MODULE_3__.deleteWithRetryAsync),
/* harmony export */   getWithRetryAsync: () => (/* reexport safe */ _http_functions__WEBPACK_IMPORTED_MODULE_3__.getWithRetryAsync),
/* harmony export */   httpDebugger: () => (/* reexport safe */ _http_debugger__WEBPACK_IMPORTED_MODULE_4__.httpDebugger),
/* harmony export */   patchWithRetryAsync: () => (/* reexport safe */ _http_functions__WEBPACK_IMPORTED_MODULE_3__.patchWithRetryAsync),
/* harmony export */   postWithRetryAsync: () => (/* reexport safe */ _http_functions__WEBPACK_IMPORTED_MODULE_3__.postWithRetryAsync),
/* harmony export */   putWithRetryAsync: () => (/* reexport safe */ _http_functions__WEBPACK_IMPORTED_MODULE_3__.putWithRetryAsync)
/* harmony export */ });
/* harmony import */ var _ihttp_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ihttp.service */ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/ihttp.service.js");
/* harmony import */ var _http_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./http.service */ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.service.js");
/* harmony import */ var _http_models__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./http.models */ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.models.js");
/* harmony import */ var _http_functions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./http.functions */ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.functions.js");
/* harmony import */ var _http_debugger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./http.debugger */ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/http.debugger.js");
/* harmony import */ var _test_http_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./test-http.service */ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/test-http.service.js");






//# sourceMappingURL=index.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/test-http.service.js":
/*!******************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/http/test-http.service.js ***!
  \******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   TestHttpService: () => (/* binding */ TestHttpService)
/* harmony export */ });
class TestHttpService {
    constructor(config) {
        this.response = undefined;
        this.error = undefined;
        Object.assign(this, config);
    }
    getAsync(call, options) {
        return this.resolveTestCall();
    }
    postAsync(call, options) {
        return this.resolveTestCall();
    }
    putAsync(call, options) {
        return this.resolveTestCall();
    }
    patchAsync(call, options) {
        return this.resolveTestCall();
    }
    deleteAsync(call, options) {
        return this.resolveTestCall();
    }
    createCancelToken() {
        return {
            cancel: () => { },
            token: undefined
        };
    }
    resolveTestCall() {
        const promise = new Promise((resolve, reject) => {
            if (this.response) {
                resolve(this.response);
            }
            if (this.error) {
                reject(this.error);
            }
            throw Error(`Missing test data`);
        });
        return promise;
    }
}
//# sourceMappingURL=test-http.service.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/index.js":
/*!*************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/index.js ***!
  \*************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   HeaderHelper: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_0__.HeaderHelper),
/* harmony export */   HttpDebugger: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_2__.HttpDebugger),
/* harmony export */   HttpService: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_2__.HttpService),
/* harmony export */   Parameters: () => (/* reexport safe */ _models__WEBPACK_IMPORTED_MODULE_1__.Parameters),
/* harmony export */   RetryHelper: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_0__.RetryHelper),
/* harmony export */   TestHttpService: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_2__.TestHttpService),
/* harmony export */   UrlHelper: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_0__.UrlHelper),
/* harmony export */   createCancelToken: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_2__.createCancelToken),
/* harmony export */   deleteWithRetryAsync: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_2__.deleteWithRetryAsync),
/* harmony export */   extractHeadersFromAxiosResponse: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_0__.extractHeadersFromAxiosResponse),
/* harmony export */   getWithRetryAsync: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_2__.getWithRetryAsync),
/* harmony export */   headerHelper: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_0__.headerHelper),
/* harmony export */   httpDebugger: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_2__.httpDebugger),
/* harmony export */   patchWithRetryAsync: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_2__.patchWithRetryAsync),
/* harmony export */   postWithRetryAsync: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_2__.postWithRetryAsync),
/* harmony export */   putWithRetryAsync: () => (/* reexport safe */ _http__WEBPACK_IMPORTED_MODULE_2__.putWithRetryAsync),
/* harmony export */   retryHelper: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_0__.retryHelper),
/* harmony export */   urlHelper: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_0__.urlHelper)
/* harmony export */ });
/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers */ "./node_modules/@kontent-ai/core-sdk/dist/es6/helpers/index.js");
/* harmony import */ var _models__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./models */ "./node_modules/@kontent-ai/core-sdk/dist/es6/models/index.js");
/* harmony import */ var _http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./http */ "./node_modules/@kontent-ai/core-sdk/dist/es6/http/index.js");
/* Public API */



//# sourceMappingURL=index.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/models/index.js":
/*!********************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/models/index.js ***!
  \********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Parameters: () => (/* reexport safe */ _parameters__WEBPACK_IMPORTED_MODULE_2__.Parameters)
/* harmony export */ });
/* harmony import */ var _url_models__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./url.models */ "./node_modules/@kontent-ai/core-sdk/dist/es6/models/url.models.js");
/* harmony import */ var _isdk_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isdk-info */ "./node_modules/@kontent-ai/core-sdk/dist/es6/models/isdk-info.js");
/* harmony import */ var _parameters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parameters */ "./node_modules/@kontent-ai/core-sdk/dist/es6/models/parameters.js");



//# sourceMappingURL=index.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/models/isdk-info.js":
/*!************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/models/isdk-info.js ***!
  \************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);

//# sourceMappingURL=isdk-info.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/models/parameters.js":
/*!*************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/models/parameters.js ***!
  \*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Parameters: () => (/* binding */ Parameters)
/* harmony export */ });
var Parameters;
(function (Parameters) {
    class CustomParameter {
        /**
         * Custom parameter
         * @constructor
         * @param {string} name - Name of the parameter
         * @param {string} value - Value of the parameter
         */
        constructor(name, value) {
            this.name = name;
            this.value = value;
            if (!name) {
                throw Error(`Name of the custom parameter is not specified`);
            }
        }
        getParam() {
            return this.name;
        }
        getParamValue() {
            return this.value;
        }
    }
    Parameters.CustomParameter = CustomParameter;
})(Parameters || (Parameters = {}));
//# sourceMappingURL=parameters.js.map

/***/ }),

/***/ "./node_modules/@kontent-ai/core-sdk/dist/es6/models/url.models.js":
/*!*************************************************************************!*\
  !*** ./node_modules/@kontent-ai/core-sdk/dist/es6/models/url.models.js ***!
  \*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);

//# sourceMappingURL=url.models.js.map

/***/ }),

/***/ "./node_modules/axios/lib/adapters/adapters.js":
/*!*****************************************************!*\
  !*** ./node_modules/axios/lib/adapters/adapters.js ***!
  \*****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _http_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./http.js */ "./node_modules/axios/lib/helpers/null.js");
/* harmony import */ var _xhr_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./xhr.js */ "./node_modules/axios/lib/adapters/xhr.js");
/* harmony import */ var _fetch_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./fetch.js */ "./node_modules/axios/lib/adapters/fetch.js");
/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js");






const knownAdapters = {
  http: _http_js__WEBPACK_IMPORTED_MODULE_1__["default"],
  xhr: _xhr_js__WEBPACK_IMPORTED_MODULE_2__["default"],
  fetch: _fetch_js__WEBPACK_IMPORTED_MODULE_3__["default"]
}

_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(knownAdapters, (fn, value) => {
  if (fn) {
    try {
      Object.defineProperty(fn, 'name', {value});
    } catch (e) {
      // eslint-disable-next-line no-empty
    }
    Object.defineProperty(fn, 'adapterName', {value});
  }
});

const renderReason = (reason) => `- ${reason}`;

const isResolvedHandle = (adapter) => _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(adapter) || adapter === null || adapter === false;

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  getAdapter: (adapters) => {
    adapters = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(adapters) ? adapters : [adapters];

    const {length} = adapters;
    let nameOrAdapter;
    let adapter;

    const rejectedReasons = {};

    for (let i = 0; i < length; i++) {
      nameOrAdapter = adapters[i];
      let id;

      adapter = nameOrAdapter;

      if (!isResolvedHandle(nameOrAdapter)) {
        adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];

        if (adapter === undefined) {
          throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__["default"](`Unknown adapter '${id}'`);
        }
      }

      if (adapter) {
        break;
      }

      rejectedReasons[id || '#' + i] = adapter;
    }

    if (!adapter) {

      const reasons = Object.entries(rejectedReasons)
        .map(([id, state]) => `adapter ${id} ` +
          (state === false ? 'is not supported by the environment' : 'is not available in the build')
        );

      let s = length ?
        (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) :
        'as no adapter specified';

      throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_4__["default"](
        `There is no suitable adapter to dispatch the request ` + s,
        'ERR_NOT_SUPPORT'
      );
    }

    return adapter;
  },
  adapters: knownAdapters
});


/***/ }),

/***/ "./node_modules/axios/lib/adapters/fetch.js":
/*!**************************************************!*\
  !*** ./node_modules/axios/lib/adapters/fetch.js ***!
  \**************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js");
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js");
/* harmony import */ var _helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/composeSignals.js */ "./node_modules/axios/lib/helpers/composeSignals.js");
/* harmony import */ var _helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/trackStream.js */ "./node_modules/axios/lib/helpers/trackStream.js");
/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js");
/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js");
/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js");
/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core/settle.js */ "./node_modules/axios/lib/core/settle.js");










const isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';
const isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';

// used only inside the fetch adapter
const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?
    ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :
    async (str) => new Uint8Array(await new Response(str).arrayBuffer())
);

const test = (fn, ...args) => {
  try {
    return !!fn(...args);
  } catch (e) {
    return false
  }
}

const supportsRequestStream = isReadableStreamSupported && test(() => {
  let duplexAccessed = false;

  const hasContentType = new Request(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].origin, {
    body: new ReadableStream(),
    method: 'POST',
    get duplex() {
      duplexAccessed = true;
      return 'half';
    },
  }).headers.has('Content-Type');

  return duplexAccessed && !hasContentType;
});

const DEFAULT_CHUNK_SIZE = 64 * 1024;

const supportsResponseStream = isReadableStreamSupported &&
  test(() => _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isReadableStream(new Response('').body));


const resolvers = {
  stream: supportsResponseStream && ((res) => res.body)
};

isFetchSupported && (((res) => {
  ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {
    !resolvers[type] && (resolvers[type] = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFunction(res[type]) ? (res) => res[type]() :
      (_, config) => {
        throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"](`Response type '${type}' is not supported`, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].ERR_NOT_SUPPORT, config);
      })
  });
})(new Response));

const getBodyLength = async (body) => {
  if (body == null) {
    return 0;
  }

  if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isBlob(body)) {
    return body.size;
  }

  if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isSpecCompliantForm(body)) {
    const _request = new Request(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].origin, {
      method: 'POST',
      body,
    });
    return (await _request.arrayBuffer()).byteLength;
  }

  if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBufferView(body) || _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArrayBuffer(body)) {
    return body.byteLength;
  }

  if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isURLSearchParams(body)) {
    body = body + '';
  }

  if(_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(body)) {
    return (await encodeText(body)).byteLength;
  }
}

const resolveBodyLength = async (headers, body) => {
  const length = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(headers.getContentLength());

  return length == null ? getBodyLength(body) : length;
}

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isFetchSupported && (async (config) => {
  let {
    url,
    method,
    data,
    signal,
    cancelToken,
    timeout,
    onDownloadProgress,
    onUploadProgress,
    responseType,
    headers,
    withCredentials = 'same-origin',
    fetchOptions
  } = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_7__["default"])(config);

  responseType = responseType ? (responseType + '').toLowerCase() : 'text';

  let composedSignal = (0,_helpers_composeSignals_js__WEBPACK_IMPORTED_MODULE_3__["default"])([signal, cancelToken && cancelToken.toAbortSignal()], timeout);

  let request;

  const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {
      composedSignal.unsubscribe();
  });

  let requestContentLength;

  try {
    if (
      onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&
      (requestContentLength = await resolveBodyLength(headers, data)) !== 0
    ) {
      let _request = new Request(url, {
        method: 'POST',
        body: data,
        duplex: "half"
      });

      let contentTypeHeader;

      if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {
        headers.setContentType(contentTypeHeader)
      }

      if (_request.body) {
        const [onProgress, flush] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.progressEventDecorator)(
          requestContentLength,
          (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.progressEventReducer)((0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.asyncDecorator)(onUploadProgress))
        );

        data = (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_4__.trackStream)(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
      }
    }

    if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(withCredentials)) {
      withCredentials = withCredentials ? 'include' : 'omit';
    }

    // Cloudflare Workers throws when credentials are defined
    // see https://github.com/cloudflare/workerd/issues/902
    const isCredentialsSupported = "credentials" in Request.prototype;
    request = new Request(url, {
      ...fetchOptions,
      signal: composedSignal,
      method: method.toUpperCase(),
      headers: headers.normalize().toJSON(),
      body: data,
      duplex: "half",
      credentials: isCredentialsSupported ? withCredentials : undefined
    });

    let response = await fetch(request, fetchOptions);

    const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');

    if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {
      const options = {};

      ['status', 'statusText', 'headers'].forEach(prop => {
        options[prop] = response[prop];
      });

      const responseContentLength = _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].toFiniteNumber(response.headers.get('content-length'));

      const [onProgress, flush] = onDownloadProgress && (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.progressEventDecorator)(
        responseContentLength,
        (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.progressEventReducer)((0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_6__.asyncDecorator)(onDownloadProgress), true)
      ) || [];

      response = new Response(
        (0,_helpers_trackStream_js__WEBPACK_IMPORTED_MODULE_4__.trackStream)(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
          flush && flush();
          unsubscribe && unsubscribe();
        }),
        options
      );
    }

    responseType = responseType || 'text';

    let responseData = await resolvers[_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].findKey(resolvers, responseType) || 'text'](response, config);

    !isStreamResponse && unsubscribe && unsubscribe();

    return await new Promise((resolve, reject) => {
      (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_8__["default"])(resolve, reject, {
        data: responseData,
        headers: _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_5__["default"].from(response.headers),
        status: response.status,
        statusText: response.statusText,
        config,
        request
      })
    })
  } catch (err) {
    unsubscribe && unsubscribe();

    if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {
      throw Object.assign(
        new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].ERR_NETWORK, config, request),
        {
          cause: err.cause || err
        }
      )
    }

    throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"].from(err, err && err.code, config, request);
  }
}));




/***/ }),

/***/ "./node_modules/axios/lib/adapters/xhr.js":
/*!************************************************!*\
  !*** ./node_modules/axios/lib/adapters/xhr.js ***!
  \************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../core/settle.js */ "./node_modules/axios/lib/core/settle.js");
/* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../defaults/transitional.js */ "./node_modules/axios/lib/defaults/transitional.js");
/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js");
/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js");
/* harmony import */ var _helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers/parseProtocol.js */ "./node_modules/axios/lib/helpers/parseProtocol.js");
/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js");
/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js");
/* harmony import */ var _helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../helpers/progressEventReducer.js */ "./node_modules/axios/lib/helpers/progressEventReducer.js");
/* harmony import */ var _helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../helpers/resolveConfig.js */ "./node_modules/axios/lib/helpers/resolveConfig.js");











const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isXHRAdapterSupported && function (config) {
  return new Promise(function dispatchXhrRequest(resolve, reject) {
    const _config = (0,_helpers_resolveConfig_js__WEBPACK_IMPORTED_MODULE_9__["default"])(config);
    let requestData = _config.data;
    const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_7__["default"].from(_config.headers).normalize();
    let {responseType, onUploadProgress, onDownloadProgress} = _config;
    let onCanceled;
    let uploadThrottled, downloadThrottled;
    let flushUpload, flushDownload;

    function done() {
      flushUpload && flushUpload(); // flush events
      flushDownload && flushDownload(); // flush events

      _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);

      _config.signal && _config.signal.removeEventListener('abort', onCanceled);
    }

    let request = new XMLHttpRequest();

    request.open(_config.method.toUpperCase(), _config.url, true);

    // Set the request timeout in MS
    request.timeout = _config.timeout;

    function onloadend() {
      if (!request) {
        return;
      }
      // Prepare the response
      const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_7__["default"].from(
        'getAllResponseHeaders' in request && request.getAllResponseHeaders()
      );
      const responseData = !responseType || responseType === 'text' || responseType === 'json' ?
        request.responseText : request.response;
      const response = {
        data: responseData,
        status: request.status,
        statusText: request.statusText,
        headers: responseHeaders,
        config,
        request
      };

      (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function _resolve(value) {
        resolve(value);
        done();
      }, function _reject(err) {
        reject(err);
        done();
      }, response);

      // Clean up request
      request = null;
    }

    if ('onloadend' in request) {
      // Use onloadend if available
      request.onloadend = onloadend;
    } else {
      // Listen for ready state to emulate onloadend
      request.onreadystatechange = function handleLoad() {
        if (!request || request.readyState !== 4) {
          return;
        }

        // The request errored out and we didn't get a response, this will be
        // handled by onerror instead
        // With one exception: request that using file: protocol, most browsers
        // will return status as 0 even though it's a successful request
        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
          return;
        }
        // readystate handler is calling before onerror or ontimeout handlers,
        // so we should call onloadend on the next 'tick'
        setTimeout(onloadend);
      };
    }

    // Handle browser request cancellation (as opposed to a manual cancellation)
    request.onabort = function handleAbort() {
      if (!request) {
        return;
      }

      reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED, config, request));

      // Clean up request
      request = null;
    };

    // Handle low level network errors
    request.onerror = function handleError() {
      // Real errors are hidden from us by the browser
      // onerror should only fire if it's a network error
      reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_NETWORK, config, request));

      // Clean up request
      request = null;
    };

    // Handle timeout
    request.ontimeout = function handleTimeout() {
      let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';
      const transitional = _config.transitional || _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_2__["default"];
      if (_config.timeoutErrorMessage) {
        timeoutErrorMessage = _config.timeoutErrorMessage;
      }
      reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"](
        timeoutErrorMessage,
        transitional.clarifyTimeoutError ? _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ETIMEDOUT : _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ECONNABORTED,
        config,
        request));

      // Clean up request
      request = null;
    };

    // Remove Content-Type if data is undefined
    requestData === undefined && requestHeaders.setContentType(null);

    // Add headers to the request
    if ('setRequestHeader' in request) {
      _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
        request.setRequestHeader(key, val);
      });
    }

    // Add withCredentials to request if needed
    if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(_config.withCredentials)) {
      request.withCredentials = !!_config.withCredentials;
    }

    // Add responseType to request if needed
    if (responseType && responseType !== 'json') {
      request.responseType = _config.responseType;
    }

    // Handle progress if needed
    if (onDownloadProgress) {
      ([downloadThrottled, flushDownload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_8__.progressEventReducer)(onDownloadProgress, true));
      request.addEventListener('progress', downloadThrottled);
    }

    // Not all browsers support upload events
    if (onUploadProgress && request.upload) {
      ([uploadThrottled, flushUpload] = (0,_helpers_progressEventReducer_js__WEBPACK_IMPORTED_MODULE_8__.progressEventReducer)(onUploadProgress));

      request.upload.addEventListener('progress', uploadThrottled);

      request.upload.addEventListener('loadend', flushUpload);
    }

    if (_config.cancelToken || _config.signal) {
      // Handle cancellation
      // eslint-disable-next-line func-names
      onCanceled = cancel => {
        if (!request) {
          return;
        }
        reject(!cancel || cancel.type ? new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_4__["default"](null, config, request) : cancel);
        request.abort();
        request = null;
      };

      _config.cancelToken && _config.cancelToken.subscribe(onCanceled);
      if (_config.signal) {
        _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);
      }
    }

    const protocol = (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_config.url);

    if (protocol && _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].protocols.indexOf(protocol) === -1) {
      reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]('Unsupported protocol ' + protocol + ':', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"].ERR_BAD_REQUEST, config));
      return;
    }


    // Send the request
    request.send(requestData || null);
  });
});


/***/ }),

/***/ "./node_modules/axios/lib/axios.js":
/*!*****************************************!*\
  !*** ./node_modules/axios/lib/axios.js ***!
  \*****************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js");
/* harmony import */ var _core_Axios_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./core/Axios.js */ "./node_modules/axios/lib/core/Axios.js");
/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js");
/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./defaults/index.js */ "./node_modules/axios/lib/defaults/index.js");
/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js");
/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js");
/* harmony import */ var _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cancel/CancelToken.js */ "./node_modules/axios/lib/cancel/CancelToken.js");
/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js");
/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./env/data.js */ "./node_modules/axios/lib/env/data.js");
/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js");
/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js");
/* harmony import */ var _helpers_spread_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./helpers/spread.js */ "./node_modules/axios/lib/helpers/spread.js");
/* harmony import */ var _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./helpers/isAxiosError.js */ "./node_modules/axios/lib/helpers/isAxiosError.js");
/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js");
/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js");
/* harmony import */ var _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./helpers/HttpStatusCode.js */ "./node_modules/axios/lib/helpers/HttpStatusCode.js");




















/**
 * Create an instance of Axios
 *
 * @param {Object} defaultConfig The default config for the instance
 *
 * @returns {Axios} A new instance of Axios
 */
function createInstance(defaultConfig) {
  const context = new _core_Axios_js__WEBPACK_IMPORTED_MODULE_2__["default"](defaultConfig);
  const instance = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_core_Axios_js__WEBPACK_IMPORTED_MODULE_2__["default"].prototype.request, context);

  // Copy axios.prototype to instance
  _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].extend(instance, _core_Axios_js__WEBPACK_IMPORTED_MODULE_2__["default"].prototype, context, {allOwnKeys: true});

  // Copy context to instance
  _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].extend(instance, context, null, {allOwnKeys: true});

  // Factory for creating new instances
  instance.create = function create(instanceConfig) {
    return createInstance((0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(defaultConfig, instanceConfig));
  };

  return instance;
}

// Create the default instance to be exported
const axios = createInstance(_defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"]);

// Expose Axios class to allow class inheritance
axios.Axios = _core_Axios_js__WEBPACK_IMPORTED_MODULE_2__["default"];

// Expose Cancel & CancelToken
axios.CanceledError = _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_6__["default"];
axios.CancelToken = _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_7__["default"];
axios.isCancel = _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_8__["default"];
axios.VERSION = _env_data_js__WEBPACK_IMPORTED_MODULE_9__.VERSION;
axios.toFormData = _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_10__["default"];

// Expose AxiosError class
axios.AxiosError = _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_11__["default"];

// alias for CanceledError for backward compatibility
axios.Cancel = axios.CanceledError;

// Expose all/spread
axios.all = function all(promises) {
  return Promise.all(promises);
};

axios.spread = _helpers_spread_js__WEBPACK_IMPORTED_MODULE_12__["default"];

// Expose isAxiosError
axios.isAxiosError = _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_13__["default"];

// Expose mergeConfig
axios.mergeConfig = _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"];

axios.AxiosHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_14__["default"];

axios.formToJSON = thing => (0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHTMLForm(thing) ? new FormData(thing) : thing);

axios.getAdapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__["default"].getAdapter;

axios.HttpStatusCode = _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__["default"];

axios.default = axios;

// this module should only have a default export
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (axios);


/***/ }),

/***/ "./node_modules/axios/lib/cancel/CancelToken.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
  \******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js");




/**
 * A `CancelToken` is an object that can be used to request cancellation of an operation.
 *
 * @param {Function} executor The executor function.
 *
 * @returns {CancelToken}
 */
class CancelToken {
  constructor(executor) {
    if (typeof executor !== 'function') {
      throw new TypeError('executor must be a function.');
    }

    let resolvePromise;

    this.promise = new Promise(function promiseExecutor(resolve) {
      resolvePromise = resolve;
    });

    const token = this;

    // eslint-disable-next-line func-names
    this.promise.then(cancel => {
      if (!token._listeners) return;

      let i = token._listeners.length;

      while (i-- > 0) {
        token._listeners[i](cancel);
      }
      token._listeners = null;
    });

    // eslint-disable-next-line func-names
    this.promise.then = onfulfilled => {
      let _resolve;
      // eslint-disable-next-line func-names
      const promise = new Promise(resolve => {
        token.subscribe(resolve);
        _resolve = resolve;
      }).then(onfulfilled);

      promise.cancel = function reject() {
        token.unsubscribe(_resolve);
      };

      return promise;
    };

    executor(function cancel(message, config, request) {
      if (token.reason) {
        // Cancellation has already been requested
        return;
      }

      token.reason = new _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](message, config, request);
      resolvePromise(token.reason);
    });
  }

  /**
   * Throws a `CanceledError` if cancellation has been requested.
   */
  throwIfRequested() {
    if (this.reason) {
      throw this.reason;
    }
  }

  /**
   * Subscribe to the cancel signal
   */

  subscribe(listener) {
    if (this.reason) {
      listener(this.reason);
      return;
    }

    if (this._listeners) {
      this._listeners.push(listener);
    } else {
      this._listeners = [listener];
    }
  }

  /**
   * Unsubscribe from the cancel signal
   */

  unsubscribe(listener) {
    if (!this._listeners) {
      return;
    }
    const index = this._listeners.indexOf(listener);
    if (index !== -1) {
      this._listeners.splice(index, 1);
    }
  }

  toAbortSignal() {
    const controller = new AbortController();

    const abort = (err) => {
      controller.abort(err);
    };

    this.subscribe(abort);

    controller.signal.unsubscribe = () => this.unsubscribe(abort);

    return controller.signal;
  }

  /**
   * Returns an object that contains a new `CancelToken` and a function that, when called,
   * cancels the `CancelToken`.
   */
  static source() {
    let cancel;
    const token = new CancelToken(function executor(c) {
      cancel = c;
    });
    return {
      token,
      cancel
    };
  }
}

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CancelToken);


/***/ }),

/***/ "./node_modules/axios/lib/cancel/CanceledError.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/cancel/CanceledError.js ***!
  \********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js");
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");





/**
 * A `CanceledError` is an object that is thrown when an operation is canceled.
 *
 * @param {string=} message The message.
 * @param {Object=} config The config.
 * @param {Object=} request The request.
 *
 * @returns {CanceledError} The created error.
 */
function CanceledError(message, config, request) {
  // eslint-disable-next-line no-eq-null,eqeqeq
  _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(this, message == null ? 'canceled' : message, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_CANCELED, config, request);
  this.name = 'CanceledError';
}

_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].inherits(CanceledError, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"], {
  __CANCEL__: true
});

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CanceledError);


/***/ }),

/***/ "./node_modules/axios/lib/cancel/isCancel.js":
/*!***************************************************!*\
  !*** ./node_modules/axios/lib/cancel/isCancel.js ***!
  \***************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ isCancel)
/* harmony export */ });


function isCancel(value) {
  return !!(value && value.__CANCEL__);
}


/***/ }),

/***/ "./node_modules/axios/lib/core/Axios.js":
/*!**********************************************!*\
  !*** ./node_modules/axios/lib/core/Axios.js ***!
  \**********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js");
/* harmony import */ var _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./InterceptorManager.js */ "./node_modules/axios/lib/core/InterceptorManager.js");
/* harmony import */ var _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dispatchRequest.js */ "./node_modules/axios/lib/core/dispatchRequest.js");
/* harmony import */ var _mergeConfig_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js");
/* harmony import */ var _buildFullPath_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js");
/* harmony import */ var _helpers_validator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/validator.js */ "./node_modules/axios/lib/helpers/validator.js");
/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js");











const validators = _helpers_validator_js__WEBPACK_IMPORTED_MODULE_6__["default"].validators;

/**
 * Create a new instance of Axios
 *
 * @param {Object} instanceConfig The default config for the instance
 *
 * @return {Axios} A new instance of Axios
 */
class Axios {
  constructor(instanceConfig) {
    this.defaults = instanceConfig || {};
    this.interceptors = {
      request: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_2__["default"](),
      response: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_2__["default"]()
    };
  }

  /**
   * Dispatch a request
   *
   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
   * @param {?Object} config
   *
   * @returns {Promise} The Promise to be fulfilled
   */
  async request(configOrUrl, config) {
    try {
      return await this._request(configOrUrl, config);
    } catch (err) {
      if (err instanceof Error) {
        let dummy = {};

        Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());

        // slice off the Error: ... line
        const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : '';
        try {
          if (!err.stack) {
            err.stack = stack;
            // match without the 2 top stack lines
          } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) {
            err.stack += '\n' + stack
          }
        } catch (e) {
          // ignore the case where "stack" is an un-writable property
        }
      }

      throw err;
    }
  }

  _request(configOrUrl, config) {
    /*eslint no-param-reassign:0*/
    // Allow for axios('example/url'[, config]) a la fetch API
    if (typeof configOrUrl === 'string') {
      config = config || {};
      config.url = configOrUrl;
    } else {
      config = configOrUrl || {};
    }

    config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_4__["default"])(this.defaults, config);

    const {transitional, paramsSerializer, headers} = config;

    if (transitional !== undefined) {
      _helpers_validator_js__WEBPACK_IMPORTED_MODULE_6__["default"].assertOptions(transitional, {
        silentJSONParsing: validators.transitional(validators.boolean),
        forcedJSONParsing: validators.transitional(validators.boolean),
        clarifyTimeoutError: validators.transitional(validators.boolean)
      }, false);
    }

    if (paramsSerializer != null) {
      if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(paramsSerializer)) {
        config.paramsSerializer = {
          serialize: paramsSerializer
        }
      } else {
        _helpers_validator_js__WEBPACK_IMPORTED_MODULE_6__["default"].assertOptions(paramsSerializer, {
          encode: validators.function,
          serialize: validators.function
        }, true);
      }
    }

    // Set config.allowAbsoluteUrls
    if (config.allowAbsoluteUrls !== undefined) {
      // do nothing
    } else if (this.defaults.allowAbsoluteUrls !== undefined) {
      config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;
    } else {
      config.allowAbsoluteUrls = true;
    }

    _helpers_validator_js__WEBPACK_IMPORTED_MODULE_6__["default"].assertOptions(config, {
      baseUrl: validators.spelling('baseURL'),
      withXsrfToken: validators.spelling('withXSRFToken')
    }, true);

    // Set config.method
    config.method = (config.method || this.defaults.method || 'get').toLowerCase();

    // Flatten headers
    let contextHeaders = headers && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].merge(
      headers.common,
      headers[config.method]
    );

    headers && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(
      ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
      (method) => {
        delete headers[method];
      }
    );

    config.headers = _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_7__["default"].concat(contextHeaders, headers);

    // filter out skipped interceptors
    const requestInterceptorChain = [];
    let synchronousRequestInterceptors = true;
    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
      if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
        return;
      }

      synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;

      requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
    });

    const responseInterceptorChain = [];
    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
      responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
    });

    let promise;
    let i = 0;
    let len;

    if (!synchronousRequestInterceptors) {
      const chain = [_dispatchRequest_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(this), undefined];
      chain.unshift(...requestInterceptorChain);
      chain.push(...responseInterceptorChain);
      len = chain.length;

      promise = Promise.resolve(config);

      while (i < len) {
        promise = promise.then(chain[i++], chain[i++]);
      }

      return promise;
    }

    len = requestInterceptorChain.length;

    let newConfig = config;

    i = 0;

    while (i < len) {
      const onFulfilled = requestInterceptorChain[i++];
      const onRejected = requestInterceptorChain[i++];
      try {
        newConfig = onFulfilled(newConfig);
      } catch (error) {
        onRejected.call(this, error);
        break;
      }
    }

    try {
      promise = _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_3__["default"].call(this, newConfig);
    } catch (error) {
      return Promise.reject(error);
    }

    i = 0;
    len = responseInterceptorChain.length;

    while (i < len) {
      promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
    }

    return promise;
  }

  getUri(config) {
    config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_4__["default"])(this.defaults, config);
    const fullPath = (0,_buildFullPath_js__WEBPACK_IMPORTED_MODULE_5__["default"])(config.baseURL, config.url, config.allowAbsoluteUrls);
    return (0,_helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fullPath, config.params, config.paramsSerializer);
  }
}

// Provide aliases for supported request methods
_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
  /*eslint func-names:0*/
  Axios.prototype[method] = function(url, config) {
    return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_4__["default"])(config || {}, {
      method,
      url,
      data: (config || {}).data
    }));
  };
});

_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
  /*eslint func-names:0*/

  function generateHTTPMethod(isForm) {
    return function httpMethod(url, data, config) {
      return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_4__["default"])(config || {}, {
        method,
        headers: isForm ? {
          'Content-Type': 'multipart/form-data'
        } : {},
        url,
        data
      }));
    };
  }

  Axios.prototype[method] = generateHTTPMethod();

  Axios.prototype[method + 'Form'] = generateHTTPMethod(true);
});

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Axios);


/***/ }),

/***/ "./node_modules/axios/lib/core/AxiosError.js":
/*!***************************************************!*\
  !*** ./node_modules/axios/lib/core/AxiosError.js ***!
  \***************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");




/**
 * Create an Error with the specified message, config, error code, request and response.
 *
 * @param {string} message The error message.
 * @param {string} [code] The error code (for example, 'ECONNABORTED').
 * @param {Object} [config] The config.
 * @param {Object} [request] The request.
 * @param {Object} [response] The response.
 *
 * @returns {Error} The created error.
 */
function AxiosError(message, code, config, request, response) {
  Error.call(this);

  if (Error.captureStackTrace) {
    Error.captureStackTrace(this, this.constructor);
  } else {
    this.stack = (new Error()).stack;
  }

  this.message = message;
  this.name = 'AxiosError';
  code && (this.code = code);
  config && (this.config = config);
  request && (this.request = request);
  if (response) {
    this.response = response;
    this.status = response.status ? response.status : null;
  }
}

_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].inherits(AxiosError, Error, {
  toJSON: function toJSON() {
    return {
      // Standard
      message: this.message,
      name: this.name,
      // Microsoft
      description: this.description,
      number: this.number,
      // Mozilla
      fileName: this.fileName,
      lineNumber: this.lineNumber,
      columnNumber: this.columnNumber,
      stack: this.stack,
      // Axios
      config: _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toJSONObject(this.config),
      code: this.code,
      status: this.status
    };
  }
});

const prototype = AxiosError.prototype;
const descriptors = {};

[
  'ERR_BAD_OPTION_VALUE',
  'ERR_BAD_OPTION',
  'ECONNABORTED',
  'ETIMEDOUT',
  'ERR_NETWORK',
  'ERR_FR_TOO_MANY_REDIRECTS',
  'ERR_DEPRECATED',
  'ERR_BAD_RESPONSE',
  'ERR_BAD_REQUEST',
  'ERR_CANCELED',
  'ERR_NOT_SUPPORT',
  'ERR_INVALID_URL'
// eslint-disable-next-line func-names
].forEach(code => {
  descriptors[code] = {value: code};
});

Object.defineProperties(AxiosError, descriptors);
Object.defineProperty(prototype, 'isAxiosError', {value: true});

// eslint-disable-next-line func-names
AxiosError.from = (error, code, config, request, response, customProps) => {
  const axiosError = Object.create(prototype);

  _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(error, axiosError, function filter(obj) {
    return obj !== Error.prototype;
  }, prop => {
    return prop !== 'isAxiosError';
  });

  AxiosError.call(axiosError, error.message, code, config, request, response);

  axiosError.cause = error;

  axiosError.name = error.name;

  customProps && Object.assign(axiosError, customProps);

  return axiosError;
};

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosError);


/***/ }),

/***/ "./node_modules/axios/lib/core/AxiosHeaders.js":
/*!*****************************************************!*\
  !*** ./node_modules/axios/lib/core/AxiosHeaders.js ***!
  \*****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/parseHeaders.js */ "./node_modules/axios/lib/helpers/parseHeaders.js");





const $internals = Symbol('internals');

function normalizeHeader(header) {
  return header && String(header).trim().toLowerCase();
}

function normalizeValue(value) {
  if (value === false || value == null) {
    return value;
  }

  return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.map(normalizeValue) : String(value);
}

function parseTokens(str) {
  const tokens = Object.create(null);
  const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
  let match;

  while ((match = tokensRE.exec(str))) {
    tokens[match[1]] = match[2];
  }

  return tokens;
}

const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());

function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {
  if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(filter)) {
    return filter.call(this, value, header);
  }

  if (isHeaderNameFilter) {
    value = header;
  }

  if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(value)) return;

  if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(filter)) {
    return value.indexOf(filter) !== -1;
  }

  if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(filter)) {
    return filter.test(value);
  }
}

function formatHeader(header) {
  return header.trim()
    .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => {
      return char.toUpperCase() + str;
    });
}

function buildAccessors(obj, header) {
  const accessorName = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toCamelCase(' ' + header);

  ['get', 'set', 'has'].forEach(methodName => {
    Object.defineProperty(obj, methodName + accessorName, {
      value: function(arg1, arg2, arg3) {
        return this[methodName].call(this, header, arg1, arg2, arg3);
      },
      configurable: true
    });
  });
}

class AxiosHeaders {
  constructor(headers) {
    headers && this.set(headers);
  }

  set(header, valueOrRewrite, rewrite) {
    const self = this;

    function setHeader(_value, _header, _rewrite) {
      const lHeader = normalizeHeader(_header);

      if (!lHeader) {
        throw new Error('header name must be a non-empty string');
      }

      const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, lHeader);

      if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {
        self[key || _header] = normalizeValue(_value);
      }
    }

    const setHeaders = (headers, _rewrite) =>
      _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));

    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(header) || header instanceof this.constructor) {
      setHeaders(header, valueOrRewrite)
    } else if(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
      setHeaders((0,_helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"])(header), valueOrRewrite);
    } else if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(header) && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isIterable(header)) {
      let obj = {}, dest, key;
      for (const entry of header) {
        if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(entry)) {
          throw TypeError('Object iterator must return a key-value pair');
        }

        obj[key = entry[0]] = (dest = obj[key]) ?
          (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];
      }

      setHeaders(obj, valueOrRewrite)
    } else {
      header != null && setHeader(valueOrRewrite, header, rewrite);
    }

    return this;
  }

  get(header, parser) {
    header = normalizeHeader(header);

    if (header) {
      const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header);

      if (key) {
        const value = this[key];

        if (!parser) {
          return value;
        }

        if (parser === true) {
          return parseTokens(value);
        }

        if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(parser)) {
          return parser.call(this, value, key);
        }

        if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(parser)) {
          return parser.exec(value);
        }

        throw new TypeError('parser must be boolean|regexp|function');
      }
    }
  }

  has(header, matcher) {
    header = normalizeHeader(header);

    if (header) {
      const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header);

      return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
    }

    return false;
  }

  delete(header, matcher) {
    const self = this;
    let deleted = false;

    function deleteHeader(_header) {
      _header = normalizeHeader(_header);

      if (_header) {
        const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, _header);

        if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {
          delete self[key];

          deleted = true;
        }
      }
    }

    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header)) {
      header.forEach(deleteHeader);
    } else {
      deleteHeader(header);
    }

    return deleted;
  }

  clear(matcher) {
    const keys = Object.keys(this);
    let i = keys.length;
    let deleted = false;

    while (i--) {
      const key = keys[i];
      if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
        delete this[key];
        deleted = true;
      }
    }

    return deleted;
  }

  normalize(format) {
    const self = this;
    const headers = {};

    _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => {
      const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(headers, header);

      if (key) {
        self[key] = normalizeValue(value);
        delete self[header];
        return;
      }

      const normalized = format ? formatHeader(header) : String(header).trim();

      if (normalized !== header) {
        delete self[header];
      }

      self[normalized] = normalizeValue(value);

      headers[normalized] = true;
    });

    return this;
  }

  concat(...targets) {
    return this.constructor.concat(this, ...targets);
  }

  toJSON(asStrings) {
    const obj = Object.create(null);

    _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => {
      value != null && value !== false && (obj[header] = asStrings && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.join(', ') : value);
    });

    return obj;
  }

  [Symbol.iterator]() {
    return Object.entries(this.toJSON())[Symbol.iterator]();
  }

  toString() {
    return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n');
  }

  getSetCookie() {
    return this.get("set-cookie") || [];
  }

  get [Symbol.toStringTag]() {
    return 'AxiosHeaders';
  }

  static from(thing) {
    return thing instanceof this ? thing : new this(thing);
  }

  static concat(first, ...targets) {
    const computed = new this(first);

    targets.forEach((target) => computed.set(target));

    return computed;
  }

  static accessor(header) {
    const internals = this[$internals] = (this[$internals] = {
      accessors: {}
    });

    const accessors = internals.accessors;
    const prototype = this.prototype;

    function defineAccessor(_header) {
      const lHeader = normalizeHeader(_header);

      if (!accessors[lHeader]) {
        buildAccessors(prototype, _header);
        accessors[lHeader] = true;
      }
    }

    _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);

    return this;
  }
}

AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);

// reserved names hotfix
_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {
  let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`
  return {
    get: () => value,
    set(headerValue) {
      this[mapped] = headerValue;
    }
  }
});

_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].freezeMethods(AxiosHeaders);

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosHeaders);


/***/ }),

/***/ "./node_modules/axios/lib/core/InterceptorManager.js":
/*!***********************************************************!*\
  !*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
  \***********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js");




class InterceptorManager {
  constructor() {
    this.handlers = [];
  }

  /**
   * Add a new interceptor to the stack
   *
   * @param {Function} fulfilled The function to handle `then` for a `Promise`
   * @param {Function} rejected The function to handle `reject` for a `Promise`
   *
   * @return {Number} An ID used to remove interceptor later
   */
  use(fulfilled, rejected, options) {
    this.handlers.push({
      fulfilled,
      rejected,
      synchronous: options ? options.synchronous : false,
      runWhen: options ? options.runWhen : null
    });
    return this.handlers.length - 1;
  }

  /**
   * Remove an interceptor from the stack
   *
   * @param {Number} id The ID that was returned by `use`
   *
   * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
   */
  eject(id) {
    if (this.handlers[id]) {
      this.handlers[id] = null;
    }
  }

  /**
   * Clear all interceptors from the stack
   *
   * @returns {void}
   */
  clear() {
    if (this.handlers) {
      this.handlers = [];
    }
  }

  /**
   * Iterate over all the registered interceptors
   *
   * This method is particularly useful for skipping over any
   * interceptors that may have become `null` calling `eject`.
   *
   * @param {Function} fn The function to call for each interceptor
   *
   * @returns {void}
   */
  forEach(fn) {
    _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this.handlers, function forEachHandler(h) {
      if (h !== null) {
        fn(h);
      }
    });
  }
}

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InterceptorManager);


/***/ }),

/***/ "./node_modules/axios/lib/core/buildFullPath.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/core/buildFullPath.js ***!
  \******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ buildFullPath)
/* harmony export */ });
/* harmony import */ var _helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/isAbsoluteURL.js */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js");
/* harmony import */ var _helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/combineURLs.js */ "./node_modules/axios/lib/helpers/combineURLs.js");





/**
 * Creates a new URL by combining the baseURL with the requestedURL,
 * only when the requestedURL is not already an absolute URL.
 * If the requestURL is absolute, this function returns the requestedURL untouched.
 *
 * @param {string} baseURL The base URL
 * @param {string} requestedURL Absolute or relative URL to combine
 *
 * @returns {string} The combined full path
 */
function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
  let isRelativeUrl = !(0,_helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__["default"])(requestedURL);
  if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {
    return (0,_helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__["default"])(baseURL, requestedURL);
  }
  return requestedURL;
}


/***/ }),

/***/ "./node_modules/axios/lib/core/dispatchRequest.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
  \********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ dispatchRequest)
/* harmony export */ });
/* harmony import */ var _transformData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transformData.js */ "./node_modules/axios/lib/core/transformData.js");
/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js");
/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js");
/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js");
/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js");
/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js");









/**
 * Throws a `CanceledError` if cancellation has been requested.
 *
 * @param {Object} config The config that is to be used for the request
 *
 * @returns {void}
 */
function throwIfCancellationRequested(config) {
  if (config.cancelToken) {
    config.cancelToken.throwIfRequested();
  }

  if (config.signal && config.signal.aborted) {
    throw new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_3__["default"](null, config);
  }
}

/**
 * Dispatch a request to the server using the configured adapter.
 *
 * @param {object} config The config that is to be used for the request
 *
 * @returns {Promise} The Promise to be fulfilled
 */
function dispatchRequest(config) {
  throwIfCancellationRequested(config);

  config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].from(config.headers);

  // Transform request data
  config.data = _transformData_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(
    config,
    config.transformRequest
  );

  if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {
    config.headers.setContentType('application/x-www-form-urlencoded', false);
  }

  const adapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_5__["default"].getAdapter(config.adapter || _defaults_index_js__WEBPACK_IMPORTED_MODULE_2__["default"].adapter);

  return adapter(config).then(function onAdapterResolution(response) {
    throwIfCancellationRequested(config);

    // Transform response data
    response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(
      config,
      config.transformResponse,
      response
    );

    response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].from(response.headers);

    return response;
  }, function onAdapterRejection(reason) {
    if (!(0,_cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_1__["default"])(reason)) {
      throwIfCancellationRequested(config);

      // Transform response data
      if (reason && reason.response) {
        reason.response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(
          config,
          config.transformResponse,
          reason.response
        );
        reason.response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].from(reason.response.headers);
      }
    }

    return Promise.reject(reason);
  });
}


/***/ }),

/***/ "./node_modules/axios/lib/core/mergeConfig.js":
/*!****************************************************!*\
  !*** ./node_modules/axios/lib/core/mergeConfig.js ***!
  \****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ mergeConfig)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js");





const headersToObject = (thing) => thing instanceof _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"] ? { ...thing } : thing;

/**
 * Config-specific merge-function which creates a new config-object
 * by merging two configuration objects together.
 *
 * @param {Object} config1
 * @param {Object} config2
 *
 * @returns {Object} New object resulting from merging config2 to config1
 */
function mergeConfig(config1, config2) {
  // eslint-disable-next-line no-param-reassign
  config2 = config2 || {};
  const config = {};

  function getMergedValue(target, source, prop, caseless) {
    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(target) && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(source)) {
      return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].merge.call({caseless}, target, source);
    } else if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(source)) {
      return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].merge({}, source);
    } else if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(source)) {
      return source.slice();
    }
    return source;
  }

  // eslint-disable-next-line consistent-return
  function mergeDeepProperties(a, b, prop , caseless) {
    if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(b)) {
      return getMergedValue(a, b, prop , caseless);
    } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(a)) {
      return getMergedValue(undefined, a, prop , caseless);
    }
  }

  // eslint-disable-next-line consistent-return
  function valueFromConfig2(a, b) {
    if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(b)) {
      return getMergedValue(undefined, b);
    }
  }

  // eslint-disable-next-line consistent-return
  function defaultToConfig2(a, b) {
    if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(b)) {
      return getMergedValue(undefined, b);
    } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(a)) {
      return getMergedValue(undefined, a);
    }
  }

  // eslint-disable-next-line consistent-return
  function mergeDirectKeys(a, b, prop) {
    if (prop in config2) {
      return getMergedValue(a, b);
    } else if (prop in config1) {
      return getMergedValue(undefined, a);
    }
  }

  const mergeMap = {
    url: valueFromConfig2,
    method: valueFromConfig2,
    data: valueFromConfig2,
    baseURL: defaultToConfig2,
    transformRequest: defaultToConfig2,
    transformResponse: defaultToConfig2,
    paramsSerializer: defaultToConfig2,
    timeout: defaultToConfig2,
    timeoutMessage: defaultToConfig2,
    withCredentials: defaultToConfig2,
    withXSRFToken: defaultToConfig2,
    adapter: defaultToConfig2,
    responseType: defaultToConfig2,
    xsrfCookieName: defaultToConfig2,
    xsrfHeaderName: defaultToConfig2,
    onUploadProgress: defaultToConfig2,
    onDownloadProgress: defaultToConfig2,
    decompress: defaultToConfig2,
    maxContentLength: defaultToConfig2,
    maxBodyLength: defaultToConfig2,
    beforeRedirect: defaultToConfig2,
    transport: defaultToConfig2,
    httpAgent: defaultToConfig2,
    httpsAgent: defaultToConfig2,
    cancelToken: defaultToConfig2,
    socketPath: defaultToConfig2,
    responseEncoding: defaultToConfig2,
    validateStatus: mergeDirectKeys,
    headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)
  };

  _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {
    const merge = mergeMap[prop] || mergeDeepProperties;
    const configValue = merge(config1[prop], config2[prop], prop);
    (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
  });

  return config;
}


/***/ }),

/***/ "./node_modules/axios/lib/core/settle.js":
/*!***********************************************!*\
  !*** ./node_modules/axios/lib/core/settle.js ***!
  \***********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ settle)
/* harmony export */ });
/* harmony import */ var _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js");




/**
 * Resolve or reject a Promise based on response status.
 *
 * @param {Function} resolve A function that resolves the promise.
 * @param {Function} reject A function that rejects the promise.
 * @param {object} response The response.
 *
 * @returns {object} The response.
 */
function settle(resolve, reject, response) {
  const validateStatus = response.config.validateStatus;
  if (!response.status || !validateStatus || validateStatus(response.status)) {
    resolve(response);
  } else {
    reject(new _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"](
      'Request failed with status code ' + response.status,
      [_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_REQUEST, _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],
      response.config,
      response.request,
      response
    ));
  }
}


/***/ }),

/***/ "./node_modules/axios/lib/core/transformData.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/core/transformData.js ***!
  \******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ transformData)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js");
/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js");






/**
 * Transform the data for a request or a response
 *
 * @param {Array|Function} fns A single function or Array of functions
 * @param {?Object} response The response object
 *
 * @returns {*} The resulting transformed data
 */
function transformData(fns, response) {
  const config = this || _defaults_index_js__WEBPACK_IMPORTED_MODULE_1__["default"];
  const context = response || config;
  const headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_2__["default"].from(context.headers);
  let data = context.data;

  _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(fns, function transform(fn) {
    data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);
  });

  headers.normalize();

  return data;
}


/***/ }),

/***/ "./node_modules/axios/lib/defaults/index.js":
/*!**************************************************!*\
  !*** ./node_modules/axios/lib/defaults/index.js ***!
  \**************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js");
/* harmony import */ var _transitional_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transitional.js */ "./node_modules/axios/lib/defaults/transitional.js");
/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js");
/* harmony import */ var _helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/toURLEncodedForm.js */ "./node_modules/axios/lib/helpers/toURLEncodedForm.js");
/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js");
/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js");










/**
 * It takes a string, tries to parse it, and if it fails, it returns the stringified version
 * of the input
 *
 * @param {any} rawValue - The value to be stringified.
 * @param {Function} parser - A function that parses a string into a JavaScript object.
 * @param {Function} encoder - A function that takes a value and returns a string.
 *
 * @returns {string} A stringified version of the rawValue.
 */
function stringifySafely(rawValue, parser, encoder) {
  if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(rawValue)) {
    try {
      (parser || JSON.parse)(rawValue);
      return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].trim(rawValue);
    } catch (e) {
      if (e.name !== 'SyntaxError') {
        throw e;
      }
    }
  }

  return (encoder || JSON.stringify)(rawValue);
}

const defaults = {

  transitional: _transitional_js__WEBPACK_IMPORTED_MODULE_2__["default"],

  adapter: ['xhr', 'http', 'fetch'],

  transformRequest: [function transformRequest(data, headers) {
    const contentType = headers.getContentType() || '';
    const hasJSONContentType = contentType.indexOf('application/json') > -1;
    const isObjectPayload = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(data);

    if (isObjectPayload && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHTMLForm(data)) {
      data = new FormData(data);
    }

    const isFormData = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(data);

    if (isFormData) {
      return hasJSONContentType ? JSON.stringify((0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_6__["default"])(data)) : data;
    }

    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(data) ||
      _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBuffer(data) ||
      _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isStream(data) ||
      _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFile(data) ||
      _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(data) ||
      _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isReadableStream(data)
    ) {
      return data;
    }
    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBufferView(data)) {
      return data.buffer;
    }
    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(data)) {
      headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);
      return data.toString();
    }

    let isFileList;

    if (isObjectPayload) {
      if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {
        return (0,_helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_4__["default"])(data, this.formSerializer).toString();
      }

      if ((isFileList = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {
        const _FormData = this.env && this.env.FormData;

        return (0,_helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
          isFileList ? {'files[]': data} : data,
          _FormData && new _FormData(),
          this.formSerializer
        );
      }
    }

    if (isObjectPayload || hasJSONContentType ) {
      headers.setContentType('application/json', false);
      return stringifySafely(data);
    }

    return data;
  }],

  transformResponse: [function transformResponse(data) {
    const transitional = this.transitional || defaults.transitional;
    const forcedJSONParsing = transitional && transitional.forcedJSONParsing;
    const JSONRequested = this.responseType === 'json';

    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isResponse(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isReadableStream(data)) {
      return data;
    }

    if (data && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {
      const silentJSONParsing = transitional && transitional.silentJSONParsing;
      const strictJSONParsing = !silentJSONParsing && JSONRequested;

      try {
        return JSON.parse(data);
      } catch (e) {
        if (strictJSONParsing) {
          if (e.name === 'SyntaxError') {
            throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(e, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_RESPONSE, this, null, this.response);
          }
          throw e;
        }
      }
    }

    return data;
  }],

  /**
   * A timeout in milliseconds to abort a request. If set to 0 (default) a
   * timeout is not created.
   */
  timeout: 0,

  xsrfCookieName: 'XSRF-TOKEN',
  xsrfHeaderName: 'X-XSRF-TOKEN',

  maxContentLength: -1,
  maxBodyLength: -1,

  env: {
    FormData: _platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].classes.FormData,
    Blob: _platform_index_js__WEBPACK_IMPORTED_MODULE_5__["default"].classes.Blob
  },

  validateStatus: function validateStatus(status) {
    return status >= 200 && status < 300;
  },

  headers: {
    common: {
      'Accept': 'application/json, text/plain, */*',
      'Content-Type': undefined
    }
  }
};

_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {
  defaults.headers[method] = {};
});

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaults);


/***/ }),

/***/ "./node_modules/axios/lib/defaults/transitional.js":
/*!*********************************************************!*\
  !*** ./node_modules/axios/lib/defaults/transitional.js ***!
  \*********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });


/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  silentJSONParsing: true,
  forcedJSONParsing: true,
  clarifyTimeoutError: false
});


/***/ }),

/***/ "./node_modules/axios/lib/env/data.js":
/*!********************************************!*\
  !*** ./node_modules/axios/lib/env/data.js ***!
  \********************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   VERSION: () => (/* binding */ VERSION)
/* harmony export */ });
const VERSION = "1.11.0";

/***/ }),

/***/ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js":
/*!****************************************************************!*\
  !*** ./node_modules/axios/lib/helpers/AxiosURLSearchParams.js ***!
  \****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js");




/**
 * It encodes a string by replacing all characters that are not in the unreserved set with
 * their percent-encoded equivalents
 *
 * @param {string} str - The string to encode.
 *
 * @returns {string} The encoded string.
 */
function encode(str) {
  const charMap = {
    '!': '%21',
    "'": '%27',
    '(': '%28',
    ')': '%29',
    '~': '%7E',
    '%20': '+',
    '%00': '\x00'
  };
  return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
    return charMap[match];
  });
}

/**
 * It takes a params object and converts it to a FormData object
 *
 * @param {Object<string, any>} params - The parameters to be converted to a FormData object.
 * @param {Object<string, any>} options - The options object passed to the Axios constructor.
 *
 * @returns {void}
 */
function AxiosURLSearchParams(params, options) {
  this._pairs = [];

  params && (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, this, options);
}

const prototype = AxiosURLSearchParams.prototype;

prototype.append = function append(name, value) {
  this._pairs.push([name, value]);
};

prototype.toString = function toString(encoder) {
  const _encode = encoder ? function(value) {
    return encoder.call(this, value, encode);
  } : encode;

  return this._pairs.map(function each(pair) {
    return _encode(pair[0]) + '=' + _encode(pair[1]);
  }, '').join('&');
};

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosURLSearchParams);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/HttpStatusCode.js":
/*!**********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/HttpStatusCode.js ***!
  \**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
const HttpStatusCode = {
  Continue: 100,
  SwitchingProtocols: 101,
  Processing: 102,
  EarlyHints: 103,
  Ok: 200,
  Created: 201,
  Accepted: 202,
  NonAuthoritativeInformation: 203,
  NoContent: 204,
  ResetContent: 205,
  PartialContent: 206,
  MultiStatus: 207,
  AlreadyReported: 208,
  ImUsed: 226,
  MultipleChoices: 300,
  MovedPermanently: 301,
  Found: 302,
  SeeOther: 303,
  NotModified: 304,
  UseProxy: 305,
  Unused: 306,
  TemporaryRedirect: 307,
  PermanentRedirect: 308,
  BadRequest: 400,
  Unauthorized: 401,
  PaymentRequired: 402,
  Forbidden: 403,
  NotFound: 404,
  MethodNotAllowed: 405,
  NotAcceptable: 406,
  ProxyAuthenticationRequired: 407,
  RequestTimeout: 408,
  Conflict: 409,
  Gone: 410,
  LengthRequired: 411,
  PreconditionFailed: 412,
  PayloadTooLarge: 413,
  UriTooLong: 414,
  UnsupportedMediaType: 415,
  RangeNotSatisfiable: 416,
  ExpectationFailed: 417,
  ImATeapot: 418,
  MisdirectedRequest: 421,
  UnprocessableEntity: 422,
  Locked: 423,
  FailedDependency: 424,
  TooEarly: 425,
  UpgradeRequired: 426,
  PreconditionRequired: 428,
  TooManyRequests: 429,
  RequestHeaderFieldsTooLarge: 431,
  UnavailableForLegalReasons: 451,
  InternalServerError: 500,
  NotImplemented: 501,
  BadGateway: 502,
  ServiceUnavailable: 503,
  GatewayTimeout: 504,
  HttpVersionNotSupported: 505,
  VariantAlsoNegotiates: 506,
  InsufficientStorage: 507,
  LoopDetected: 508,
  NotExtended: 510,
  NetworkAuthenticationRequired: 511,
};

Object.entries(HttpStatusCode).forEach(([key, value]) => {
  HttpStatusCode[value] = key;
});

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HttpStatusCode);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/bind.js":
/*!************************************************!*\
  !*** ./node_modules/axios/lib/helpers/bind.js ***!
  \************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ bind)
/* harmony export */ });


function bind(fn, thisArg) {
  return function wrap() {
    return fn.apply(thisArg, arguments);
  };
}


/***/ }),

/***/ "./node_modules/axios/lib/helpers/buildURL.js":
/*!****************************************************!*\
  !*** ./node_modules/axios/lib/helpers/buildURL.js ***!
  \****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ buildURL)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js");





/**
 * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their
 * URI encoded counterparts
 *
 * @param {string} val The value to be encoded.
 *
 * @returns {string} The encoded value.
 */
function encode(val) {
  return encodeURIComponent(val).
    replace(/%3A/gi, ':').
    replace(/%24/g, '$').
    replace(/%2C/gi, ',').
    replace(/%20/g, '+').
    replace(/%5B/gi, '[').
    replace(/%5D/gi, ']');
}

/**
 * Build a URL by appending params to the end
 *
 * @param {string} url The base of the url (e.g., http://www.google.com)
 * @param {object} [params] The params to be appended
 * @param {?(object|Function)} options
 *
 * @returns {string} The formatted url
 */
function buildURL(url, params, options) {
  /*eslint no-param-reassign:0*/
  if (!params) {
    return url;
  }
  
  const _encode = options && options.encode || encode;

  if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(options)) {
    options = {
      serialize: options
    };
  } 

  const serializeFn = options && options.serialize;

  let serializedParams;

  if (serializeFn) {
    serializedParams = serializeFn(params, options);
  } else {
    serializedParams = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(params) ?
      params.toString() :
      new _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__["default"](params, options).toString(_encode);
  }

  if (serializedParams) {
    const hashmarkIndex = url.indexOf("#");

    if (hashmarkIndex !== -1) {
      url = url.slice(0, hashmarkIndex);
    }
    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
  }

  return url;
}


/***/ }),

/***/ "./node_modules/axios/lib/helpers/combineURLs.js":
/*!*******************************************************!*\
  !*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
  \*******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ combineURLs)
/* harmony export */ });


/**
 * Creates a new URL by combining the specified URLs
 *
 * @param {string} baseURL The base URL
 * @param {string} relativeURL The relative URL
 *
 * @returns {string} The combined URL
 */
function combineURLs(baseURL, relativeURL) {
  return relativeURL
    ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '')
    : baseURL;
}


/***/ }),

/***/ "./node_modules/axios/lib/helpers/composeSignals.js":
/*!**********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/composeSignals.js ***!
  \**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js");
/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js");
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");




const composeSignals = (signals, timeout) => {
  const {length} = (signals = signals ? signals.filter(Boolean) : []);

  if (timeout || length) {
    let controller = new AbortController();

    let aborted;

    const onabort = function (reason) {
      if (!aborted) {
        aborted = true;
        unsubscribe();
        const err = reason instanceof Error ? reason : this.reason;
        controller.abort(err instanceof _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"] ? err : new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](err instanceof Error ? err.message : err));
      }
    }

    let timer = timeout && setTimeout(() => {
      timer = null;
      onabort(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"](`timeout ${timeout} of ms exceeded`, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ETIMEDOUT))
    }, timeout)

    const unsubscribe = () => {
      if (signals) {
        timer && clearTimeout(timer);
        timer = null;
        signals.forEach(signal => {
          signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);
        });
        signals = null;
      }
    }

    signals.forEach((signal) => signal.addEventListener('abort', onabort));

    const {signal} = controller;

    signal.unsubscribe = () => _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].asap(unsubscribe);

    return signal;
  }
}

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (composeSignals);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/cookies.js":
/*!***************************************************!*\
  !*** ./node_modules/axios/lib/helpers/cookies.js ***!
  \***************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js");



/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].hasStandardBrowserEnv ?

  // Standard browser envs support document.cookie
  {
    write(name, value, expires, path, domain, secure) {
      const cookie = [name + '=' + encodeURIComponent(value)];

      _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());

      _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(path) && cookie.push('path=' + path);

      _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(domain) && cookie.push('domain=' + domain);

      secure === true && cookie.push('secure');

      document.cookie = cookie.join('; ');
    },

    read(name) {
      const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
      return (match ? decodeURIComponent(match[3]) : null);
    },

    remove(name) {
      this.write(name, '', Date.now() - 86400000);
    }
  }

  :

  // Non-standard browser env (web workers, react-native) lack needed support.
  {
    write() {},
    read() {
      return null;
    },
    remove() {}
  });



/***/ }),

/***/ "./node_modules/axios/lib/helpers/formDataToJSON.js":
/*!**********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/formDataToJSON.js ***!
  \**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");




/**
 * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']
 *
 * @param {string} name - The name of the property to get.
 *
 * @returns An array of strings.
 */
function parsePropPath(name) {
  // foo[x][y][z]
  // foo.x.y.z
  // foo-x-y-z
  // foo x y z
  return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].matchAll(/\w+|\[(\w*)]/g, name).map(match => {
    return match[0] === '[]' ? '' : match[1] || match[0];
  });
}

/**
 * Convert an array to an object.
 *
 * @param {Array<any>} arr - The array to convert to an object.
 *
 * @returns An object with the same keys and values as the array.
 */
function arrayToObject(arr) {
  const obj = {};
  const keys = Object.keys(arr);
  let i;
  const len = keys.length;
  let key;
  for (i = 0; i < len; i++) {
    key = keys[i];
    obj[key] = arr[key];
  }
  return obj;
}

/**
 * It takes a FormData object and returns a JavaScript object
 *
 * @param {string} formData The FormData object to convert to JSON.
 *
 * @returns {Object<string, any> | null} The converted object.
 */
function formDataToJSON(formData) {
  function buildPath(path, value, target, index) {
    let name = path[index++];

    if (name === '__proto__') return true;

    const isNumericKey = Number.isFinite(+name);
    const isLast = index >= path.length;
    name = !name && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target) ? target.length : name;

    if (isLast) {
      if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasOwnProp(target, name)) {
        target[name] = [target[name], value];
      } else {
        target[name] = value;
      }

      return !isNumericKey;
    }

    if (!target[name] || !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(target[name])) {
      target[name] = [];
    }

    const result = buildPath(path, value, target[name], index);

    if (result && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target[name])) {
      target[name] = arrayToObject(target[name]);
    }

    return !isNumericKey;
  }

  if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(formData) && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(formData.entries)) {
    const obj = {};

    _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEachEntry(formData, (name, value) => {
      buildPath(parsePropPath(name), value, obj, 0);
    });

    return obj;
  }

  return null;
}

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formDataToJSON);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js":
/*!*********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
  \*********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ isAbsoluteURL)
/* harmony export */ });


/**
 * Determines whether the specified URL is absolute
 *
 * @param {string} url The URL to test
 *
 * @returns {boolean} True if the specified URL is absolute, otherwise false
 */
function isAbsoluteURL(url) {
  // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
  // by any combination of letters, digits, plus, period, or hyphen.
  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
}


/***/ }),

/***/ "./node_modules/axios/lib/helpers/isAxiosError.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***!
  \********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ isAxiosError)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js");




/**
 * Determines whether the payload is an error thrown by Axios
 *
 * @param {*} payload The value to test
 *
 * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
 */
function isAxiosError(payload) {
  return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(payload) && (payload.isAxiosError === true);
}


/***/ }),

/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
/*!***********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
  \***********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js");


/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {
  url = new URL(url, _platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].origin);

  return (
    origin.protocol === url.protocol &&
    origin.host === url.host &&
    (isMSIE || origin.port === url.port)
  );
})(
  new URL(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].origin),
  _platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].navigator && /(msie|trident)/i.test(_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].navigator.userAgent)
) : () => true);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/null.js":
/*!************************************************!*\
  !*** ./node_modules/axios/lib/helpers/null.js ***!
  \************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
// eslint-disable-next-line strict
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (null);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/parseHeaders.js":
/*!********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
  \********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js");




// RawAxiosHeaders whose duplicates are ignored by node
// c.f. https://nodejs.org/api/http.html#http_message_headers
const ignoreDuplicateOf = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toObjectSet([
  'age', 'authorization', 'content-length', 'content-type', 'etag',
  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
  'last-modified', 'location', 'max-forwards', 'proxy-authorization',
  'referer', 'retry-after', 'user-agent'
]);

/**
 * Parse headers into an object
 *
 * ```
 * Date: Wed, 27 Aug 2014 08:58:49 GMT
 * Content-Type: application/json
 * Connection: keep-alive
 * Transfer-Encoding: chunked
 * ```
 *
 * @param {String} rawHeaders Headers needing to be parsed
 *
 * @returns {Object} Headers parsed into an object
 */
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (rawHeaders => {
  const parsed = {};
  let key;
  let val;
  let i;

  rawHeaders && rawHeaders.split('\n').forEach(function parser(line) {
    i = line.indexOf(':');
    key = line.substring(0, i).trim().toLowerCase();
    val = line.substring(i + 1).trim();

    if (!key || (parsed[key] && ignoreDuplicateOf[key])) {
      return;
    }

    if (key === 'set-cookie') {
      if (parsed[key]) {
        parsed[key].push(val);
      } else {
        parsed[key] = [val];
      }
    } else {
      parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
    }
  });

  return parsed;
});


/***/ }),

/***/ "./node_modules/axios/lib/helpers/parseProtocol.js":
/*!*********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/parseProtocol.js ***!
  \*********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ parseProtocol)
/* harmony export */ });


function parseProtocol(url) {
  const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
  return match && match[1] || '';
}


/***/ }),

/***/ "./node_modules/axios/lib/helpers/progressEventReducer.js":
/*!****************************************************************!*\
  !*** ./node_modules/axios/lib/helpers/progressEventReducer.js ***!
  \****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   asyncDecorator: () => (/* binding */ asyncDecorator),
/* harmony export */   progressEventDecorator: () => (/* binding */ progressEventDecorator),
/* harmony export */   progressEventReducer: () => (/* binding */ progressEventReducer)
/* harmony export */ });
/* harmony import */ var _speedometer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./speedometer.js */ "./node_modules/axios/lib/helpers/speedometer.js");
/* harmony import */ var _throttle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./throttle.js */ "./node_modules/axios/lib/helpers/throttle.js");
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");




const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
  let bytesNotified = 0;
  const _speedometer = (0,_speedometer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(50, 250);

  return (0,_throttle_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e => {
    const loaded = e.loaded;
    const total = e.lengthComputable ? e.total : undefined;
    const progressBytes = loaded - bytesNotified;
    const rate = _speedometer(progressBytes);
    const inRange = loaded <= total;

    bytesNotified = loaded;

    const data = {
      loaded,
      total,
      progress: total ? (loaded / total) : undefined,
      bytes: progressBytes,
      rate: rate ? rate : undefined,
      estimated: rate && total && inRange ? (total - loaded) / rate : undefined,
      event: e,
      lengthComputable: total != null,
      [isDownloadStream ? 'download' : 'upload']: true
    };

    listener(data);
  }, freq);
}

const progressEventDecorator = (total, throttled) => {
  const lengthComputable = total != null;

  return [(loaded) => throttled[0]({
    lengthComputable,
    total,
    loaded
  }), throttled[1]];
}

const asyncDecorator = (fn) => (...args) => _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].asap(() => fn(...args));


/***/ }),

/***/ "./node_modules/axios/lib/helpers/resolveConfig.js":
/*!*********************************************************!*\
  !*** ./node_modules/axios/lib/helpers/resolveConfig.js ***!
  \*********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js");
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isURLSameOrigin.js */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js");
/* harmony import */ var _cookies_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cookies.js */ "./node_modules/axios/lib/helpers/cookies.js");
/* harmony import */ var _core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js");
/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js");
/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js");
/* harmony import */ var _buildURL_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js");









/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((config) => {
  const newConfig = (0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_5__["default"])({}, config);

  let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;

  newConfig.headers = headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_6__["default"].from(headers);

  newConfig.url = (0,_buildURL_js__WEBPACK_IMPORTED_MODULE_7__["default"])((0,_core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_4__["default"])(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);

  // HTTP basic authentication
  if (auth) {
    headers.set('Authorization', 'Basic ' +
      btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))
    );
  }

  let contentType;

  if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFormData(data)) {
    if (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv || _platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserWebWorkerEnv) {
      headers.setContentType(undefined); // Let the browser set it
    } else if ((contentType = headers.getContentType()) !== false) {
      // fix semicolon duplication issue for ReactNative FormData implementation
      const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];
      headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));
    }
  }

  // Add xsrf header
  // This is only done if running in a standard browser environment.
  // Specifically not if we're in a web worker, or react-native.

  if (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv) {
    withXSRFToken && _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));

    if (withXSRFToken || (withXSRFToken !== false && (0,_isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_2__["default"])(newConfig.url))) {
      // Add xsrf header
      const xsrfValue = xsrfHeaderName && xsrfCookieName && _cookies_js__WEBPACK_IMPORTED_MODULE_3__["default"].read(xsrfCookieName);

      if (xsrfValue) {
        headers.set(xsrfHeaderName, xsrfValue);
      }
    }
  }

  return newConfig;
});



/***/ }),

/***/ "./node_modules/axios/lib/helpers/speedometer.js":
/*!*******************************************************!*\
  !*** ./node_modules/axios/lib/helpers/speedometer.js ***!
  \*******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });


/**
 * Calculate data maxRate
 * @param {Number} [samplesCount= 10]
 * @param {Number} [min= 1000]
 * @returns {Function}
 */
function speedometer(samplesCount, min) {
  samplesCount = samplesCount || 10;
  const bytes = new Array(samplesCount);
  const timestamps = new Array(samplesCount);
  let head = 0;
  let tail = 0;
  let firstSampleTS;

  min = min !== undefined ? min : 1000;

  return function push(chunkLength) {
    const now = Date.now();

    const startedAt = timestamps[tail];

    if (!firstSampleTS) {
      firstSampleTS = now;
    }

    bytes[head] = chunkLength;
    timestamps[head] = now;

    let i = tail;
    let bytesCount = 0;

    while (i !== head) {
      bytesCount += bytes[i++];
      i = i % samplesCount;
    }

    head = (head + 1) % samplesCount;

    if (head === tail) {
      tail = (tail + 1) % samplesCount;
    }

    if (now - firstSampleTS < min) {
      return;
    }

    const passed = startedAt && now - startedAt;

    return passed ? Math.round(bytesCount * 1000 / passed) : undefined;
  };
}

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (speedometer);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/spread.js":
/*!**************************************************!*\
  !*** ./node_modules/axios/lib/helpers/spread.js ***!
  \**************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ spread)
/* harmony export */ });


/**
 * Syntactic sugar for invoking a function and expanding an array for arguments.
 *
 * Common use case would be to use `Function.prototype.apply`.
 *
 *  ```js
 *  function f(x, y, z) {}
 *  var args = [1, 2, 3];
 *  f.apply(null, args);
 *  ```
 *
 * With `spread` this example can be re-written.
 *
 *  ```js
 *  spread(function(x, y, z) {})([1, 2, 3]);
 *  ```
 *
 * @param {Function} callback
 *
 * @returns {Function}
 */
function spread(callback) {
  return function wrap(arr) {
    return callback.apply(null, arr);
  };
}


/***/ }),

/***/ "./node_modules/axios/lib/helpers/throttle.js":
/*!****************************************************!*\
  !*** ./node_modules/axios/lib/helpers/throttle.js ***!
  \****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/**
 * Throttle decorator
 * @param {Function} fn
 * @param {Number} freq
 * @return {Function}
 */
function throttle(fn, freq) {
  let timestamp = 0;
  let threshold = 1000 / freq;
  let lastArgs;
  let timer;

  const invoke = (args, now = Date.now()) => {
    timestamp = now;
    lastArgs = null;
    if (timer) {
      clearTimeout(timer);
      timer = null;
    }
    fn(...args);
  }

  const throttled = (...args) => {
    const now = Date.now();
    const passed = now - timestamp;
    if ( passed >= threshold) {
      invoke(args, now);
    } else {
      lastArgs = args;
      if (!timer) {
        timer = setTimeout(() => {
          timer = null;
          invoke(lastArgs)
        }, threshold - passed);
      }
    }
  }

  const flush = () => lastArgs && invoke(lastArgs);

  return [throttled, flush];
}

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (throttle);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/toFormData.js":
/*!******************************************************!*\
  !*** ./node_modules/axios/lib/helpers/toFormData.js ***!
  \******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js");
/* harmony import */ var _platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../platform/node/classes/FormData.js */ "./node_modules/axios/lib/helpers/null.js");




// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored


/**
 * Determines if the given thing is a array or js object.
 *
 * @param {string} thing - The object or array to be visited.
 *
 * @returns {boolean}
 */
function isVisitable(thing) {
  return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(thing) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(thing);
}

/**
 * It removes the brackets from the end of a string
 *
 * @param {string} key - The key of the parameter.
 *
 * @returns {string} the key without the brackets.
 */
function removeBrackets(key) {
  return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]') ? key.slice(0, -2) : key;
}

/**
 * It takes a path, a key, and a boolean, and returns a string
 *
 * @param {string} path - The path to the current key.
 * @param {string} key - The key of the current object being iterated over.
 * @param {string} dots - If true, the key will be rendered with dots instead of brackets.
 *
 * @returns {string} The path to the current key.
 */
function renderKey(path, key, dots) {
  if (!path) return key;
  return path.concat(key).map(function each(token, i) {
    // eslint-disable-next-line no-param-reassign
    token = removeBrackets(token);
    return !dots && i ? '[' + token + ']' : token;
  }).join(dots ? '.' : '');
}

/**
 * If the array is an array and none of its elements are visitable, then it's a flat array.
 *
 * @param {Array<any>} arr - The array to check
 *
 * @returns {boolean}
 */
function isFlatArray(arr) {
  return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(arr) && !arr.some(isVisitable);
}

const predicates = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"], {}, null, function filter(prop) {
  return /^is[A-Z]/.test(prop);
});

/**
 * Convert a data object to FormData
 *
 * @param {Object} obj
 * @param {?Object} [formData]
 * @param {?Object} [options]
 * @param {Function} [options.visitor]
 * @param {Boolean} [options.metaTokens = true]
 * @param {Boolean} [options.dots = false]
 * @param {?Boolean} [options.indexes = false]
 *
 * @returns {Object}
 **/

/**
 * It converts an object into a FormData object
 *
 * @param {Object<any, any>} obj - The object to convert to form data.
 * @param {string} formData - The FormData object to append to.
 * @param {Object<string, any>} options
 *
 * @returns
 */
function toFormData(obj, formData, options) {
  if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) {
    throw new TypeError('target must be an object');
  }

  // eslint-disable-next-line no-param-reassign
  formData = formData || new (_platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_2__["default"] || FormData)();

  // eslint-disable-next-line no-param-reassign
  options = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(options, {
    metaTokens: true,
    dots: false,
    indexes: false
  }, false, function defined(option, source) {
    // eslint-disable-next-line no-eq-null,eqeqeq
    return !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(source[option]);
  });

  const metaTokens = options.metaTokens;
  // eslint-disable-next-line no-use-before-define
  const visitor = options.visitor || defaultVisitor;
  const dots = options.dots;
  const indexes = options.indexes;
  const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;
  const useBlob = _Blob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isSpecCompliantForm(formData);

  if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(visitor)) {
    throw new TypeError('visitor must be a function');
  }

  function convertValue(value) {
    if (value === null) return '';

    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isDate(value)) {
      return value.toISOString();
    }

    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBoolean(value)) {
      return value.toString();
    }

    if (!useBlob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(value)) {
      throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('Blob is not supported. Use a Buffer instead.');
    }

    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isTypedArray(value)) {
      return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);
    }

    return value;
  }

  /**
   * Default visitor.
   *
   * @param {*} value
   * @param {String|Number} key
   * @param {Array<String|Number>} path
   * @this {FormData}
   *
   * @returns {boolean} return true to visit the each prop of the value recursively
   */
  function defaultVisitor(value, key, path) {
    let arr = value;

    if (value && !path && typeof value === 'object') {
      if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '{}')) {
        // eslint-disable-next-line no-param-reassign
        key = metaTokens ? key : key.slice(0, -2);
        // eslint-disable-next-line no-param-reassign
        value = JSON.stringify(value);
      } else if (
        (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) && isFlatArray(value)) ||
        ((_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]')) && (arr = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toArray(value))
        )) {
        // eslint-disable-next-line no-param-reassign
        key = removeBrackets(key);

        arr.forEach(function each(el, index) {
          !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && formData.append(
            // eslint-disable-next-line no-nested-ternary
            indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),
            convertValue(el)
          );
        });
        return false;
      }
    }

    if (isVisitable(value)) {
      return true;
    }

    formData.append(renderKey(path, key, dots), convertValue(value));

    return false;
  }

  const stack = [];

  const exposedHelpers = Object.assign(predicates, {
    defaultVisitor,
    convertValue,
    isVisitable
  });

  function build(value, path) {
    if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(value)) return;

    if (stack.indexOf(value) !== -1) {
      throw Error('Circular reference detected in ' + path.join('.'));
    }

    stack.push(value);

    _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(value, function each(el, key) {
      const result = !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && visitor.call(
        formData, el, _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(key) ? key.trim() : key, path, exposedHelpers
      );

      if (result === true) {
        build(el, path ? path.concat(key) : [key]);
      }
    });

    stack.pop();
  }

  if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) {
    throw new TypeError('data must be an object');
  }

  build(obj);

  return formData;
}

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toFormData);


/***/ }),

/***/ "./node_modules/axios/lib/helpers/toURLEncodedForm.js":
/*!************************************************************!*\
  !*** ./node_modules/axios/lib/helpers/toURLEncodedForm.js ***!
  \************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ toURLEncodedForm)
/* harmony export */ });
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js");
/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js");
/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js");






function toURLEncodedForm(data, options) {
  return (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_1__["default"])(data, new _platform_index_js__WEBPACK_IMPORTED_MODULE_2__["default"].classes.URLSearchParams(), {
    visitor: function(value, key, path, helpers) {
      if (_platform_index_js__WEBPACK_IMPORTED_MODULE_2__["default"].isNode && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBuffer(value)) {
        this.append(key, value.toString('base64'));
        return false;
      }

      return helpers.defaultVisitor.apply(this, arguments);
    },
    ...options
  });
}


/***/ }),

/***/ "./node_modules/axios/lib/helpers/trackStream.js":
/*!*******************************************************!*\
  !*** ./node_modules/axios/lib/helpers/trackStream.js ***!
  \*******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   readBytes: () => (/* binding */ readBytes),
/* harmony export */   streamChunk: () => (/* binding */ streamChunk),
/* harmony export */   trackStream: () => (/* binding */ trackStream)
/* harmony export */ });

const streamChunk = function* (chunk, chunkSize) {
  let len = chunk.byteLength;

  if (!chunkSize || len < chunkSize) {
    yield chunk;
    return;
  }

  let pos = 0;
  let end;

  while (pos < len) {
    end = pos + chunkSize;
    yield chunk.slice(pos, end);
    pos = end;
  }
}

const readBytes = async function* (iterable, chunkSize) {
  for await (const chunk of readStream(iterable)) {
    yield* streamChunk(chunk, chunkSize);
  }
}

const readStream = async function* (stream) {
  if (stream[Symbol.asyncIterator]) {
    yield* stream;
    return;
  }

  const reader = stream.getReader();
  try {
    for (;;) {
      const {done, value} = await reader.read();
      if (done) {
        break;
      }
      yield value;
    }
  } finally {
    await reader.cancel();
  }
}

const trackStream = (stream, chunkSize, onProgress, onFinish) => {
  const iterator = readBytes(stream, chunkSize);

  let bytes = 0;
  let done;
  let _onFinish = (e) => {
    if (!done) {
      done = true;
      onFinish && onFinish(e);
    }
  }

  return new ReadableStream({
    async pull(controller) {
      try {
        const {done, value} = await iterator.next();

        if (done) {
         _onFinish();
          controller.close();
          return;
        }

        let len = value.byteLength;
        if (onProgress) {
          let loadedBytes = bytes += len;
          onProgress(loadedBytes);
        }
        controller.enqueue(new Uint8Array(value));
      } catch (err) {
        _onFinish(err);
        throw err;
      }
    },
    cancel(reason) {
      _onFinish(reason);
      return iterator.return();
    }
  }, {
    highWaterMark: 2
  })
}


/***/ }),

/***/ "./node_modules/axios/lib/helpers/validator.js":
/*!*****************************************************!*\
  !*** ./node_modules/axios/lib/helpers/validator.js ***!
  \*****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../env/data.js */ "./node_modules/axios/lib/env/data.js");
/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js");





const validators = {};

// eslint-disable-next-line func-names
['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {
  validators[type] = function validator(thing) {
    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
  };
});

const deprecatedWarnings = {};

/**
 * Transitional option validator
 *
 * @param {function|boolean?} validator - set to false if the transitional option has been removed
 * @param {string?} version - deprecated version / removed since version
 * @param {string?} message - some message with additional info
 *
 * @returns {function}
 */
validators.transitional = function transitional(validator, version, message) {
  function formatMessage(opt, desc) {
    return '[Axios v' + _env_data_js__WEBPACK_IMPORTED_MODULE_0__.VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
  }

  // eslint-disable-next-line func-names
  return (value, opt, opts) => {
    if (validator === false) {
      throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"](
        formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),
        _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_DEPRECATED
      );
    }

    if (version && !deprecatedWarnings[opt]) {
      deprecatedWarnings[opt] = true;
      // eslint-disable-next-line no-console
      console.warn(
        formatMessage(
          opt,
          ' has been deprecated since v' + version + ' and will be removed in the near future'
        )
      );
    }

    return validator ? validator(value, opt, opts) : true;
  };
};

validators.spelling = function spelling(correctSpelling) {
  return (value, opt) => {
    // eslint-disable-next-line no-console
    console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
    return true;
  }
};

/**
 * Assert object's properties type
 *
 * @param {object} options
 * @param {object} schema
 * @param {boolean?} allowUnknown
 *
 * @returns {object}
 */

function assertOptions(options, schema, allowUnknown) {
  if (typeof options !== 'object') {
    throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('options must be an object', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE);
  }
  const keys = Object.keys(options);
  let i = keys.length;
  while (i-- > 0) {
    const opt = keys[i];
    const validator = schema[opt];
    if (validator) {
      const value = options[opt];
      const result = value === undefined || validator(value, opt, options);
      if (result !== true) {
        throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('option ' + opt + ' must be ' + result, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE);
      }
      continue;
    }
    if (allowUnknown !== true) {
      throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('Unknown option ' + opt, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION);
    }
  }
}

/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  assertOptions,
  validators
});


/***/ }),

/***/ "./node_modules/axios/lib/platform/browser/classes/Blob.js":
/*!*****************************************************************!*\
  !*** ./node_modules/axios/lib/platform/browser/classes/Blob.js ***!
  \*****************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });


/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof Blob !== 'undefined' ? Blob : null);


/***/ }),

/***/ "./node_modules/axios/lib/platform/browser/classes/FormData.js":
/*!*********************************************************************!*\
  !*** ./node_modules/axios/lib/platform/browser/classes/FormData.js ***!
  \*********************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });


/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof FormData !== 'undefined' ? FormData : null);


/***/ }),

/***/ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js":
/*!****************************************************************************!*\
  !*** ./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js ***!
  \****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js");



/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof URLSearchParams !== 'undefined' ? URLSearchParams : _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"]);


/***/ }),

/***/ "./node_modules/axios/lib/platform/browser/index.js":
/*!**********************************************************!*\
  !*** ./node_modules/axios/lib/platform/browser/index.js ***!
  \**********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./classes/URLSearchParams.js */ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js");
/* harmony import */ var _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classes/FormData.js */ "./node_modules/axios/lib/platform/browser/classes/FormData.js");
/* harmony import */ var _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./classes/Blob.js */ "./node_modules/axios/lib/platform/browser/classes/Blob.js");




/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  isBrowser: true,
  classes: {
    URLSearchParams: _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"],
    FormData: _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"],
    Blob: _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__["default"]
  },
  protocols: ['http', 'https', 'file', 'blob', 'url', 'data']
});


/***/ }),

/***/ "./node_modules/axios/lib/platform/common/utils.js":
/*!*********************************************************!*\
  !*** ./node_modules/axios/lib/platform/common/utils.js ***!
  \*********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   hasBrowserEnv: () => (/* binding */ hasBrowserEnv),
/* harmony export */   hasStandardBrowserEnv: () => (/* binding */ hasStandardBrowserEnv),
/* harmony export */   hasStandardBrowserWebWorkerEnv: () => (/* binding */ hasStandardBrowserWebWorkerEnv),
/* harmony export */   navigator: () => (/* binding */ _navigator),
/* harmony export */   origin: () => (/* binding */ origin)
/* harmony export */ });
const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';

const _navigator = typeof navigator === 'object' && navigator || undefined;

/**
 * Determine if we're running in a standard browser environment
 *
 * This allows axios to run in a web worker, and react-native.
 * Both environments support XMLHttpRequest, but not fully standard globals.
 *
 * web workers:
 *  typeof window -> undefined
 *  typeof document -> undefined
 *
 * react-native:
 *  navigator.product -> 'ReactNative'
 * nativescript
 *  navigator.product -> 'NativeScript' or 'NS'
 *
 * @returns {boolean}
 */
const hasStandardBrowserEnv = hasBrowserEnv &&
  (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);

/**
 * Determine if we're running in a standard browser webWorker environment
 *
 * Although the `isStandardBrowserEnv` method indicates that
 * `allows axios to run in a web worker`, the WebWorker will still be
 * filtered out due to its judgment standard
 * `typeof window !== 'undefined' && typeof document !== 'undefined'`.
 * This leads to a problem when axios post `FormData` in webWorker
 */
const hasStandardBrowserWebWorkerEnv = (() => {
  return (
    typeof WorkerGlobalScope !== 'undefined' &&
    // eslint-disable-next-line no-undef
    self instanceof WorkerGlobalScope &&
    typeof self.importScripts === 'function'
  );
})();

const origin = hasBrowserEnv && window.location.href || 'http://localhost';




/***/ }),

/***/ "./node_modules/axios/lib/platform/index.js":
/*!**************************************************!*\
  !*** ./node_modules/axios/lib/platform/index.js ***!
  \**************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _node_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node/index.js */ "./node_modules/axios/lib/platform/browser/index.js");
/* harmony import */ var _common_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./common/utils.js */ "./node_modules/axios/lib/platform/common/utils.js");



/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  ..._common_utils_js__WEBPACK_IMPORTED_MODULE_1__,
  ..._node_index_js__WEBPACK_IMPORTED_MODULE_0__["default"]
});


/***/ }),

/***/ "./node_modules/axios/lib/utils.js":
/*!*****************************************!*\
  !*** ./node_modules/axios/lib/utils.js ***!
  \*****************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js");




// utils is a library of generic helper functions non-specific to axios

const {toString} = Object.prototype;
const {getPrototypeOf} = Object;
const {iterator, toStringTag} = Symbol;

const kindOf = (cache => thing => {
    const str = toString.call(thing);
    return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
})(Object.create(null));

const kindOfTest = (type) => {
  type = type.toLowerCase();
  return (thing) => kindOf(thing) === type
}

const typeOfTest = type => thing => typeof thing === type;

/**
 * Determine if a value is an Array
 *
 * @param {Object} val The value to test
 *
 * @returns {boolean} True if value is an Array, otherwise false
 */
const {isArray} = Array;

/**
 * Determine if a value is undefined
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if the value is undefined, otherwise false
 */
const isUndefined = typeOfTest('undefined');

/**
 * Determine if a value is a Buffer
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a Buffer, otherwise false
 */
function isBuffer(val) {
  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)
    && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
}

/**
 * Determine if a value is an ArrayBuffer
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is an ArrayBuffer, otherwise false
 */
const isArrayBuffer = kindOfTest('ArrayBuffer');


/**
 * Determine if a value is a view on an ArrayBuffer
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
 */
function isArrayBufferView(val) {
  let result;
  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
    result = ArrayBuffer.isView(val);
  } else {
    result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));
  }
  return result;
}

/**
 * Determine if a value is a String
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a String, otherwise false
 */
const isString = typeOfTest('string');

/**
 * Determine if a value is a Function
 *
 * @param {*} val The value to test
 * @returns {boolean} True if value is a Function, otherwise false
 */
const isFunction = typeOfTest('function');

/**
 * Determine if a value is a Number
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a Number, otherwise false
 */
const isNumber = typeOfTest('number');

/**
 * Determine if a value is an Object
 *
 * @param {*} thing The value to test
 *
 * @returns {boolean} True if value is an Object, otherwise false
 */
const isObject = (thing) => thing !== null && typeof thing === 'object';

/**
 * Determine if a value is a Boolean
 *
 * @param {*} thing The value to test
 * @returns {boolean} True if value is a Boolean, otherwise false
 */
const isBoolean = thing => thing === true || thing === false;

/**
 * Determine if a value is a plain Object
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a plain Object, otherwise false
 */
const isPlainObject = (val) => {
  if (kindOf(val) !== 'object') {
    return false;
  }

  const prototype = getPrototypeOf(val);
  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);
}

/**
 * Determine if a value is an empty object (safely handles Buffers)
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is an empty object, otherwise false
 */
const isEmptyObject = (val) => {
  // Early return for non-objects or Buffers to prevent RangeError
  if (!isObject(val) || isBuffer(val)) {
    return false;
  }
  
  try {
    return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;
  } catch (e) {
    // Fallback for any other objects that might cause RangeError with Object.keys()
    return false;
  }
}

/**
 * Determine if a value is a Date
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a Date, otherwise false
 */
const isDate = kindOfTest('Date');

/**
 * Determine if a value is a File
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a File, otherwise false
 */
const isFile = kindOfTest('File');

/**
 * Determine if a value is a Blob
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a Blob, otherwise false
 */
const isBlob = kindOfTest('Blob');

/**
 * Determine if a value is a FileList
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a File, otherwise false
 */
const isFileList = kindOfTest('FileList');

/**
 * Determine if a value is a Stream
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a Stream, otherwise false
 */
const isStream = (val) => isObject(val) && isFunction(val.pipe);

/**
 * Determine if a value is a FormData
 *
 * @param {*} thing The value to test
 *
 * @returns {boolean} True if value is an FormData, otherwise false
 */
const isFormData = (thing) => {
  let kind;
  return thing && (
    (typeof FormData === 'function' && thing instanceof FormData) || (
      isFunction(thing.append) && (
        (kind = kindOf(thing)) === 'formdata' ||
        // detect form-data instance
        (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')
      )
    )
  )
}

/**
 * Determine if a value is a URLSearchParams object
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a URLSearchParams object, otherwise false
 */
const isURLSearchParams = kindOfTest('URLSearchParams');

const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);

/**
 * Trim excess whitespace off the beginning and end of a string
 *
 * @param {String} str The String to trim
 *
 * @returns {String} The String freed of excess whitespace
 */
const trim = (str) => str.trim ?
  str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');

/**
 * Iterate over an Array or an Object invoking a function for each item.
 *
 * If `obj` is an Array callback will be called passing
 * the value, index, and complete array for each item.
 *
 * If 'obj' is an Object callback will be called passing
 * the value, key, and complete object for each property.
 *
 * @param {Object|Array} obj The object to iterate
 * @param {Function} fn The callback to invoke for each item
 *
 * @param {Boolean} [allOwnKeys = false]
 * @returns {any}
 */
function forEach(obj, fn, {allOwnKeys = false} = {}) {
  // Don't bother if no value provided
  if (obj === null || typeof obj === 'undefined') {
    return;
  }

  let i;
  let l;

  // Force an array if not already something iterable
  if (typeof obj !== 'object') {
    /*eslint no-param-reassign:0*/
    obj = [obj];
  }

  if (isArray(obj)) {
    // Iterate over array values
    for (i = 0, l = obj.length; i < l; i++) {
      fn.call(null, obj[i], i, obj);
    }
  } else {
    // Buffer check
    if (isBuffer(obj)) {
      return;
    }

    // Iterate over object keys
    const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
    const len = keys.length;
    let key;

    for (i = 0; i < len; i++) {
      key = keys[i];
      fn.call(null, obj[key], key, obj);
    }
  }
}

function findKey(obj, key) {
  if (isBuffer(obj)){
    return null;
  }

  key = key.toLowerCase();
  const keys = Object.keys(obj);
  let i = keys.length;
  let _key;
  while (i-- > 0) {
    _key = keys[i];
    if (key === _key.toLowerCase()) {
      return _key;
    }
  }
  return null;
}

const _global = (() => {
  /*eslint no-undef:0*/
  if (typeof globalThis !== "undefined") return globalThis;
  return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global)
})();

const isContextDefined = (context) => !isUndefined(context) && context !== _global;

/**
 * Accepts varargs expecting each argument to be an object, then
 * immutably merges the properties of each object and returns result.
 *
 * When multiple objects contain the same key the later object in
 * the arguments list will take precedence.
 *
 * Example:
 *
 * ```js
 * var result = merge({foo: 123}, {foo: 456});
 * console.log(result.foo); // outputs 456
 * ```
 *
 * @param {Object} obj1 Object to merge
 *
 * @returns {Object} Result of all merge properties
 */
function merge(/* obj1, obj2, obj3, ... */) {
  const {caseless} = isContextDefined(this) && this || {};
  const result = {};
  const assignValue = (val, key) => {
    const targetKey = caseless && findKey(result, key) || key;
    if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
      result[targetKey] = merge(result[targetKey], val);
    } else if (isPlainObject(val)) {
      result[targetKey] = merge({}, val);
    } else if (isArray(val)) {
      result[targetKey] = val.slice();
    } else {
      result[targetKey] = val;
    }
  }

  for (let i = 0, l = arguments.length; i < l; i++) {
    arguments[i] && forEach(arguments[i], assignValue);
  }
  return result;
}

/**
 * Extends object a by mutably adding to it the properties of object b.
 *
 * @param {Object} a The object to be extended
 * @param {Object} b The object to copy properties from
 * @param {Object} thisArg The object to bind function to
 *
 * @param {Boolean} [allOwnKeys]
 * @returns {Object} The resulting value of object a
 */
const extend = (a, b, thisArg, {allOwnKeys}= {}) => {
  forEach(b, (val, key) => {
    if (thisArg && isFunction(val)) {
      a[key] = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__["default"])(val, thisArg);
    } else {
      a[key] = val;
    }
  }, {allOwnKeys});
  return a;
}

/**
 * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
 *
 * @param {string} content with BOM
 *
 * @returns {string} content value without BOM
 */
const stripBOM = (content) => {
  if (content.charCodeAt(0) === 0xFEFF) {
    content = content.slice(1);
  }
  return content;
}

/**
 * Inherit the prototype methods from one constructor into another
 * @param {function} constructor
 * @param {function} superConstructor
 * @param {object} [props]
 * @param {object} [descriptors]
 *
 * @returns {void}
 */
const inherits = (constructor, superConstructor, props, descriptors) => {
  constructor.prototype = Object.create(superConstructor.prototype, descriptors);
  constructor.prototype.constructor = constructor;
  Object.defineProperty(constructor, 'super', {
    value: superConstructor.prototype
  });
  props && Object.assign(constructor.prototype, props);
}

/**
 * Resolve object with deep prototype chain to a flat object
 * @param {Object} sourceObj source object
 * @param {Object} [destObj]
 * @param {Function|Boolean} [filter]
 * @param {Function} [propFilter]
 *
 * @returns {Object}
 */
const toFlatObject = (sourceObj, destObj, filter, propFilter) => {
  let props;
  let i;
  let prop;
  const merged = {};

  destObj = destObj || {};
  // eslint-disable-next-line no-eq-null,eqeqeq
  if (sourceObj == null) return destObj;

  do {
    props = Object.getOwnPropertyNames(sourceObj);
    i = props.length;
    while (i-- > 0) {
      prop = props[i];
      if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
        destObj[prop] = sourceObj[prop];
        merged[prop] = true;
      }
    }
    sourceObj = filter !== false && getPrototypeOf(sourceObj);
  } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);

  return destObj;
}

/**
 * Determines whether a string ends with the characters of a specified string
 *
 * @param {String} str
 * @param {String} searchString
 * @param {Number} [position= 0]
 *
 * @returns {boolean}
 */
const endsWith = (str, searchString, position) => {
  str = String(str);
  if (position === undefined || position > str.length) {
    position = str.length;
  }
  position -= searchString.length;
  const lastIndex = str.indexOf(searchString, position);
  return lastIndex !== -1 && lastIndex === position;
}


/**
 * Returns new array from array like object or null if failed
 *
 * @param {*} [thing]
 *
 * @returns {?Array}
 */
const toArray = (thing) => {
  if (!thing) return null;
  if (isArray(thing)) return thing;
  let i = thing.length;
  if (!isNumber(i)) return null;
  const arr = new Array(i);
  while (i-- > 0) {
    arr[i] = thing[i];
  }
  return arr;
}

/**
 * Checking if the Uint8Array exists and if it does, it returns a function that checks if the
 * thing passed in is an instance of Uint8Array
 *
 * @param {TypedArray}
 *
 * @returns {Array}
 */
// eslint-disable-next-line func-names
const isTypedArray = (TypedArray => {
  // eslint-disable-next-line func-names
  return thing => {
    return TypedArray && thing instanceof TypedArray;
  };
})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));

/**
 * For each entry in the object, call the function with the key and value.
 *
 * @param {Object<any, any>} obj - The object to iterate over.
 * @param {Function} fn - The function to call for each entry.
 *
 * @returns {void}
 */
const forEachEntry = (obj, fn) => {
  const generator = obj && obj[iterator];

  const _iterator = generator.call(obj);

  let result;

  while ((result = _iterator.next()) && !result.done) {
    const pair = result.value;
    fn.call(obj, pair[0], pair[1]);
  }
}

/**
 * It takes a regular expression and a string, and returns an array of all the matches
 *
 * @param {string} regExp - The regular expression to match against.
 * @param {string} str - The string to search.
 *
 * @returns {Array<boolean>}
 */
const matchAll = (regExp, str) => {
  let matches;
  const arr = [];

  while ((matches = regExp.exec(str)) !== null) {
    arr.push(matches);
  }

  return arr;
}

/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */
const isHTMLForm = kindOfTest('HTMLFormElement');

const toCamelCase = str => {
  return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,
    function replacer(m, p1, p2) {
      return p1.toUpperCase() + p2;
    }
  );
};

/* Creating a function that will check if an object has a property. */
const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);

/**
 * Determine if a value is a RegExp object
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a RegExp object, otherwise false
 */
const isRegExp = kindOfTest('RegExp');

const reduceDescriptors = (obj, reducer) => {
  const descriptors = Object.getOwnPropertyDescriptors(obj);
  const reducedDescriptors = {};

  forEach(descriptors, (descriptor, name) => {
    let ret;
    if ((ret = reducer(descriptor, name, obj)) !== false) {
      reducedDescriptors[name] = ret || descriptor;
    }
  });

  Object.defineProperties(obj, reducedDescriptors);
}

/**
 * Makes all methods read-only
 * @param {Object} obj
 */

const freezeMethods = (obj) => {
  reduceDescriptors(obj, (descriptor, name) => {
    // skip restricted props in strict mode
    if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {
      return false;
    }

    const value = obj[name];

    if (!isFunction(value)) return;

    descriptor.enumerable = false;

    if ('writable' in descriptor) {
      descriptor.writable = false;
      return;
    }

    if (!descriptor.set) {
      descriptor.set = () => {
        throw Error('Can not rewrite read-only method \'' + name + '\'');
      };
    }
  });
}

const toObjectSet = (arrayOrString, delimiter) => {
  const obj = {};

  const define = (arr) => {
    arr.forEach(value => {
      obj[value] = true;
    });
  }

  isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));

  return obj;
}

const noop = () => {}

const toFiniteNumber = (value, defaultValue) => {
  return value != null && Number.isFinite(value = +value) ? value : defaultValue;
}

/**
 * If the thing is a FormData object, return true, otherwise return false.
 *
 * @param {unknown} thing - The thing to check.
 *
 * @returns {boolean}
 */
function isSpecCompliantForm(thing) {
  return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);
}

const toJSONObject = (obj) => {
  const stack = new Array(10);

  const visit = (source, i) => {

    if (isObject(source)) {
      if (stack.indexOf(source) >= 0) {
        return;
      }

      //Buffer check
      if (isBuffer(source)) {
        return source;
      }

      if(!('toJSON' in source)) {
        stack[i] = source;
        const target = isArray(source) ? [] : {};

        forEach(source, (value, key) => {
          const reducedValue = visit(value, i + 1);
          !isUndefined(reducedValue) && (target[key] = reducedValue);
        });

        stack[i] = undefined;

        return target;
      }
    }

    return source;
  }

  return visit(obj, 0);
}

const isAsyncFn = kindOfTest('AsyncFunction');

const isThenable = (thing) =>
  thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);

// original code
// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34

const _setImmediate = ((setImmediateSupported, postMessageSupported) => {
  if (setImmediateSupported) {
    return setImmediate;
  }

  return postMessageSupported ? ((token, callbacks) => {
    _global.addEventListener("message", ({source, data}) => {
      if (source === _global && data === token) {
        callbacks.length && callbacks.shift()();
      }
    }, false);

    return (cb) => {
      callbacks.push(cb);
      _global.postMessage(token, "*");
    }
  })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);
})(
  typeof setImmediate === 'function',
  isFunction(_global.postMessage)
);

const asap = typeof queueMicrotask !== 'undefined' ?
  queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);

// *********************


const isIterable = (thing) => thing != null && isFunction(thing[iterator]);


/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
  isArray,
  isArrayBuffer,
  isBuffer,
  isFormData,
  isArrayBufferView,
  isString,
  isNumber,
  isBoolean,
  isObject,
  isPlainObject,
  isEmptyObject,
  isReadableStream,
  isRequest,
  isResponse,
  isHeaders,
  isUndefined,
  isDate,
  isFile,
  isBlob,
  isRegExp,
  isFunction,
  isStream,
  isURLSearchParams,
  isTypedArray,
  isFileList,
  forEach,
  merge,
  extend,
  trim,
  stripBOM,
  inherits,
  toFlatObject,
  kindOf,
  kindOfTest,
  endsWith,
  toArray,
  forEachEntry,
  matchAll,
  isHTMLForm,
  hasOwnProperty,
  hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection
  reduceDescriptors,
  freezeMethods,
  toObjectSet,
  toCamelCase,
  noop,
  toFiniteNumber,
  findKey,
  global: _global,
  isContextDefined,
  isSpecCompliantForm,
  toJSONObject,
  isAsyncFn,
  isThenable,
  setImmediate: _setImmediate,
  asap,
  isIterable
});


/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			// no module.id needed
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/define property getters */
/******/ 	(() => {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = (exports, definition) => {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	(() => {
/******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ 	})();
/******/ 	
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	(() => {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = (exports) => {
/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 			}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
/******/ 		};
/******/ 	})();
/******/ 	
/************************************************************************/
/******/ 	
/******/ 	// startup
/******/ 	// Load entry module and return exports
/******/ 	// This entry module is referenced by other modules so it can't be inlined
/******/ 	var __webpack_exports__ = __webpack_require__("./lib/index.ts");
/******/ 	
/******/ 	return __webpack_exports__;
/******/ })()
;
});
//# sourceMappingURL=kontent-delivery.umd.js.map