diff --git a/dist/apisearch.js b/dist/apisearch.js index 346bac4..df8d702 100644 --- a/dist/apisearch.js +++ b/dist/apisearch.js @@ -6532,7 +6532,7 @@ var Query = /** @class */ (function () { return this.queryOperator; }; Query.prototype.optimize = function () { - var _a, _b, _c; + var _a, _b; var copy = this.toArray(); var extraFilters = []; var otherAggregations = {}; @@ -6546,7 +6546,7 @@ var Query = /** @class */ (function () { }); copy.aggregations = otherAggregations; copy.metadata = (_b = copy.metadata) !== null && _b !== void 0 ? _b : []; - copy.metadata.ef = ((_c = copy.metadata.ef) !== null && _c !== void 0 ? _c : []).concat(extraFilters); + copy.metadata.ef = extraFilters; return Query.createFromArray(copy); }; /** diff --git a/dist/apisearch.js.map b/dist/apisearch.js.map index 71cce7d..7c723ac 100644 --- a/dist/apisearch.js.map +++ b/dist/apisearch.js.map @@ -1 +1 @@ -{"version":3,"file":"apisearch.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;ACVA,4FAAuC;;;;;;;;;;;ACA1B;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,aAAa,mBAAO,CAAC,iEAAkB;AACvC,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,oBAAoB,mBAAO,CAAC,6EAAuB;AACnD,mBAAmB,mBAAO,CAAC,mFAA2B;AACtD,sBAAsB,mBAAO,CAAC,yFAA8B;AAC5D,2BAA2B,mBAAO,CAAC,mFAA0B;AAC7D,iBAAiB,mBAAO,CAAC,uEAAoB;AAC7C,oBAAoB,mBAAO,CAAC,iFAAyB;AACrD,oBAAoB,mBAAO,CAAC,mFAA0B;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AC7Na;;AAEb,YAAY,mBAAO,CAAC,kDAAS;AAC7B,WAAW,mBAAO,CAAC,gEAAgB;AACnC,YAAY,mBAAO,CAAC,4DAAc;AAClC,kBAAkB,mBAAO,CAAC,wEAAoB;AAC9C,eAAe,mBAAO,CAAC,8DAAY;;AAEnC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,mBAAO,CAAC,gFAAwB;AACtD,oBAAoB,mBAAO,CAAC,4EAAsB;AAClD,iBAAiB,mBAAO,CAAC,sEAAmB;AAC5C,gBAAgB,uFAA6B;AAC7C,mBAAmB,mBAAO,CAAC,4EAAsB;;AAEjD;AACA,mBAAmB,mBAAO,CAAC,2EAAwB;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,oEAAkB;;AAEzC;AACA,qBAAqB,mBAAO,CAAC,gFAAwB;;AAErD;;AAEA;AACA,yBAAsB;;;;;;;;;;;;AC/DT;;AAEb,oBAAoB,mBAAO,CAAC,yEAAiB;;AAE7C;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtHa;;AAEb,iBAAiB,mBAAO,CAAC,uEAAoB;AAC7C,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;ACrBa;;AAEb;AACA;AACA;;;;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,eAAe,mBAAO,CAAC,yEAAqB;AAC5C,yBAAyB,mBAAO,CAAC,iFAAsB;AACvD,sBAAsB,mBAAO,CAAC,2EAAmB;AACjD,kBAAkB,mBAAO,CAAC,mEAAe;AACzC,oBAAoB,mBAAO,CAAC,uEAAiB;AAC7C,gBAAgB,mBAAO,CAAC,2EAAsB;;AAE9C;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;;;;;;;;;;;;AC/Ja;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACrFa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACrDa;;AAEb,oBAAoB,mBAAO,CAAC,mFAA0B;AACtD,kBAAkB,mBAAO,CAAC,+EAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,oBAAoB,mBAAO,CAAC,uEAAiB;AAC7C,eAAe,mBAAO,CAAC,uEAAoB;AAC3C,eAAe,mBAAO,CAAC,+DAAa;AACpC,oBAAoB,mBAAO,CAAC,iFAAyB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;ACtFa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN,2BAA2B;AAC3B,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACnGa;;AAEb,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxBa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,eAAe,mBAAO,CAAC,+DAAa;;AAEpC;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB,WAAW,gBAAgB;AAC3B,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACrBa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;AAC9B,0BAA0B,mBAAO,CAAC,+FAAgC;AAClE,iBAAiB,mBAAO,CAAC,uEAAoB;AAC7C,2BAA2B,mBAAO,CAAC,yEAAgB;AACnD,iBAAiB,mBAAO,CAAC,6EAAuB;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,iEAAiB;AACvC,IAAI;AACJ;AACA,cAAc,mBAAO,CAAC,kEAAkB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,sCAAsC,iBAAiB;AACvD,MAAM;AACN;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,mBAAO,CAAC,gEAAgB;AACtC,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;ACjJa;;AAEb;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;;;;;;;;;;;ACFa;;AAEb;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;ACrEa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C;AAC3C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,gCAAgC,cAAc;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;;;;;;;;;;;;ACZa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACnEa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;ACXA;AACA;;;;;;;;;;;;ACDa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;;AAElB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACpDa;;AAEb;AACA,wBAAwB,KAAK;AAC7B;AACA;;;;;;;;;;;;ACLa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1Ba;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACvEa;;AAEb,cAAc,wFAA8B;AAC5C,iBAAiB,mBAAO,CAAC,uEAAoB;;AAE7C;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACrFa;;AAEb,WAAW,mBAAO,CAAC,gEAAgB;;AAEnC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,4BAA4B;AAC5B,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,GAAG;AACd,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrda;AACb,kBAAkB;AAClB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,oBAAoB,mBAAO,CAAC,qDAAoB;AAChD,cAAc,mBAAO,CAAC,2CAAe;AACrC,cAAc,mBAAO,CAAC,2CAAe;AACrC,cAAc,mBAAO,CAAC,2CAAe;AACrC,eAAe,mBAAO,CAAC,6CAAgB;AACvC,uBAAuB,mBAAO,CAAC,uEAA6B;AAC5D,eAAe,mBAAO,CAAC,+CAAiB;AACxC,2BAA2B,mBAAO,CAAC,uEAA6B;AAChE,oBAAoB,mBAAO,CAAC,mEAA2B;AACvD,oBAAoB,mBAAO,CAAC,qDAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,4CAA4C,0DAA0D;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB;;;;;;;;;;;;ACrJL;AACb,kBAAkB;AAClB,cAAc,GAAG,wBAAwB,GAAG,sBAAsB;AAClE,gBAAgB,mBAAO,CAAC,0CAAW;AACnC,sBAAsB;AACtB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,kDAAkD;AAClD,iCAAiC;AACjC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,2BAA2B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,oDAAoD;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;AC9GD;AACb,kBAAkB;AAClB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe;;;;;;;;;;;;ACjEF;AACb,kBAAkB;AAClB,uBAAuB;AACvB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uBAAuB;;;;;;;;;;;;ACvBV;AACb,kBAAkB;AAClB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB;;;;;;;;;;;;ACjBX;AACb,kBAAkB;AAClB,kBAAkB;AAClB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB;;;;;;;;;;;;ACvBL;AACb,kBAAkB;AAClB,sBAAsB;AACtB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sBAAsB;;;;;;;;;;;;AC/CT;AACb,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,0FAA0F,GAAG,EAAE,KAAK;AACpG;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0BAA0B;;;;;;;;;;;;ACvJb;AACb,kBAAkB;AAClB,yBAAyB;AACzB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yBAAyB;;;;;;;;;;;;AC5CZ;AACb,kBAAkB;AAClB,2BAA2B;AAC3B,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,2BAA2B;;;;;;;;;;;;AC/Cd;AACb,kBAAkB;AAClB,iCAAiC;AACjC,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iCAAiC;;;;;;;;;;;;AC/DpB;AACb,kBAAkB;AAClB,oBAAoB;AACpB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oBAAoB;;;;;;;;;;;;ACvBP;AACb,kBAAkB;AAClB,mCAAmC;AACnC,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mCAAmC;;;;;;;;;;;;AC/BtB;AACb,kBAAkB;AAClB,cAAc,GAAG,eAAe,GAAG,6BAA6B,GAAG,qBAAqB;AACxF,cAAc,mBAAO,CAAC,gDAAO;AAC7B,mBAAmB,mBAAO,CAAC,sDAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc,uBAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;AC3MD;AACb,kBAAkB;AAClB,mBAAmB;AACnB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,cAAc,mBAAO,CAAC,4CAAO;AAC7B,UAAU,mBAAO,CAAC,0BAAI;AACtB,eAAe,mBAAO,CAAC,sCAAU;AACjC,iBAAiB,mBAAO,CAAC,0CAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,iCAAiC;AACrG,uHAAuH;AACvH;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,mBAAmB;;;;;;;;;;;;AClKN;AACb,kBAAkB;AAClB,mBAAmB;AACnB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,eAAe,mBAAO,CAAC,iDAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,qCAAqC;AACrC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mBAAmB;;;;;;;;;;;;AC9EN;AACb,kBAAkB;AAClB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;AC/BD;AACb,kBAAkB;AAClB,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB;;;;;;;;;;;;ACXL;AACb,kBAAkB;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gBAAgB;;;;;;;;;;;;ACnCH;AACb,kBAAkB;AAClB,eAAe;AACf,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe;;;;;;;;;;;;ACpEF;AACb,kBAAkB;AAClB,eAAe,GAAG,kBAAkB,GAAG,kCAAkC,GAAG,iCAAiC,GAAG,8BAA8B,GAAG,iCAAiC,GAAG,oBAAoB,GAAG,kBAAkB;AAC9N;AACA;AACA;AACA,kBAAkB;AAClB,oBAAoB;AACpB,iCAAiC;AACjC,8BAA8B;AAC9B,iCAAiC;AACjC,kCAAkC;AAClC,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe;;;;;;;;;;;;AC3HF;AACb,kBAAkB;AAClB,kBAAkB;AAClB,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB;;;;;;;;;;;;AChEL;AACb,kBAAkB;AAClB,aAAa;AACb,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE,kBAAkB,mBAAO,CAAC,6CAAa;AACvC,gBAAgB,mBAAO,CAAC,yCAAW;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,mCAAmC;AACnC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa;;;;;;;;;;;;ACnGA;AACb,kBAAkB;AAClB,iBAAiB;AACjB,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB;;;;;;;;;;;;ACpEJ;AACb,kBAAkB;AAClB,YAAY;AACZ,cAAc,mBAAO,CAAC,gDAAO;AAC7B,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE,mBAAmB,mBAAO,CAAC,+CAAc;AACzC,iBAAiB,mBAAO,CAAC,2CAAY;AACrC,gBAAgB,mBAAO,CAAC,yCAAW;AACnC,kBAAkB,mBAAO,CAAC,6CAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,mCAAmC;AACnC,0CAA0C;AAC1C,6CAA6C;AAC7C,gDAAgD;AAChD,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,mCAAmC;AACnC,0CAA0C;AAC1C,6CAA6C;AAC7C,gDAAgD;AAChD,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0LAA0L,wEAAwE,mFAAmF;AACrV,wHAAwH,wEAAwE,mFAAmF;AACnR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,YAAY;;;;;;;;;;;;ACraC;AACb,kBAAkB;AAClB,gBAAgB;AAChB,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gBAAgB;;;;;;;;;;;;AChFH;AACb,kBAAkB;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gBAAgB;;;;;;;;;;;;AC/DH;AACb,kBAAkB;AAClB,YAAY;AACZ,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,YAAY;;;;;;;;;;;;ACrEC;AACb,kBAAkB;AAClB,mBAAmB,GAAG,4BAA4B,GAAG,qCAAqC,GAAG,oCAAoC,GAAG,sCAAsC,GAAG,qCAAqC;AAClN,eAAe,mBAAO,CAAC,uCAAU;AACjC;AACA;AACA;AACA,qCAAqC;AACrC,sCAAsC;AACtC,oCAAoC;AACpC,qCAAqC;AACrC,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,mCAAmC;AACnC,+BAA+B;AAC/B,gCAAgC;AAChC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mBAAmB;;;;;;;;;;;;AC9LN;AACb,kBAAkB;AAClB,cAAc,GAAG,yBAAyB,GAAG,uBAAuB,GAAG,8BAA8B,GAAG,yBAAyB,GAAG,yBAAyB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,2BAA2B,GAAG,mCAAmC,GAAG,uBAAuB;AAC7S;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC,2BAA2B;AAC3B,sBAAsB;AACtB,sBAAsB;AACtB,yBAAyB;AACzB,yBAAyB;AACzB,8BAA8B;AAC9B,uBAAuB;AACvB,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;AC1JD;AACb,kBAAkB;AAClB,aAAa,GAAG,oBAAoB,GAAG,0BAA0B,GAAG,0BAA0B;AAC9F,cAAc,mBAAO,CAAC,gDAAO;AAC7B,mBAAmB,mBAAO,CAAC,sDAAqB;AAChD,iBAAiB,mBAAO,CAAC,kDAAmB;AAC5C,aAAa,mBAAO,CAAC,0CAAe;AACpC,aAAa,mBAAO,CAAC,0CAAe;AACpC,oBAAoB,mBAAO,CAAC,iDAAe;AAC3C,eAAe,mBAAO,CAAC,uCAAU;AACjC,eAAe,mBAAO,CAAC,uCAAU;AACjC,oBAAoB,mBAAO,CAAC,iDAAe;AAC3C,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE,eAAe,mBAAO,CAAC,uCAAU;AACjC,wBAAwB,mBAAO,CAAC,yDAAmB;AACnD,eAAe,mBAAO,CAAC,uCAAU;AACjC,kBAAkB,mBAAO,CAAC,oDAAoB;AAC9C;AACA;AACA;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uEAAuE,iCAAiC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,oCAAoC;AACpC,0CAA0C;AAC1C;AACA;AACA,+DAA+D,yBAAyB;AACxF;AACA;AACA;AACA;AACA;AACA,oEAAoE,8BAA8B;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uEAAuE,iCAAiC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,+DAA+D,yBAAyB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,uEAAuE,iCAAiC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C;AAC1C,oCAAoC;AACpC,0CAA0C;AAC1C;AACA;AACA,+DAA+D,yBAAyB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C;AAC1C,oCAAoC;AACpC;AACA;AACA,uEAAuE,iCAAiC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C;AAC1C,oCAAoC;AACpC,oCAAoC;AACpC,0CAA0C;AAC1C;AACA;AACA,+DAA+D,yBAAyB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C,oCAAoC;AACpC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mEAAmE,iCAAiC;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C;AAC1C,gCAAgC;AAChC,mCAAmC;AACnC,gEAAgE,8BAA8B;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,oCAAoC;AACpC,0CAA0C;AAC1C,gCAAgC;AAChC,mCAAmC;AACnC;AACA;AACA;AACA,gEAAgE,8BAA8B;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C,gCAAgC;AAChC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA,2DAA2D,yBAAyB,iFAAiF,6BAA6B;AAClM;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa;;;;;;;;;;;;AChwCA;AACb,kBAAkB;AAClB,aAAa,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,4BAA4B;AAC/F;AACA;AACA;AACA,4BAA4B;AAC5B,sBAAsB;AACtB,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa;;;;;;;;;;;;ACxEA;AACb,kBAAkB;AAClB,uBAAuB,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,gBAAgB;AAClG,sBAAsB,mBAAO,CAAC,qDAAiB;AAC/C;AACA;AACA;AACA,gBAAgB;AAChB,WAAW;AACX,WAAW;AACX,WAAW;AACX,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uBAAuB;;;;;;;;;;;;ACnGV;AACb,kBAAkB;AAClB,qBAAqB,GAAG,sBAAsB,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,aAAa,GAAG,uBAAuB,GAAG,4BAA4B,GAAG,sBAAsB,GAAG,oBAAoB;AACvf,aAAa,mBAAO,CAAC,0CAAe;AACpC,eAAe,mBAAO,CAAC,uCAAU;AACjC;AACA;AACA;AACA,oBAAoB;AACpB,sBAAsB;AACtB,4BAA4B;AAC5B,uBAAuB;AACvB,aAAa;AACb,oBAAoB;AACpB,iBAAiB;AACjB,mBAAmB;AACnB,qBAAqB;AACrB,qBAAqB;AACrB,oBAAoB;AACpB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB,sBAAsB;AACtB,sBAAsB;AACtB,sBAAsB;AACtB,sBAAsB;AACtB,uBAAuB;AACvB,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,iCAAiC;AACjC,kCAAkC;AAClC,mCAAmC;AACnC,iCAAiC;AACjC,iCAAiC;AACjC,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qBAAqB;;;;;;;;;;;;ACjPR;AACb,kBAAkB;AAClB,cAAc,GAAG,+BAA+B,GAAG,+BAA+B,GAAG,yBAAyB,GAAG,wBAAwB,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,0BAA0B,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,2BAA2B,GAAG,wBAAwB,GAAG,wBAAwB,GAAG,wBAAwB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,2BAA2B,GAAG,6BAA6B,GAAG,6BAA6B,GAAG,0BAA0B,GAAG,2BAA2B,GAAG,0BAA0B;AACvnB,UAAU,mBAAO,CAAC,0BAAI;AACtB,eAAe,mBAAO,CAAC,uCAAU;AACjC;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,0BAA0B;AAC1B,6BAA6B;AAC7B,6BAA6B;AAC7B,2BAA2B;AAC3B,mBAAmB;AACnB,oBAAoB;AACpB,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,2BAA2B;AAC3B,qBAAqB;AACrB;AACA;AACA,sBAAsB;AACtB;AACA;AACA,0BAA0B;AAC1B,sBAAsB;AACtB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;ACpUD;AACb,kBAAkB;AAClB,sBAAsB;AACtB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,wBAAwB,mBAAO,CAAC,gEAA0B;AAC1D,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE,0BAA0B,mBAAO,CAAC,oEAA4B;AAC9D,4BAA4B,mBAAO,CAAC,wEAA8B;AAClE,kCAAkC,mBAAO,CAAC,oFAAoC;AAC9E,qBAAqB,mBAAO,CAAC,0DAAuB;AACpD,iBAAiB,mBAAO,CAAC,gDAAkB;AAC3C,cAAc,mBAAO,CAAC,4CAAgB;AACtC,aAAa,mBAAO,CAAC,0CAAe;AACpC,iBAAiB,mBAAO,CAAC,kDAAmB;AAC5C,eAAe,mBAAO,CAAC,gDAAkB;AACzC,mBAAmB,mBAAO,CAAC,oDAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2JAA2J;AAC3J;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8JAA8J;AAC9J;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,YAAY;AAC3B,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mKAAmK;AACnK;AACA;AACA;AACA,iCAAiC;AACjC;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uKAAuK;AACvK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2KAA2K;AAC3K;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4JAA4J;AAC5J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+JAA+J,IAAI;AACnK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uKAAuK,IAAI;AAC3K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6JAA6J,IAAI;AACjK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iIAAiI,IAAI;AACrI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,gBAAgB;AAC9E;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2KAA2K;AAC3K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,iCAAiC;AACjC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,WAAW;AAC1B,eAAe,QAAQ;AACvB,eAAe,YAAY;AAC3B,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA,+BAA+B;AAC/B,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sBAAsB;;;;;;;;;;;;AC/kBT;AACb,kBAAkB;AAClB,kBAAkB;AAClB,cAAc,mBAAO,CAAC,gDAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB;;;;;;;;;;;;AC3HL;AACb,kBAAkB;AAClB,eAAe;AACf,iBAAiB,mBAAO,CAAC,kDAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe;;;;;;;;;;;;ACvIF;AACb,kBAAkB;AAClB,cAAc;AACd,aAAa,mBAAO,CAAC,0CAAe;AACpC,2BAA2B,mBAAO,CAAC,gEAAsB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,4CAA4C;AAC/F;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,kDAAkD;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;AChTD;AACb,kBAAkB;AAClB,yBAAyB;AACzB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,eAAe,mBAAO,CAAC,8CAAiB;AACxC,gBAAgB,mBAAO,CAAC,0CAAW;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yBAAyB;;;;;;;;;;;;ACzPZ;AACb,kBAAkB;AAClB,0BAA0B;AAC1B,0BAA0B,mBAAO,CAAC,8DAAqB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0BAA0B;;;;;;;;;;;;ACzGb;AACb,kBAAkB;;;;;;;;;;;;ACDL;AACb,kBAAkB;AAClB,mBAAmB;AACnB,aAAa,mBAAO,CAAC,0CAAe;AACpC,iBAAiB,mBAAO,CAAC,kDAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mBAAmB;;;;;;;;;;;;ACzIN;AACb,kBAAkB;;;;;;;;;;;;ACDL;AACb,kBAAkB;AAClB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,kBAAkB,mBAAO,CAAC,uCAAa;AACvC,kBAAkB;AAClB,qBAAqB,mBAAO,CAAC,+CAAiB;AAC9C,qBAAqB,mBAAO,CAAC,iDAAkB;AAC/C,qBAAqB,mBAAO,CAAC,+DAAyB;AACtD,qBAAqB,mBAAO,CAAC,iEAA0B;AACvD,qBAAqB,mBAAO,CAAC,qDAAoB;AACjD,qBAAqB,mBAAO,CAAC,6DAAwB;AACrD,qBAAqB,mBAAO,CAAC,qEAA4B;AACzD,qBAAqB,mBAAO,CAAC,mEAA2B;AACxD,qBAAqB,mBAAO,CAAC,uEAA6B;AAC1D,qBAAqB,mBAAO,CAAC,mFAAmC;AAChE,qBAAqB,mBAAO,CAAC,uFAAqC;AAClE,qBAAqB,mBAAO,CAAC,uDAAqB;AAClD,qBAAqB,mBAAO,CAAC,qDAAoB;AACjD,qBAAqB,mBAAO,CAAC,2CAAe;AAC5C,qBAAqB,mBAAO,CAAC,mDAAmB;AAChD,qBAAqB,mBAAO,CAAC,+CAAiB;AAC9C,qBAAqB,mBAAO,CAAC,qDAAoB;AACjD,qBAAqB,mBAAO,CAAC,+CAAiB;AAC9C,qBAAqB,mBAAO,CAAC,qDAAoB;AACjD,qBAAqB,mBAAO,CAAC,yCAAc;AAC3C,qBAAqB,mBAAO,CAAC,iDAAkB;AAC/C,qBAAqB,mBAAO,CAAC,iDAAkB;AAC/C,qBAAqB,mBAAO,CAAC,yCAAc;AAC3C,qBAAqB,mBAAO,CAAC,uDAAqB;AAClD,qBAAqB,mBAAO,CAAC,6CAAgB;AAC7C,qBAAqB,mBAAO,CAAC,2CAAe;AAC5C,qBAAqB,mBAAO,CAAC,2CAAe;AAC5C,qBAAqB,mBAAO,CAAC,+DAAyB;AACtD,qBAAqB,mBAAO,CAAC,2DAAuB;AACpD,qBAAqB,mBAAO,CAAC,6CAAgB;AAC7C,qBAAqB,mBAAO,CAAC,uEAA6B;AAC1D,qBAAqB,mBAAO,CAAC,+DAAyB;AACtD,qBAAqB,mBAAO,CAAC,qEAA4B;AACzD,qBAAqB,mBAAO,CAAC,uEAA6B;AAC1D,qBAAqB,mBAAO,CAAC,iDAAkB;AAC/C,qBAAqB,mBAAO,CAAC,+CAAiB;AAC9C,qBAAqB,mBAAO,CAAC,2EAA+B;AAC5D,qBAAqB,mBAAO,CAAC,mEAA2B;AACxD,qBAAqB,mBAAO,CAAC,6EAAgC;;;;;;;;;;;;AC3ChD;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;;AAGA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,IAAI;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,WAAW;AACX;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB,sCAAsC,kBAAkB;AACnF,0BAA0B;AAC1B;AACA;AACA;AACO;AACP;AACA,oBAAoB;AACpB;AACA;AACA;AACO;AACP;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,6DAA6D,cAAc;AAC3E;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACO;AACP,oCAAoC;AACpC;AACA;AACO;AACP;AACA;AACA;AACO;AACP,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACO;AACP,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACO;AACP,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACO;AACP,kDAAkD,QAAQ;AAC1D,yCAAyC,QAAQ;AACjD,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA,iBAAiB,uFAAuF,cAAc;AACtH,uBAAuB,gCAAgC,qCAAqC,2CAA2C;AACvI,4BAA4B,MAAM,iBAAiB,YAAY;AAC/D,uBAAuB;AACvB,8BAA8B;AAC9B,6BAA6B;AAC7B,4BAA4B;AAC5B;AACA;AACO;AACP;AACA,iBAAiB,6CAA6C,UAAU,sDAAsD,cAAc;AAC5I,0BAA0B,6BAA6B,oBAAoB,gDAAgD,kBAAkB;AAC7I;AACA;AACO;AACP;AACA;AACA,2GAA2G,uFAAuF,cAAc;AAChN,uBAAuB,8BAA8B,gDAAgD,wDAAwD;AAC7J,6CAA6C,sCAAsC,UAAU,mBAAmB,IAAI;AACpH;AACA;AACO;AACP,iCAAiC,uCAAuC,YAAY,KAAK,OAAO;AAChG;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6CAA6C;AAC7C;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;UCzNA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;UENA;UACA;UACA;UACA","sources":["webpack://apisearch/webpack/universalModuleDefinition","webpack://apisearch/./node_modules/axios/index.js","webpack://apisearch/./node_modules/axios/lib/adapters/xhr.js","webpack://apisearch/./node_modules/axios/lib/axios.js","webpack://apisearch/./node_modules/axios/lib/cancel/CancelToken.js","webpack://apisearch/./node_modules/axios/lib/cancel/CanceledError.js","webpack://apisearch/./node_modules/axios/lib/cancel/isCancel.js","webpack://apisearch/./node_modules/axios/lib/core/Axios.js","webpack://apisearch/./node_modules/axios/lib/core/AxiosError.js","webpack://apisearch/./node_modules/axios/lib/core/InterceptorManager.js","webpack://apisearch/./node_modules/axios/lib/core/buildFullPath.js","webpack://apisearch/./node_modules/axios/lib/core/dispatchRequest.js","webpack://apisearch/./node_modules/axios/lib/core/mergeConfig.js","webpack://apisearch/./node_modules/axios/lib/core/settle.js","webpack://apisearch/./node_modules/axios/lib/core/transformData.js","webpack://apisearch/./node_modules/axios/lib/defaults/index.js","webpack://apisearch/./node_modules/axios/lib/defaults/transitional.js","webpack://apisearch/./node_modules/axios/lib/env/data.js","webpack://apisearch/./node_modules/axios/lib/helpers/bind.js","webpack://apisearch/./node_modules/axios/lib/helpers/buildURL.js","webpack://apisearch/./node_modules/axios/lib/helpers/combineURLs.js","webpack://apisearch/./node_modules/axios/lib/helpers/cookies.js","webpack://apisearch/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://apisearch/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://apisearch/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://apisearch/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://apisearch/./node_modules/axios/lib/helpers/null.js","webpack://apisearch/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://apisearch/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://apisearch/./node_modules/axios/lib/helpers/spread.js","webpack://apisearch/./node_modules/axios/lib/helpers/toFormData.js","webpack://apisearch/./node_modules/axios/lib/helpers/validator.js","webpack://apisearch/./node_modules/axios/lib/utils.js","webpack://apisearch/./src/Apisearch.ts","webpack://apisearch/./src/Config/Config.ts","webpack://apisearch/./src/Config/Synonym.ts","webpack://apisearch/./src/Error/ConnectionError.ts","webpack://apisearch/./src/Error/ErrorWithMessage.ts","webpack://apisearch/./src/Error/EventError.ts","webpack://apisearch/./src/Error/ForbiddenError.ts","webpack://apisearch/./src/Error/InvalidFormatError.ts","webpack://apisearch/./src/Error/InvalidTokenError.ts","webpack://apisearch/./src/Error/ResourceExistsError.ts","webpack://apisearch/./src/Error/ResourceNotAvailableError.ts","webpack://apisearch/./src/Error/UnknownError.ts","webpack://apisearch/./src/Error/UnsupportedContentTypeError.ts","webpack://apisearch/./src/Geo/LocationRange.ts","webpack://apisearch/./src/Http/AxiosClient.ts","webpack://apisearch/./src/Http/CacheClient.ts","webpack://apisearch/./src/Http/Client.ts","webpack://apisearch/./src/Http/HttpClient.ts","webpack://apisearch/./src/Http/Response.ts","webpack://apisearch/./src/Model/AppUUID.ts","webpack://apisearch/./src/Model/Changes.ts","webpack://apisearch/./src/Model/Coordinate.ts","webpack://apisearch/./src/Model/Index.ts","webpack://apisearch/./src/Model/IndexUUID.ts","webpack://apisearch/./src/Model/Item.ts","webpack://apisearch/./src/Model/ItemUUID.ts","webpack://apisearch/./src/Model/Metadata.ts","webpack://apisearch/./src/Model/User.ts","webpack://apisearch/./src/Query/Aggregation.ts","webpack://apisearch/./src/Query/Filter.ts","webpack://apisearch/./src/Query/Query.ts","webpack://apisearch/./src/Query/Range.ts","webpack://apisearch/./src/Query/ScoreStrategies.ts","webpack://apisearch/./src/Query/ScoreStrategy.ts","webpack://apisearch/./src/Query/SortBy.ts","webpack://apisearch/./src/Repository/HttpRepository.ts","webpack://apisearch/./src/Repository/Repository.ts","webpack://apisearch/./src/Result/Counter.ts","webpack://apisearch/./src/Result/Result.ts","webpack://apisearch/./src/Result/ResultAggregation.ts","webpack://apisearch/./src/Result/ResultAggregations.ts","webpack://apisearch/./src/Transformer/ReadTransformer.ts","webpack://apisearch/./src/Transformer/Transformer.ts","webpack://apisearch/./src/Transformer/WriteTransformer.ts","webpack://apisearch/./src/index.ts","webpack://apisearch/./node_modules/ts-md5/dist/md5.js","webpack://apisearch/./node_modules/tslib/tslib.es6.js","webpack://apisearch/webpack/bootstrap","webpack://apisearch/webpack/runtime/define property getters","webpack://apisearch/webpack/runtime/hasOwnProperty shorthand","webpack://apisearch/webpack/runtime/make namespace object","webpack://apisearch/webpack/before-startup","webpack://apisearch/webpack/startup","webpack://apisearch/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"apisearch\"] = factory();\n\telse\n\t\troot[\"apisearch\"] = factory();\n})(self, () => {\nreturn ","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","\"use strict\";\nexports.__esModule = true;\nvar tslib_1 = require(\"tslib\");\nvar AxiosClient_1 = require(\"./Http/AxiosClient\");\nvar Query_1 = require(\"./Query/Query\");\nvar Query_2 = require(\"./Query/Query\");\nvar Query_3 = require(\"./Query/Query\");\nvar SortBy_1 = require(\"./Query/SortBy\");\nvar HttpRepository_1 = require(\"./Repository/HttpRepository\");\nvar Result_1 = require(\"./Result/Result\");\nvar ResultAggregations_1 = require(\"./Result/ResultAggregations\");\nvar Transformer_1 = require(\"./Transformer/Transformer\");\nvar CacheClient_1 = require(\"./Http/CacheClient\");\n/**\n * Apisearch class\n */\nvar Apisearch = /** @class */ (function () {\n function Apisearch() {\n }\n /**\n * Constructor\n *\n * @param config\n *\n * @return {HttpRepository}\n */\n Apisearch.createRepository = function (config) {\n Apisearch.ensureRepositoryConfigIsValid(config);\n config.options = tslib_1.__assign({ api_version: \"v1\", override_queries: true, timeout: 3000 }, config.options);\n /**\n * Client\n */\n var httpClient = typeof config.options.http_client !== \"undefined\"\n ? config.options.http_client\n : new AxiosClient_1.AxiosClient(config.options.endpoint, config.options.api_version, config.options.timeout, config.options.override_queries);\n if (config.options.use_cache) {\n httpClient = new CacheClient_1.CacheClient(httpClient);\n }\n return new HttpRepository_1.HttpRepository(httpClient, config.app_id, config.index_id, config.token, new Transformer_1.Transformer());\n };\n /**\n * Ensure the Repository configuration is valid\n *\n * @param config\n */\n Apisearch.ensureRepositoryConfigIsValid = function (config) {\n Apisearch.ensureIsDefined(config.app_id, \"app_id\");\n Apisearch.ensureIsDefined(config.index_id, \"index_id\");\n Apisearch.ensureIsDefined(config.token, \"token\");\n Apisearch.ensureIsDefined(config.options.endpoint, \"options.endpoint\");\n };\n /**\n * Ensure the value is not undefined\n *\n * @param param\n * @param name\n */\n Apisearch.ensureIsDefined = function (param, name) {\n if (typeof param === \"undefined\") {\n throw new TypeError(name + \" parameter must be defined.\");\n }\n };\n /**\n * Created located\n *\n * @param coordinate\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Apisearch.createQueryLocated = function (coordinate, queryText, page, size) {\n if (page === void 0) { page = Query_1.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = Query_2.QUERY_DEFAULT_SIZE; }\n return Query_3.Query.createLocated(coordinate, queryText, page, size);\n };\n /**\n * Create\n *\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Apisearch.createQuery = function (queryText, page, size) {\n if (page === void 0) { page = Query_1.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = Query_2.QUERY_DEFAULT_SIZE; }\n return Query_3.Query.create(queryText, page, size);\n };\n /**\n * Create match all\n *\n * @return {Query}\n */\n Apisearch.createQueryMatchAll = function () {\n return Query_3.Query.createMatchAll();\n };\n /**\n * Create by UUID\n *\n * @param uuid\n *\n * @return {Query}\n */\n Apisearch.createQueryByUUID = function (uuid) {\n return Query_3.Query.createByUUID(uuid);\n };\n /**\n * Create by UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Apisearch.createQueryByUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n return Query_3.Query.createByUUIDs.apply(Query_3.Query, uuids);\n };\n /**\n * Create empty result\n *\n * @return {Result}\n */\n Apisearch.createEmptyResult = function () {\n return Result_1.Result.create(\"\", 0, 0, new ResultAggregations_1.ResultAggregations(0), [], []);\n };\n /**\n * Create empty sortby\n *\n * @return {SortBy}\n */\n Apisearch.createEmptySortBy = function () {\n return SortBy_1.SortBy.create();\n };\n /**\n * Create empty sortby\n *\n * @return {SortBy}\n */\n Apisearch.createEmptyScoreStrategy = function () {\n return SortBy_1.SortBy.create();\n };\n return Apisearch;\n}());\nexports[\"default\"] = Apisearch;\n","\"use strict\";\nexports.__esModule = true;\nexports.Config = exports.DEFAULT_REPLICAS = exports.DEFAULT_SHARDS = void 0;\nvar Synonym_1 = require(\"./Synonym\");\nexports.DEFAULT_SHARDS = 1;\nexports.DEFAULT_REPLICAS = 0;\n/**\n * Result class\n */\nvar Config = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param language\n * @param storeSearchableMetadata\n * @param shards\n * @param replicas\n */\n function Config(language, storeSearchableMetadata, shards, replicas) {\n if (language === void 0) { language = null; }\n if (storeSearchableMetadata === void 0) { storeSearchableMetadata = true; }\n if (shards === void 0) { shards = exports.DEFAULT_SHARDS; }\n if (replicas === void 0) { replicas = exports.DEFAULT_REPLICAS; }\n this.synonyms = [];\n this.language = language;\n this.storeSearchableMetadata = storeSearchableMetadata;\n this.shards = shards;\n this.replicas = replicas;\n }\n /**\n * Get language\n *\n * @return {string}\n */\n Config.prototype.getLanguage = function () {\n return this.language;\n };\n /**\n * Should searchable metadata be stored\n *\n * @return {boolean}\n */\n Config.prototype.shouldSearchableMetadataBeStored = function () {\n return this.storeSearchableMetadata;\n };\n /**\n * Add synonym\n *\n * @param synonym\n */\n Config.prototype.addSynonym = function (synonym) {\n this.synonyms.push(synonym);\n };\n /**\n * Get synonyms\n *\n * @return {Synonym[]}\n */\n Config.prototype.getSynonyms = function () {\n return this.synonyms;\n };\n /**\n * Get shards\n *\n * @return {number}\n */\n Config.prototype.getShards = function () {\n return this.shards;\n };\n /**\n * Get replicas\n *\n * @return {number}\n */\n Config.prototype.getReplicas = function () {\n return this.replicas;\n };\n /**\n * to array\n */\n Config.prototype.toArray = function () {\n return {\n language: this.language,\n store_searchable_metadata: this.storeSearchableMetadata,\n synonyms: this.synonyms.map(function (synonym) { return synonym.toArray(); }),\n shards: this.shards,\n replicas: this.replicas\n };\n };\n /**\n * Create from array\n */\n Config.createFromArray = function (array) {\n var config = new Config(array.language ? array.language : null, typeof array.store_searchable_metadata == \"boolean\"\n ? array.store_searchable_metadata\n : true);\n if (array.synonyms instanceof Array &&\n array.synonyms.length > 0) {\n config.synonyms = array.synonyms.map(function (synonym) { return Synonym_1.Synonym.createFromArray(synonym); });\n }\n config.shards = typeof array.shards == \"number\"\n ? array.shards\n : exports.DEFAULT_SHARDS;\n config.replicas = typeof array.replicas == \"number\"\n ? array.replicas\n : exports.DEFAULT_REPLICAS;\n return config;\n };\n return Config;\n}());\nexports.Config = Config;\n","\"use strict\";\nexports.__esModule = true;\nexports.Synonym = void 0;\n/**\n * Result class\n */\nvar Synonym = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param words\n */\n function Synonym(words) {\n this.words = words;\n }\n /**\n * get words\n *\n * @return {string[]}\n */\n Synonym.prototype.getWords = function () {\n return this.words;\n };\n /**\n * Create by words\n *\n * @param words\n *\n * @return {Synonym}\n */\n Synonym.createbyWords = function (words) {\n return new Synonym(words);\n };\n /**\n * To array\n *\n * @return {{words: string[]}}\n */\n Synonym.prototype.toArray = function () {\n return {\n words: this.words,\n };\n };\n /**\n * create from array\n *\n * @param array\n *\n * @returns {Synonym}\n */\n Synonym.createFromArray = function (array) {\n return new Synonym(array.words instanceof Object\n ? array.words\n : []);\n };\n /**\n * Expand\n *\n * @returns {string}\n */\n Synonym.prototype.expand = function () {\n return this.words.join(\",\");\n };\n return Synonym;\n}());\nexports.Synonym = Synonym;\n","\"use strict\";\nexports.__esModule = true;\nexports.ConnectionError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Connection error\n */\nvar ConnectionError = /** @class */ (function (_super) {\n tslib_1.__extends(ConnectionError, _super);\n function ConnectionError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ConnectionError.getTransportableHTTPError = function () {\n return 500;\n };\n return ConnectionError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ConnectionError = ConnectionError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ErrorWithMessage = void 0;\n/**\n * ConnectError\n */\nvar ErrorWithMessage = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param message\n */\n function ErrorWithMessage(message) {\n this.message = message;\n }\n return ErrorWithMessage;\n}());\nexports.ErrorWithMessage = ErrorWithMessage;\n","\"use strict\";\nexports.__esModule = true;\nexports.EventError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * EventError\n */\nvar EventError = /** @class */ (function (_super) {\n tslib_1.__extends(EventError, _super);\n function EventError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n EventError.throwEndpointNotAvailable = function () {\n return new EventError(\"Endpoint not available\");\n };\n return EventError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.EventError = EventError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ForbiddenError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Forbidden Error\n */\nvar ForbiddenError = /** @class */ (function (_super) {\n tslib_1.__extends(ForbiddenError, _super);\n function ForbiddenError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ForbiddenError.getTransportableHTTPError = function () {\n return 403;\n };\n /**\n * App id is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createAppIdIsRequiredException = function () {\n return new ForbiddenError(\"AppId query parameter MUST be defined with a valid value\");\n };\n /**\n * Index id is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createIndexIsRequiredException = function () {\n return new ForbiddenError(\"Index query parameter MUST be defined with a valid value\");\n };\n /**\n * Token is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createTokenIsRequiredException = function () {\n return new ForbiddenError(\"Token query parameter MUST be defined with a valid value\");\n };\n return ForbiddenError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ForbiddenError = ForbiddenError;\n","\"use strict\";\nexports.__esModule = true;\nexports.InvalidFormatError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Class InvalidFormatError\n */\nvar InvalidFormatError = /** @class */ (function (_super) {\n tslib_1.__extends(InvalidFormatError, _super);\n function InvalidFormatError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n InvalidFormatError.getTransportableHTTPError = function () {\n return 400;\n };\n /**\n * Item representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.itemRepresentationNotValid = function () {\n return new InvalidFormatError(\"Item representation not valid. Expecting Item array serialized but found malformed data\");\n };\n /**\n * Item UUID representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.itemUUIDRepresentationNotValid = function () {\n return new InvalidFormatError(\"Item UUID representation not valid. Expecting UUID array serialized but found malformed data\");\n };\n /**\n * Create Composed UUID bad format.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.composedItemUUIDNotValid = function () {\n return new InvalidFormatError(\"A composed UUID should always follow this format: {id}~{type}.\");\n };\n /**\n * Create Query sorted by distance without coordinate.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.querySortedByDistanceWithoutCoordinate = function () {\n return new InvalidFormatError(\"In order to be able to sort by coordinates, you need to create a Query by using Query::createLocated() instead of Query::create()\");\n };\n /**\n * Query representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.queryFormatNotValid = function () {\n return new InvalidFormatError(\"Query Format not valid. Expecting a Query serialized but found malformed data\");\n };\n /**\n * Coordinate representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.coordinateFormatNotValid = function () {\n return new InvalidFormatError(\"A Coordinate should always contain a lat (Latitude) and a lon (Longitude)\");\n };\n /**\n * Config representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.configFormatNotValid = function () {\n return new InvalidFormatError(\"Config Format not valid. Expecting a Config serialized but found malformed data\");\n };\n /**\n * Token representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.tokenFormatNotValid = function () {\n return new InvalidFormatError(\"Token Format not valid. Expecting a Token serialized but found malformed data\");\n };\n /**\n * Index format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.indexFormatNotValid = function () {\n return new InvalidFormatError('Index Format not valid. Expecting an Index serialized but found malformed data');\n };\n /**\n * IndexUUI format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.indexUUIDFormatNotValid = function () {\n return new InvalidFormatError('IndexUUID Format not valid. Expecting an IndexUUID serialized but found malformed data');\n };\n /**\n * App format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.appUUIDFormatNotValid = function () {\n return new InvalidFormatError('AppUUID Format not valid. Expecting an AppUUID serialized but found malformed data');\n };\n /**\n * Campaign representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.campaignFormatNotValid = function () {\n return new InvalidFormatError(\"Campaign Format not valid. Expecting a Campaign serialized but found malformed data\");\n };\n /**\n * Changes representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.changesFormatNotValid = function () {\n return new InvalidFormatError(\"Changes Format not valid. Expecting a Changes serialized but found malformed data\");\n };\n /**\n * Boost clause representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.boostClauseFormatNotValid = function () {\n return new InvalidFormatError(\"Boost clause Format not valid. Expecting a Boost clause serialized but found malformed data\");\n };\n /**\n * token uuid representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.tokenUUIDFormatNotValid = function () {\n return new InvalidFormatError(\"Token UUID Format not valid. Expecting a TokenUUID serialized but found malformed data\");\n };\n /**\n * User representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.userFormatNotValid = function () {\n return new InvalidFormatError(\"User Format not valid. Expecting a User serialized but found malformed data\");\n };\n return InvalidFormatError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.InvalidFormatError = InvalidFormatError;\n","\"use strict\";\nexports.__esModule = true;\nexports.InvalidTokenError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Invalid token error\n */\nvar InvalidTokenError = /** @class */ (function (_super) {\n tslib_1.__extends(InvalidTokenError, _super);\n function InvalidTokenError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n InvalidTokenError.getTransportableHTTPError = function () {\n return 401;\n };\n /**\n * Invalid token permissions\n *\n * @param tokenReference\n *\n * @return {InvalidTokenError}\n */\n InvalidTokenError.createInvalidTokenPermissions = function (tokenReference) {\n return new InvalidTokenError(\"Token \" + tokenReference + \"not valid\");\n };\n /**\n * Invalid token permissions\n *\n * @param tokenReference\n * @param maxHitsPerQuery\n *\n * @return {InvalidTokenError}\n */\n InvalidTokenError.createInvalidTokenMaxHitsPerQuery = function (tokenReference, maxHitsPerQuery) {\n return new InvalidTokenError(\"Token \" + tokenReference + \"not valid. Max \" + maxHitsPerQuery + \" hits allowed\");\n };\n return InvalidTokenError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.InvalidTokenError = InvalidTokenError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResourceExistsError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Resource exists error\n */\nvar ResourceExistsError = /** @class */ (function (_super) {\n tslib_1.__extends(ResourceExistsError, _super);\n function ResourceExistsError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ResourceExistsError.getTransportableHTTPError = function () {\n return 409;\n };\n /**\n * Index not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.indexAvailable = function () {\n return new ResourceExistsError(\"Index exists and cannot be created again\");\n };\n /**\n * Events not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.eventsIndexAvailable = function () {\n return new ResourceExistsError(\"Events index exists and cannot be created again\");\n };\n /**\n * Logs not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.logsIndexAvailable = function () {\n return new ResourceExistsError(\"Logs index exists and cannot be created again\");\n };\n return ResourceExistsError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ResourceExistsError = ResourceExistsError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResourceNotAvailableError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Resource not available error\n */\nvar ResourceNotAvailableError = /** @class */ (function (_super) {\n tslib_1.__extends(ResourceNotAvailableError, _super);\n function ResourceNotAvailableError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ResourceNotAvailableError.getTransportableHTTPError = function () {\n return 404;\n };\n /**\n * Index not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.indexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Index not available - \" + resourceId);\n };\n /**\n * Events not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.eventsIndexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Events not available - \" + resourceId);\n };\n /**\n * Logs not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.logsIndexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Logs not available - \" + resourceId);\n };\n /**\n * Engine not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.engineNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Engine not available - \" + resourceId);\n };\n return ResourceNotAvailableError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ResourceNotAvailableError = ResourceNotAvailableError;\n","\"use strict\";\nexports.__esModule = true;\nexports.UnknownError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Connection error\n */\nvar UnknownError = /** @class */ (function (_super) {\n tslib_1.__extends(UnknownError, _super);\n function UnknownError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Unknown error\n *\n * @return this\n */\n UnknownError.createUnknownError = function () {\n return new this(\"Unknown error.\");\n };\n return UnknownError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.UnknownError = UnknownError;\n","\"use strict\";\nexports.__esModule = true;\nexports.UnsupportedContentTypeError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Unsupported content type error\n */\nvar UnsupportedContentTypeError = /** @class */ (function (_super) {\n tslib_1.__extends(UnsupportedContentTypeError, _super);\n function UnsupportedContentTypeError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n UnsupportedContentTypeError.getTransportableHTTPError = function () {\n return 415;\n };\n /**\n * Unsupported content type\n *\n * @return {InvalidFormatError}\n */\n UnsupportedContentTypeError.createUnsupportedContentTypeException = function () {\n return new UnsupportedContentTypeError(\"This content type is not accepted. Please use application/json\");\n };\n return UnsupportedContentTypeError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.UnsupportedContentTypeError = UnsupportedContentTypeError;\n","\"use strict\";\nexports.__esModule = true;\nexports.Square = exports.Polygon = exports.CoordinateAndDistance = exports.LocationRange = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Coordinate_1 = require(\"../Model/Coordinate\");\n/**\n * Abstract Location Range class\n */\nvar LocationRange = /** @class */ (function () {\n function LocationRange() {\n }\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n LocationRange.fromFilterObject = function (object) {\n throw TypeError(\"Method not valid\");\n };\n /**\n * to array\n */\n LocationRange.prototype.toArray = function () {\n return {\n type: this.getName(),\n data: this.toFilterObject(),\n };\n };\n /**\n * Create from array\n *\n * @param array\n */\n LocationRange.createFromArray = function (array) {\n if (array.type == \"CoordinateAndDistance\") {\n return CoordinateAndDistance.fromFilterObject(array.data);\n }\n if (array.type == \"Polygon\") {\n return Polygon.fromFilterObject(array.data);\n }\n if (array.type == \"Square\") {\n return Square.fromFilterObject(array.data);\n }\n };\n return LocationRange;\n}());\nexports.LocationRange = LocationRange;\n/**\n * CoordinateAndDistance\n */\nvar CoordinateAndDistance = /** @class */ (function (_super) {\n tslib_1.__extends(CoordinateAndDistance, _super);\n /**\n * Constructor\n *\n * @param coordinate\n * @param distance\n */\n function CoordinateAndDistance(coordinate, distance) {\n var _this = _super.call(this) || this;\n _this.coordinate = coordinate;\n _this.distance = distance;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{}}}\n */\n CoordinateAndDistance.prototype.toFilterObject = function () {\n return {\n coordinate: this.coordinate.toArray(),\n distance: this.distance,\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n CoordinateAndDistance.prototype.getName = function () {\n return \"CoordinateAndDistance\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n CoordinateAndDistance.fromFilterObject = function (object) {\n return new CoordinateAndDistance(Coordinate_1.Coordinate.createFromArray(object.coordinate), object.distance);\n };\n return CoordinateAndDistance;\n}(LocationRange));\nexports.CoordinateAndDistance = CoordinateAndDistance;\n/**\n * Polygon\n */\nvar Polygon = /** @class */ (function (_super) {\n tslib_1.__extends(Polygon, _super);\n /**\n * Constructor\n *\n * @param coordinates\n */\n function Polygon(coordinates) {\n var _this = _super.call(this) || this;\n if (coordinates.length < 3) {\n throw new Error(\"A polygon needs more than two coordinates.\");\n }\n _this.coordinates = coordinates;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{coordinates: {lat:number, lon:number}[]}}\n */\n Polygon.prototype.toFilterObject = function () {\n var coordinates = [];\n for (var i in this.coordinates) {\n coordinates.push(this.coordinates[i].toArray());\n }\n return {\n coordinates: coordinates,\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n Polygon.prototype.getName = function () {\n return \"Polygon\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {Polygon}\n */\n Polygon.fromFilterObject = function (object) {\n var coordinates = [];\n for (var i in object.coordinates) {\n coordinates.push(Coordinate_1.Coordinate.createFromArray(object.coordinates[i]));\n }\n return new Polygon(coordinates);\n };\n return Polygon;\n}(LocationRange));\nexports.Polygon = Polygon;\n/**\n * Square\n */\nvar Square = /** @class */ (function (_super) {\n tslib_1.__extends(Square, _super);\n /**\n * Constructor\n *\n * @param topLeftCoordinate\n * @param bottomRightCoordinate\n */\n function Square(topLeftCoordinate, bottomRightCoordinate) {\n var _this = _super.call(this) || this;\n _this.topLeftCoordinate = topLeftCoordinate;\n _this.bottomRightCoordinate = bottomRightCoordinate;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{}}}\n */\n Square.prototype.toFilterObject = function () {\n return {\n top_left: this.topLeftCoordinate.toArray(),\n bottom_right: this.bottomRightCoordinate.toArray(),\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n Square.prototype.getName = function () {\n return \"Square\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n Square.fromFilterObject = function (object) {\n return new Square(Coordinate_1.Coordinate.createFromArray(object.top_left), Coordinate_1.Coordinate.createFromArray(object.bottom_right));\n };\n return Square;\n}(LocationRange));\nexports.Square = Square;\n","\"use strict\";\nexports.__esModule = true;\nexports.AxiosClient = void 0;\nvar tslib_1 = require(\"tslib\");\nvar axios_1 = require(\"axios\");\nvar __1 = require(\"..\");\nvar Client_1 = require(\"./Client\");\nvar Response_1 = require(\"./Response\");\n/**\n * AxiosClient\n */\nvar AxiosClient = /** @class */ (function (_super) {\n tslib_1.__extends(AxiosClient, _super);\n /**\n * Constructor\n *\n * @param host\n * @param version\n * @param timeout\n * @param overrideQueries\n */\n function AxiosClient(host, version, timeout, overrideQueries) {\n var _this = _super.call(this, version) || this;\n _this.host = host;\n _this.timeout = timeout;\n _this.overrideQueries = overrideQueries;\n _this.abortControllers = {};\n return _this;\n }\n /**\n * @param url\n * @param method\n * @param credentials\n * @param parameters\n * @param data\n */\n AxiosClient.prototype.get = function (url, method, credentials, parameters, data) {\n if (parameters === void 0) { parameters = {}; }\n if (data === void 0) { data = {}; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var headers, axiosRequestConfig, axiosResponse, error_1, response;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n url = url.replace(/^\\/*|\\/*$/g, \"\");\n url = \"/\" + (this.version + \"/\" + url).replace(/^\\/*|\\/*$/g, \"\");\n method = method.toLowerCase();\n if (\"get\" === method &&\n this.overrideQueries) {\n this.abort(url, true);\n }\n headers = \"get\" === method\n ? {}\n : {\n \"Content-Encoding\": \"gzip\",\n \"Content-Type\": \"application/json\",\n };\n axiosRequestConfig = {\n baseURL: this.host.replace(/\\/*$/g, \"\"),\n data: data,\n headers: headers,\n method: method,\n timeout: this.timeout,\n transformRequest: [function (rawData) { return JSON.stringify(rawData); }],\n url: url + \"?\" + Client_1.Client.objectToUrlParameters(tslib_1.__assign(tslib_1.__assign({}, parameters), {\n token: credentials.token,\n })).replace(/#/g, \"%23\"),\n };\n if (typeof this.abortControllers[url] !== \"undefined\") {\n axiosRequestConfig.signal = this.abortControllers[url].signal;\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.fetch(url, axiosRequestConfig, 3)];\n case 2:\n axiosResponse = _a.sent();\n return [2 /*return*/, new Response_1.Response(axiosResponse.status, axiosResponse.data)];\n case 3:\n error_1 = _a.sent();\n response = void 0;\n if (error_1.response) {\n response = new Response_1.Response(error_1.response.status, error_1.response.data);\n }\n else {\n response = new Response_1.Response(__1.ConnectionError.getTransportableHTTPError(), {\n message: error_1.message,\n });\n }\n throw response;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Abort current request\n * And regenerate the cancellation token\n *\n * @param url\n * @param urlIsFormatted\n */\n AxiosClient.prototype.abort = function (url, urlIsFormatted) {\n if (!urlIsFormatted) {\n url = url.replace(/^\\/*|\\/*$/g, \"\");\n url = \"/\" + (this.version + \"/\" + url).replace(/^\\/*|\\/*$/g, \"\");\n }\n if (typeof this.abortControllers[url] !== \"undefined\") {\n this.abortControllers[url].abort();\n }\n this.generateAbortController(url);\n };\n /**\n * Generate a new cancellation token for a query\n *\n * @param url\n */\n AxiosClient.prototype.generateAbortController = function (url) {\n this.abortControllers[url] = new AbortController();\n };\n /**\n * @param url\n * @param options\n * @param retries\n */\n AxiosClient.prototype.fetch = function (url, options, retries) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, axios_1[\"default\"]\n .request(options)\n .then(function (response) {\n return {\n data: response.data,\n status: response.status,\n };\n })[\"catch\"](function (error) {\n var response = error.response;\n if (error.code !== undefined &&\n error.code !== \"ECONNREFUSED\" &&\n error.code !== \"ECONNABORTED\" &&\n error.code !== \"ERR_BAD_REQUEST\" &&\n error.message !== \"Network Error\") {\n return {\n data: response.data,\n status: response.status,\n };\n }\n if (retries <= 0) {\n throw error;\n }\n retries = retries - 1;\n return _this.fetch(url, options, retries);\n })];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n return AxiosClient;\n}(Client_1.Client));\nexports.AxiosClient = AxiosClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.CacheClient = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ts_md5_1 = require(\"ts-md5\");\n/**\n * AxiosClient\n */\nvar CacheClient = /** @class */ (function () {\n function CacheClient(httpClient) {\n this.cache = {};\n this.hits = 0;\n this.httpClient = httpClient;\n }\n CacheClient.prototype.flushCache = function () {\n this.cache = {};\n };\n CacheClient.prototype.size = function () {\n return Object.keys(this.cache).length;\n };\n CacheClient.prototype.getNumberOfHits = function () {\n return this.hits;\n };\n /**\n * Get\n *\n * @param url\n * @param method\n * @param credentials\n * @param parameters\n * @param data\n *\n * @return {Promise}\n */\n CacheClient.prototype.get = function (url, method, credentials, parameters, data) {\n if (parameters === void 0) { parameters = {}; }\n if (data === void 0) { data = {}; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var cacheUID, _a, _b;\n return tslib_1.__generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (method !== 'get') {\n return [2 /*return*/, this.httpClient.get(url, method, credentials, parameters, data)];\n }\n cacheUID = ts_md5_1.Md5.hashStr(JSON.stringify({\n 'u': url,\n 'c': credentials,\n 'p': parameters,\n 'd': data,\n })).toString();\n if (!!this.cache[cacheUID]) return [3 /*break*/, 2];\n _a = this.cache;\n _b = cacheUID;\n return [4 /*yield*/, this.httpClient.get(url, method, credentials, parameters, data)];\n case 1:\n _a[_b] = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n this.httpClient.abort(url, false);\n this.hits++;\n _c.label = 3;\n case 3: return [2 /*return*/, this.cache[cacheUID]];\n }\n });\n });\n };\n /**\n * Abort current request\n * And regenerate the cancellation token\n *\n * @param url\n * @param urlIsFormatted\n */\n CacheClient.prototype.abort = function (url, urlIsFormatted) {\n };\n return CacheClient;\n}());\nexports.CacheClient = CacheClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.Client = void 0;\n/**\n * Client\n */\nvar Client = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param version\n */\n function Client(version) {\n this.version = version.replace(/^\\/*|\\/*$/g, \"\");\n }\n /**\n * Build an url parameters array by an object\n *\n * @param params\n *\n * @returns {string}\n */\n Client.objectToUrlParameters = function (params) {\n var builtParams = [];\n for (var i in params) {\n builtParams.push(i + \"=\" + params[i]);\n }\n return builtParams.join(\"&\");\n };\n return Client;\n}());\nexports.Client = Client;\n","\"use strict\";\nexports.__esModule = true;\nexports.HttpClient = void 0;\n/**\n * Http class\n */\nvar HttpClient = /** @class */ (function () {\n function HttpClient() {\n }\n return HttpClient;\n}());\nexports.HttpClient = HttpClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.Response = void 0;\n/**\n * Response\n */\nvar Response = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param code\n * @param body\n */\n function Response(code, body) {\n this.code = code;\n this.body = body;\n }\n /**\n * Get code\n *\n * @return {number}\n */\n Response.prototype.getCode = function () {\n return this.code;\n };\n /**\n * Get body\n *\n * @return {any}\n */\n Response.prototype.getBody = function () {\n return this.body;\n };\n return Response;\n}());\nexports.Response = Response;\n","\"use strict\";\nexports.__esModule = true;\nexports.AppUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * AppUUID class\n */\nvar AppUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n */\n function AppUUID(id) {\n if (id.indexOf('_') >= 0) {\n throw InvalidFormatError_1.InvalidFormatError.appUUIDFormatNotValid();\n }\n this.id = id;\n }\n /**\n * Create by id\n *\n * @param id\n *\n * @returns {ItemUUID}\n */\n AppUUID.createById = function (id) {\n return new AppUUID(id);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n AppUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n AppUUID.prototype.toArray = function () {\n return {\n id: this.id,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n AppUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new AppUUID(array.id);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n AppUUID.prototype.composedUUID = function () {\n return this.id;\n };\n return AppUUID;\n}());\nexports.AppUUID = AppUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Changes = exports.TYPE_ARRAY = exports.TYPE_ARRAY_EXPECTS_ELEMENT = exports.TYPE_ARRAY_ELEMENT_DELETE = exports.TYPE_ARRAY_ELEMENT_ADD = exports.TYPE_ARRAY_ELEMENT_UPDATE = exports.TYPE_LITERAL = exports.TYPE_VALUE = void 0;\n/**\n * filter constants\n */\nexports.TYPE_VALUE = 1;\nexports.TYPE_LITERAL = 4;\nexports.TYPE_ARRAY_ELEMENT_UPDATE = 8;\nexports.TYPE_ARRAY_ELEMENT_ADD = 16;\nexports.TYPE_ARRAY_ELEMENT_DELETE = 32;\nexports.TYPE_ARRAY_EXPECTS_ELEMENT = 24;\nexports.TYPE_ARRAY = 56;\n/**\n * Changes Type cast\n * @param Changes\n */\nvar Changes = /** @class */ (function () {\n function Changes() {\n /**\n * Changes\n *\n * @type {Array}\n */\n this.changes = [];\n }\n /**\n * Add new change\n *\n * @param field\n * @param value\n * @param type\n */\n Changes.prototype.addChange = function (field, value, type) {\n if (type === void 0) { type = exports.TYPE_VALUE; }\n this.changes.push({\n field: field,\n type: type,\n value: value,\n });\n };\n /**\n * Update element from list\n *\n * @param field\n * @param condition\n * @param value\n * @param type\n */\n Changes.prototype.updateElementFromList = function (field, condition, value, type) {\n this.changes.push({\n field: field,\n type: type | exports.TYPE_ARRAY_ELEMENT_UPDATE,\n condition: condition,\n value: value,\n });\n };\n /**\n * Add element in list\n *\n * @param field\n * @param value\n * @param type\n */\n Changes.prototype.addElementInList = function (field, value, type) {\n this.changes.push({\n field: field,\n type: type | exports.TYPE_ARRAY_ELEMENT_ADD,\n value: value,\n });\n };\n /**\n * Delete element from list\n *\n * @param field\n * @param condition\n */\n Changes.prototype.deleteElementFromList = function (field, condition) {\n this.changes.push({\n field: field,\n type: exports.TYPE_ARRAY_ELEMENT_DELETE,\n condition: condition,\n });\n };\n /**\n * Get changes\n *\n * @returns {[]}\n */\n Changes.prototype.getChanges = function () {\n return this.changes;\n };\n /**\n * Create\n *\n * @returns {Changes}\n */\n Changes.create = function () {\n return new Changes();\n };\n /**\n * To array\n *\n * @returns {[]}\n */\n Changes.prototype.toArray = function () {\n return JSON.parse(JSON.stringify(this.changes));\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Changes}\n */\n Changes.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var changes = Changes.create();\n changes.changes = array;\n return changes;\n };\n return Changes;\n}());\nexports.Changes = Changes;\n","\"use strict\";\nexports.__esModule = true;\nexports.Coordinate = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * Coordinate Type cast\n * @param coordinate\n */\nvar Coordinate = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param {number} lat\n * @param {number} lon\n */\n function Coordinate(lat, lon) {\n this.lat = lat;\n this.lon = lon;\n }\n /**\n * Get latitude\n *\n * @return float\n */\n Coordinate.prototype.getLatitude = function () {\n return this.lat;\n };\n /**\n * Get longitude\n *\n * @return float\n */\n Coordinate.prototype.getLongitude = function () {\n return this.lon;\n };\n /**\n * To array\n *\n * @return {{lat: number, lon: number}}\n */\n Coordinate.prototype.toArray = function () {\n return {\n lat: this.lat,\n lon: this.lon,\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return Coordinate\n *\n * @throws InvalidFormatError\n */\n Coordinate.createFromArray = function (array) {\n if (typeof array.lat == \"undefined\" ||\n typeof array.lon == \"undefined\") {\n throw InvalidFormatError_1.InvalidFormatError.coordinateFormatNotValid();\n }\n return new Coordinate(array.lat, array.lon);\n };\n return Coordinate;\n}());\nexports.Coordinate = Coordinate;\n","\"use strict\";\nexports.__esModule = true;\nexports.Index = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar IndexUUID_1 = require(\"./IndexUUID\");\nvar AppUUID_1 = require(\"./AppUUID\");\n/**\n * Index class\n */\nvar Index = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param uuid\n * @param appUUID\n * @param isOK\n * @param docCount\n * @param size\n */\n function Index(uuid, appUUID, isOK, docCount, size) {\n if (isOK === void 0) { isOK = false; }\n if (docCount === void 0) { docCount = 0; }\n if (size === void 0) { size = '0kb'; }\n this.uuid = uuid;\n this.appUUID = appUUID;\n this.isOK = isOK;\n this.docCount = docCount;\n this.size = size;\n }\n /**\n * Get uuid\n *\n * @return {IndexUUID}\n */\n Index.prototype.getUUID = function () {\n return this.uuid;\n };\n /**\n * Get app id\n *\n * @return {AppUUID}\n */\n Index.prototype.getAppUUID = function () {\n return this.appUUID;\n };\n /**\n * Index is OK\n *\n * @return {boolean}\n */\n Index.prototype.isOk = function () {\n return this.isOK;\n };\n /**\n * Get doc count\n *\n * @return {number}\n */\n Index.prototype.getDocCount = function () {\n return this.docCount;\n };\n /**\n * get size\n *\n * @return {string}\n */\n Index.prototype.getSize = function () {\n return this.size;\n };\n /**\n * To array\n *\n * @returns {{id: string, attributes: {}}}\n */\n Index.prototype.toArray = function () {\n return {\n uuid: this.uuid.toArray(),\n app_id: this.appUUID.toArray(),\n is_ok: this.isOK,\n doc_count: this.docCount,\n size: this.size\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return User\n */\n Index.createFromArray = function (array) {\n if (typeof array.uuid == \"undefined\" ||\n typeof array.app_id == \"undefined\") {\n throw InvalidFormatError_1.InvalidFormatError.indexFormatNotValid();\n }\n return new Index(IndexUUID_1.IndexUUID.createFromArray(array.uuid), AppUUID_1.AppUUID.createFromArray(array.app_id), (typeof array.is_ok == \"undefined\" ? false : array.is_ok), (typeof array.doc_count == \"undefined\" ? 0 : array.doc_count), (typeof array.size == \"undefined\" ? '0kb' : array.size));\n };\n return Index;\n}());\nexports.Index = Index;\n","\"use strict\";\nexports.__esModule = true;\nexports.IndexUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * IndexUUID class\n */\nvar IndexUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n */\n function IndexUUID(id) {\n if (id.indexOf('_') >= 0) {\n throw InvalidFormatError_1.InvalidFormatError.indexUUIDFormatNotValid();\n }\n this.id = id;\n }\n /**\n * Create by id\n *\n * @param id\n *\n * @returns {ItemUUID}\n */\n IndexUUID.createById = function (id) {\n return new IndexUUID(id);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n IndexUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n IndexUUID.prototype.toArray = function () {\n return {\n id: this.id,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n IndexUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new IndexUUID(array.id);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n IndexUUID.prototype.composedUUID = function () {\n return this.id;\n };\n return IndexUUID;\n}());\nexports.IndexUUID = IndexUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Item = void 0;\nvar tslib_1 = require(\"tslib\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar Coordinate_1 = require(\"./Coordinate\");\nvar ItemUUID_1 = require(\"./ItemUUID\");\nvar AppUUID_1 = require(\"./AppUUID\");\nvar IndexUUID_1 = require(\"./IndexUUID\");\n/**\n * Item class\n */\nvar Item = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param uuid\n * @param coordinate\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n */\n function Item(uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n this.metadata = {};\n this.indexedMetadata = {};\n this.searchableMetadata = {};\n this.exactMatchingMetadata = [];\n this.suggest = [];\n this.highlights = {};\n this.promoted = false;\n this.uuid = uuid;\n this.coordinate = coordinate;\n this.metadata = metadata;\n this.indexedMetadata = indexedMetadata;\n this.searchableMetadata = searchableMetadata;\n this.exactMatchingMetadata = exactMatchingMetadata;\n this.suggest = suggest;\n }\n /**\n * Create new Item\n *\n * @param uuid\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n * @returns {Item}\n */\n Item.create = function (uuid, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n if (metadata === void 0) { metadata = {}; }\n if (indexedMetadata === void 0) { indexedMetadata = {}; }\n if (searchableMetadata === void 0) { searchableMetadata = {}; }\n if (exactMatchingMetadata === void 0) { exactMatchingMetadata = []; }\n if (suggest === void 0) { suggest = []; }\n return new Item(uuid, null, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest);\n };\n /**\n * Create new located Item\n *\n * @param uuid\n * @param coordinate\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n * @returns {Item}\n */\n Item.createLocated = function (uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n if (metadata === void 0) { metadata = {}; }\n if (indexedMetadata === void 0) { indexedMetadata = {}; }\n if (searchableMetadata === void 0) { searchableMetadata = {}; }\n if (exactMatchingMetadata === void 0) { exactMatchingMetadata = []; }\n if (suggest === void 0) { suggest = []; }\n return new Item(uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest);\n };\n /**\n * Get uuid\n *\n * @returns ItemUUID\n */\n Item.prototype.getUUID = function () {\n return this.uuid;\n };\n /**\n * Get id\n *\n * @returns string\n */\n Item.prototype.getId = function () {\n return this.uuid.getId();\n };\n /**\n * Get type\n *\n * @returns string\n */\n Item.prototype.getType = function () {\n return this.uuid.getType();\n };\n /**\n * Get coordinate\n *\n * @returns Coordinate|null\n */\n Item.prototype.getCoordinate = function () {\n return this.coordinate;\n };\n /**\n * Get distance\n *\n * @returns int\n */\n Item.prototype.getDistance = function () {\n return this.distance;\n };\n /**\n * Get metadata\n *\n * @returns Array\n */\n Item.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Set metadata\n *\n * @param metadata\n */\n Item.prototype.setMetadata = function (metadata) {\n this.metadata = metadata;\n };\n /**\n * Add metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addMetadata = function (key, value) {\n this.metadata[key] = value;\n };\n /**\n * Get indexed metadata\n *\n * @returns Array\n */\n Item.prototype.getIndexedMetadata = function () {\n return this.indexedMetadata;\n };\n /**\n * Set indexed metadata\n *\n * @param indexedMetadata\n */\n Item.prototype.setIndexedMetadata = function (indexedMetadata) {\n this.indexedMetadata = indexedMetadata;\n };\n /**\n * Add indexed metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addIndexedMetadata = function (key, value) {\n this.indexedMetadata[key] = value;\n };\n /**\n * Get searchable metadata\n *\n * @returns Array\n */\n Item.prototype.getSearchableMetadata = function () {\n return this.searchableMetadata;\n };\n /**\n * Set searchable metadata\n *\n * @param searchableMetadata\n */\n Item.prototype.setSearchableMetadata = function (searchableMetadata) {\n this.searchableMetadata = searchableMetadata;\n };\n /**\n * Add searchable metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addSearchableMetadata = function (key, value) {\n this.searchableMetadata[key] = value;\n };\n /**\n * Get exactMatching metadata\n *\n * @returns Array\n */\n Item.prototype.getExactMatchingMetadata = function () {\n return this.exactMatchingMetadata;\n };\n /**\n * Set exactMatching metadata\n *\n * @param exactMatchingMetadata\n */\n Item.prototype.setExactMatchingMetadata = function (exactMatchingMetadata) {\n this.exactMatchingMetadata = exactMatchingMetadata;\n };\n /**\n * Add exactMatching metadata\n *\n * @param value\n */\n Item.prototype.addExactMatchingMetadata = function (value) {\n this.exactMatchingMetadata.push(value);\n };\n /**\n * Get all metadata\n *\n * @returns {{}}\n */\n Item.prototype.getAllMetadata = function () {\n return tslib_1.__assign(tslib_1.__assign({}, this.metadata), this.indexedMetadata);\n };\n /**\n * Get\n *\n * @param key\n *\n * @returns mixed|null\n */\n Item.prototype.get = function (key) {\n var allMetadata = this.getAllMetadata();\n return (typeof allMetadata[key] != \"undefined\")\n ? allMetadata[key]\n : null;\n };\n /**\n * Get suggest\n *\n * @returns Array\n */\n Item.prototype.getSuggest = function () {\n return this.suggest;\n };\n /**\n * Get highlights\n *\n * @returns Array\n */\n Item.prototype.getHighlights = function () {\n return this.highlights;\n };\n /**\n * Get highlight\n *\n * @param key\n *\n * @return string|null\n */\n Item.prototype.getHighlight = function (key) {\n return (typeof this.highlights[key] != \"undefined\")\n ? this.highlights[key]\n : null;\n };\n /**\n * Is promoted\n *\n * @returns boolean\n */\n Item.prototype.isPromoted = function () {\n return this.promoted;\n };\n /**\n * Set score\n *\n * @param score\n *\n * @return {Item}\n */\n Item.prototype.setScore = function (score) {\n this.score = score;\n return this;\n };\n /**\n * Get score\n *\n * @return {number}\n */\n Item.prototype.getScore = function () {\n return this.score;\n };\n /**\n * Set appUUID\n *\n * @return {AppUUID}\n */\n Item.prototype.getAppUUID = function () {\n return this.appUUID;\n };\n /**\n * Set indexUUID\n *\n * @return {IndexUUID}\n */\n Item.prototype.getIndexUUID = function () {\n return this.indexUUID;\n };\n /**\n * To array\n */\n Item.prototype.toArray = function () {\n var itemAsArray = {\n uuid: this.uuid.toArray(),\n };\n if (this.coordinate instanceof Coordinate_1.Coordinate) {\n itemAsArray.coordinate = this.coordinate.toArray();\n }\n if (Object.keys(this.metadata).length > 0) {\n itemAsArray.metadata = this.metadata;\n }\n if (Object.keys(this.indexedMetadata).length > 0) {\n itemAsArray.indexed_metadata = this.indexedMetadata;\n }\n if (Object.keys(this.searchableMetadata).length > 0) {\n itemAsArray.searchable_metadata = this.searchableMetadata;\n }\n if (this.exactMatchingMetadata.length > 0) {\n itemAsArray.exact_matching_metadata = this.exactMatchingMetadata;\n }\n if (this.suggest.length > 0) {\n itemAsArray.suggest = this.suggest;\n }\n if (Object.keys(this.highlights).length > 0) {\n itemAsArray.highlights = this.highlights;\n }\n if (this.isPromoted()) {\n itemAsArray.is_promoted = true;\n }\n if (typeof this.distance != \"undefined\") {\n itemAsArray.distance = this.distance;\n }\n if (typeof this.score != \"undefined\") {\n itemAsArray.score = this.score;\n }\n if (typeof this.appUUID != \"undefined\") {\n itemAsArray.app_uuid = this.appUUID.toArray();\n }\n if (typeof this.indexUUID != \"undefined\") {\n itemAsArray.index_uuid = this.indexUUID.toArray();\n }\n return itemAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n */\n Item.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.uuid != \"object\") {\n throw InvalidFormatError_1.InvalidFormatError.itemUUIDRepresentationNotValid();\n }\n if (typeof array.coordinate != \"undefined\" &&\n typeof array.coordinate != \"object\") {\n throw InvalidFormatError_1.InvalidFormatError.coordinateFormatNotValid();\n }\n var item = (typeof array.coordinate == \"object\" &&\n array.coordinate != null)\n ? Item.createLocated(ItemUUID_1.ItemUUID.createFromArray(array.uuid), Coordinate_1.Coordinate.createFromArray(array.coordinate), ((typeof array.metadata == \"undefined\") ? {} : array.metadata), ((typeof array.indexed_metadata == \"undefined\") ? {} : array.indexed_metadata), ((typeof array.searchable_metadata == \"undefined\") ? {} : array.searchable_metadata), ((typeof array.exact_matching_metadata == \"undefined\") ? [] : array.exact_matching_metadata), ((typeof array.suggest == \"undefined\") ? [] : array.suggest))\n : Item.create(ItemUUID_1.ItemUUID.createFromArray(array.uuid), ((typeof array.metadata == \"undefined\") ? {} : array.metadata), ((typeof array.indexed_metadata == \"undefined\") ? {} : array.indexed_metadata), ((typeof array.searchable_metadata == \"undefined\") ? {} : array.searchable_metadata), ((typeof array.exact_matching_metadata == \"undefined\") ? [] : array.exact_matching_metadata), ((typeof array.suggest == \"undefined\") ? [] : array.suggest));\n if (typeof array.distance != \"undefined\" &&\n array.distance != null) {\n item.distance = array.distance;\n }\n if (typeof array.highlights == \"object\" &&\n array.highlights != null) {\n item.highlights = array.highlights;\n }\n if (typeof array.is_promoted != \"undefined\" &&\n array.is_promoted != null) {\n item.promoted = array.is_promoted;\n }\n if (typeof array.score != \"undefined\" &&\n array.score != null) {\n item.score = array.score;\n }\n if (typeof array.app_uuid != \"undefined\" &&\n array.app_uuid != null) {\n item.appUUID = AppUUID_1.AppUUID.createFromArray(array.app_uuid);\n }\n if (typeof array.index_uuid != \"undefined\" &&\n array.index_uuid != null) {\n item.indexUUID = IndexUUID_1.IndexUUID.createFromArray(array.index_uuid);\n }\n return item;\n };\n /**\n * Compose uuid\n *\n * @returns string\n */\n Item.prototype.composeUUID = function () {\n return this.uuid.composedUUID();\n };\n /**\n * Get path by field.\n *\n * @param field\n *\n * @returns {string}\n */\n Item.getPathByField = function (field) {\n return ([\"id\", \"type\"].indexOf(field) > -1)\n ? \"uuid.\" + field\n : \"indexed_metadata.\" + field;\n };\n return Item;\n}());\nexports.Item = Item;\n","\"use strict\";\nexports.__esModule = true;\nexports.ItemUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * ItemUUID class\n */\nvar ItemUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n * @param type\n */\n function ItemUUID(id, type) {\n this.id = id;\n this.type = type;\n }\n /**\n * Create composed UUID\n *\n * @param composedUUID\n *\n * @returns {ItemUUID}\n */\n ItemUUID.createByComposedUUID = function (composedUUID) {\n var parts = composedUUID.split(\"~\");\n if (2 != parts.length) {\n throw InvalidFormatError_1.InvalidFormatError.composedItemUUIDNotValid();\n }\n return new ItemUUID(parts[0], parts[1]);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n ItemUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * Get type\n *\n * @returns {string}\n */\n ItemUUID.prototype.getType = function () {\n return this.type;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n ItemUUID.prototype.toArray = function () {\n return {\n id: this.id,\n type: this.type,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n ItemUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new ItemUUID(array.id, array.type);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n ItemUUID.prototype.composedUUID = function () {\n return this.id + \"~\" + this.type;\n };\n return ItemUUID;\n}());\nexports.ItemUUID = ItemUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Metadata = void 0;\n/**\n * User class\n */\nvar Metadata = /** @class */ (function () {\n function Metadata() {\n }\n /**\n * To metadata\n *\n * @param array:{}\n *\n * @returns {string}\n */\n Metadata.toMetadata = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var parts = [];\n for (var key in array) {\n parts.push(key + \"##\" + array[key]);\n }\n return parts.join(\"~~\");\n };\n /**\n * From metadata\n *\n * @param metadata\n *\n * @return {{}}\n */\n Metadata.fromMetadata = function (metadata) {\n var values = {};\n var splittedParts = metadata.split(\"~~\");\n var iterator = 0;\n var size = 0;\n var lastElement = null;\n for (var key in splittedParts) {\n var part = splittedParts[key];\n var parts = part.split(\"##\");\n if (parts.length > 1) {\n lastElement = parts[1];\n values[parts[0]] = lastElement;\n }\n else {\n lastElement = part;\n values[iterator++] = lastElement;\n }\n size++;\n }\n if (size == 1) {\n values = {\n id: lastElement,\n name: lastElement,\n };\n }\n if (typeof values.id == \"undefined\") {\n return null;\n }\n return values;\n };\n return Metadata;\n}());\nexports.Metadata = Metadata;\n","\"use strict\";\nexports.__esModule = true;\nexports.User = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * User class\n */\nvar User = /** @class */ (function () {\n /**\n * Construct\n *\n * @param id string\n * @param attributes Array\n */\n function User(id, attributes) {\n if (attributes === void 0) { attributes = {}; }\n this.id = id;\n this.attributes = attributes;\n }\n /**\n * Return the user id\n *\n * @return {string}\n */\n User.prototype.getId = function () {\n return this.id;\n };\n /**\n * Return array\n *\n * @returns {{}}\n */\n User.prototype.getAttributes = function () {\n return this.attributes;\n };\n /**\n * To array\n *\n * @returns {{id: string, attributes: {}}}\n */\n User.prototype.toArray = function () {\n var array = {\n id: this.id,\n };\n if (Object.keys(this.attributes).length > 0) {\n array.attributes = this.attributes;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return User\n */\n User.createFromArray = function (array) {\n if (array == null ||\n typeof array.id == \"undefined\" ||\n array.id == null) {\n throw InvalidFormatError_1.InvalidFormatError.userFormatNotValid();\n }\n var attributes = typeof array.attributes === typeof {}\n ? array.attributes\n : {};\n return new User(array.id, attributes);\n };\n return User;\n}());\nexports.User = User;\n","\"use strict\";\nexports.__esModule = true;\nexports.Aggregation = exports.AGGREGATION_NO_LIMIT = exports.AGGREGATION_SORT_BY_NAME_DESC = exports.AGGREGATION_SORT_BY_NAME_ASC = exports.AGGREGATION_SORT_BY_COUNT_DESC = exports.AGGREGATION_SORT_BY_COUNT_ASC = void 0;\nvar Filter_1 = require(\"./Filter\");\n/**\n * Aggregation constants\n */\nexports.AGGREGATION_SORT_BY_COUNT_ASC = [\"_count\", \"asc\"];\nexports.AGGREGATION_SORT_BY_COUNT_DESC = [\"_count\", \"desc\"];\nexports.AGGREGATION_SORT_BY_NAME_ASC = [\"_term\", \"asc\"];\nexports.AGGREGATION_SORT_BY_NAME_DESC = [\"_term\", \"desc\"];\nexports.AGGREGATION_NO_LIMIT = 0;\n/**\n * Aggregation class\n */\nvar Aggregation = /** @class */ (function () {\n /**\n * Construct\n *\n * @param name\n * @param field\n * @param applicationType\n * @param filterType\n * @param subgroup\n * @param sort\n * @param limit\n * @param promoted\n */\n function Aggregation(name, field, applicationType, filterType, subgroup, sort, limit, promoted) {\n this.subgroup = [];\n this.name = name;\n this.field = field;\n this.applicationType = applicationType;\n this.filterType = filterType;\n this.subgroup = subgroup;\n this.sort = sort;\n this.limit = limit;\n this.promoted = promoted;\n }\n /**\n * Get name\n *\n * @returns {string}\n */\n Aggregation.prototype.getName = function () {\n return this.name;\n };\n /**\n * Get field\n *\n * @returns {string}\n */\n Aggregation.prototype.getField = function () {\n return this.field;\n };\n /**\n * getApplicationType\n *\n * @returns {number}\n */\n Aggregation.prototype.getApplicationType = function () {\n return this.applicationType;\n };\n /**\n * Get filter type\n *\n * @return {string}\n */\n Aggregation.prototype.getFilterType = function () {\n return this.filterType;\n };\n /**\n * Get subgroup\n *\n * @return {[]}\n */\n Aggregation.prototype.getSubgroup = function () {\n return this.subgroup;\n };\n /**\n * Get sort\n *\n * @return {[]}\n */\n Aggregation.prototype.getSort = function () {\n return this.sort;\n };\n /**\n * Get limit\n *\n * @return {number}\n */\n Aggregation.prototype.getLimit = function () {\n return this.limit;\n };\n /**\n * Get promoted\n *\n * @return {[]}\n */\n Aggregation.prototype.getPromoted = function () {\n return this.promoted;\n };\n /**\n * Create\n *\n * @param name\n * @param field\n * @param applicationType\n * @param filterType\n * @param subgroup\n * @param sort\n * @param limit\n * @param promoted\n *\n * @returns {Aggregation}\n */\n Aggregation.create = function (name, field, applicationType, filterType, subgroup, sort, limit, promoted) {\n if (subgroup === void 0) { subgroup = []; }\n if (sort === void 0) { sort = exports.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = exports.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n return new Aggregation(name, field, applicationType, filterType, subgroup, sort, limit, promoted);\n };\n /**\n * To array\n *\n * @returns {Array}\n */\n Aggregation.prototype.toArray = function () {\n var aggregationAsArray = {\n name: this.name,\n };\n if (this.field !== \"uuid.type\") {\n aggregationAsArray.field = this.field;\n }\n if (this.applicationType !== Filter_1.FILTER_AT_LEAST_ONE) {\n aggregationAsArray.application_type = this.applicationType;\n }\n if (this.filterType !== Filter_1.FILTER_TYPE_FIELD) {\n aggregationAsArray.filter_type = this.filterType;\n }\n if (this.subgroup.length > 0) {\n aggregationAsArray.subgroup = this.subgroup;\n }\n if (JSON.stringify(this.sort) !== JSON.stringify(exports.AGGREGATION_SORT_BY_COUNT_DESC)) {\n aggregationAsArray.sort = this.sort;\n }\n if (this.limit !== exports.AGGREGATION_NO_LIMIT) {\n aggregationAsArray.limit = this.limit;\n }\n if (this.promoted.length > 0) {\n aggregationAsArray.promoted = this.promoted;\n }\n return aggregationAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Aggregation}\n */\n Aggregation.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.field === \"undefined\") {\n array.field = \"uuid.type\";\n }\n if (typeof array.application_type === \"undefined\") {\n array.application_type = Filter_1.FILTER_AT_LEAST_ONE;\n }\n if (typeof array.filter_type === \"undefined\") {\n array.filter_type = Filter_1.FILTER_TYPE_FIELD;\n }\n if (typeof array.subgroup === \"undefined\") {\n array.subgroup = [];\n }\n if (typeof array.sort === \"undefined\") {\n array.sort = exports.AGGREGATION_SORT_BY_COUNT_DESC;\n }\n if (typeof array.limit === \"undefined\") {\n array.limit = exports.AGGREGATION_NO_LIMIT;\n }\n if (typeof array.promoted === \"undefined\") {\n array.promoted = [];\n }\n return Aggregation.create(array.name, array.field, array.application_type, array.filter_type, array.subgroup, array.sort, array.limit, array.promoted);\n };\n return Aggregation;\n}());\nexports.Aggregation = Aggregation;\n","\"use strict\";\nexports.__esModule = true;\nexports.Filter = exports.FILTER_TYPE_QUERY = exports.FILTER_TYPE_GEO = exports.FILTER_TYPE_DATE_RANGE = exports.FILTER_TYPE_RANGE = exports.FILTER_TYPE_FIELD = exports.FILTER_PROMOTE = exports.FILTER_EXCLUDE = exports.FILTER_AT_LEAST_ONE = exports.FILTER_MUST_ALL_WITH_LEVELS = exports.FILTER_MUST_ALL = void 0;\n/**\n * filter constants\n */\nexports.FILTER_MUST_ALL = 4;\nexports.FILTER_MUST_ALL_WITH_LEVELS = 5;\nexports.FILTER_AT_LEAST_ONE = 8;\nexports.FILTER_EXCLUDE = 16;\nexports.FILTER_PROMOTE = 32;\nexports.FILTER_TYPE_FIELD = \"field\";\nexports.FILTER_TYPE_RANGE = \"range\";\nexports.FILTER_TYPE_DATE_RANGE = \"date_range\";\nexports.FILTER_TYPE_GEO = \"geo\";\nexports.FILTER_TYPE_QUERY = \"query\";\n/**\n * Filter class\n */\nvar Filter = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param field\n * @param values\n * @param applicationType\n * @param filterType\n * @param filterTerms\n */\n function Filter(field, values, applicationType, filterType, filterTerms) {\n this.field = field;\n this.values = values;\n this.applicationType = applicationType;\n this.filterType = filterType;\n this.filterTerms = filterTerms;\n }\n /**\n * Get field\n *\n * @returns {string}\n */\n Filter.prototype.getField = function () {\n return this.field;\n };\n /**\n * Get values\n *\n * @returns {any}\n */\n Filter.prototype.getValues = function () {\n return this.values;\n };\n /**\n * Has value\n *\n * @param value\n *\n * @returns {boolean}\n */\n Filter.prototype.hasValue = function (value) {\n return typeof this.values[value] == \"undefined\";\n };\n /**\n * getApplicationType\n *\n * @returns {number}\n */\n Filter.prototype.getApplicationType = function () {\n return this.applicationType;\n };\n /**\n * Get filter type\n *\n * @return {string}\n */\n Filter.prototype.getFilterType = function () {\n return this.filterType;\n };\n /**\n * Get filter type\n *\n * @return {{}}\n */\n Filter.prototype.getFilterTerms = function () {\n return this.filterTerms;\n };\n /**\n * Create\n *\n * @param field\n * @param values\n * @param applicationType\n * @param filterType\n * @param filterTerms\n *\n * @return {Filter}\n */\n Filter.create = function (field, values, applicationType, filterType, filterTerms) {\n if (filterTerms === void 0) { filterTerms = []; }\n return new Filter(field, values, applicationType, filterType, filterTerms);\n };\n /**\n * To array\n *\n * @returns {Array}\n */\n Filter.prototype.toArray = function () {\n var filterAsArray = {};\n if (this.field != \"uuid.type\") {\n filterAsArray.field = this.field;\n }\n if (this.values.length > 0 ||\n Object.keys(this.values).length > 0) {\n filterAsArray.values = this.values;\n }\n if (this.applicationType != exports.FILTER_AT_LEAST_ONE) {\n filterAsArray.application_type = this.applicationType;\n }\n if (this.filterType != exports.FILTER_TYPE_FIELD) {\n filterAsArray.filter_type = this.filterType;\n }\n if (this.filterTerms.length > 0) {\n filterAsArray.filter_terms = this.filterTerms;\n }\n return filterAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Filter}\n */\n Filter.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.field == \"undefined\") {\n array.field = \"uuid.type\";\n }\n if (typeof array.values == \"undefined\") {\n array.values = [];\n }\n if (typeof array.application_type == \"undefined\") {\n array.application_type = exports.FILTER_AT_LEAST_ONE;\n }\n if (typeof array.filter_type == \"undefined\") {\n array.filter_type = exports.FILTER_TYPE_FIELD;\n }\n if (typeof array.filter_terms == \"undefined\") {\n array.filter_terms = [];\n }\n return Filter.create(array.field, array.values, array.application_type, array.filter_type, array.filter_terms);\n };\n return Filter;\n}());\nexports.Filter = Filter;\n","\"use strict\";\nexports.__esModule = true;\nexports.Query = exports.NO_MIN_SCORE = exports.QUERY_DEFAULT_SIZE = exports.QUERY_DEFAULT_PAGE = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Coordinate_1 = require(\"../Model/Coordinate\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\nvar Item_1 = require(\"../Model/Item\");\nvar User_1 = require(\"../Model/User\");\nvar Aggregation_1 = require(\"./Aggregation\");\nvar Filter_1 = require(\"./Filter\");\nvar Filter_2 = require(\"./Filter\");\nvar Aggregation_2 = require(\"./Aggregation\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar Filter_3 = require(\"./Filter\");\nvar ScoreStrategies_1 = require(\"./ScoreStrategies\");\nvar SortBy_1 = require(\"./SortBy\");\nvar IndexUUID_1 = require(\"../Model/IndexUUID\");\n/**\n * Query constants\n */\nexports.QUERY_DEFAULT_PAGE = 1;\nexports.QUERY_DEFAULT_SIZE = 10;\nexports.NO_MIN_SCORE = 0.0;\n/**\n * Query class\n */\nvar Query = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param queryText\n */\n function Query(queryText) {\n this.UUID = null;\n this.fields = [];\n this.universeFilters = {};\n this.filters = {};\n this.itemsPromoted = [];\n this.aggregations = {};\n this.resultsEnabled = true;\n this.aggregationsEnabled = true;\n this.numberOfSuggestions = 0;\n this.highlightsEnabled = false;\n this.autocompleteEnabled = false;\n this.searchableFields = [];\n this.fuzziness = null;\n this.minScore = exports.NO_MIN_SCORE;\n this.metadata = {};\n this.subqueries = {};\n this.queryOperator = null;\n this.sortByInstance = SortBy_1.SortBy.create();\n this.filters._query = Filter_1.Filter.create(\"\", [queryText], 0, Filter_3.FILTER_TYPE_QUERY);\n }\n /**\n * Created located\n *\n * @param coordinate\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Query.createLocated = function (coordinate, queryText, page, size) {\n if (page === void 0) { page = exports.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = exports.QUERY_DEFAULT_SIZE; }\n var query = Query.create(queryText, page, size);\n query.coordinate = coordinate;\n return query;\n };\n /**\n * Create\n *\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Query.create = function (queryText, page, size) {\n if (page === void 0) { page = exports.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = exports.QUERY_DEFAULT_SIZE; }\n page = Math.max(1, page);\n var query = new Query(queryText);\n query.from = (page - 1) * size;\n query.size = size;\n query.page = page;\n return query;\n };\n /**\n * Create match all\n *\n * @return {Query}\n */\n Query.createMatchAll = function () {\n return Query.create(\"\", exports.QUERY_DEFAULT_PAGE, exports.QUERY_DEFAULT_SIZE);\n };\n /**\n * Create by UUID\n *\n * @param uuid\n *\n * @return {Query}\n */\n Query.createByUUID = function (uuid) {\n return Query.createByUUIDs(uuid);\n };\n /**\n * Create by UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.createByUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n var ids = [];\n for (var i in uuids) {\n ids.push(uuids[i].composedUUID());\n }\n var query = Query.create(\"\", exports.QUERY_DEFAULT_PAGE, ids.length)\n .disableAggregations()\n .disableSuggestions();\n query.filters._id = Filter_1.Filter.create(\"_id\", ids, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD);\n return query;\n };\n /**\n * Create by UUIDs\n *\n * @param queries\n *\n * @return {Query}\n */\n Query.createMultiquery = function (queries) {\n var query = Query.createMatchAll();\n query.subqueries = queries;\n return query;\n };\n /**\n * set fields\n *\n * @param fields\n *\n * @return {Query}\n */\n Query.prototype.setFields = function (fields) {\n this.fields = fields;\n return this;\n };\n /**\n * get fields\n *\n * @return {string[]}\n */\n Query.prototype.getFields = function () {\n return this.fields;\n };\n /**\n * Filter universe by types\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByTypes = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"type\");\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"type\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters.type;\n }\n return this;\n };\n /**\n * Filter by types\n *\n * @param values\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByTypes = function (values, aggregate, aggregationSort) {\n var _a, _b;\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(\"type\");\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"type\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters.type;\n }\n if (aggregate) {\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_b = {}, _b[\"type\"] = Aggregation_1.Aggregation.create(\"type\", fieldPath, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD, [], aggregationSort), _b));\n }\n return this;\n };\n /**\n * Filter universe by ids\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByIds = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"id\");\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"id\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters.id;\n }\n return this;\n };\n /**\n * Filter by ids\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterByIds = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"id\");\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"id\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters.id;\n }\n return this;\n };\n /**\n * Filter universe by\n *\n * @param field\n * @param values\n * @param applicationType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseBy = function (field, values, applicationType) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[field] = Filter_1.Filter.create(fieldPath, values, applicationType, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters[field];\n }\n return this;\n };\n /**\n * Filter by\n *\n * @param filterName\n * @param field\n * @param values\n * @param applicationType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterBy = function (filterName, field, values, applicationType, aggregate, aggregationSort) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[filterName] = Filter_1.Filter.create(fieldPath, values, applicationType, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters[filterName];\n }\n if (aggregate) {\n this.aggregateBy(filterName, field, applicationType, aggregationSort);\n }\n return this;\n };\n /**\n * Filter universe by range\n *\n * @param field\n * @param values\n * @param applicationType\n * @param rangeType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByRange = function (field, values, applicationType, rangeType) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[field] = Filter_1.Filter.create(fieldPath, values, applicationType, rangeType), _a));\n }\n else {\n delete this.universeFilters[field];\n }\n return this;\n };\n /**\n * Filter universe by date range\n *\n * @param field\n * @param values\n * @param applicationType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByDateRange = function (field, values, applicationType) {\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n return this.filterUniverseByRange(field, values, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE);\n };\n /**\n * Filter by range\n *\n * @param filterName\n * @param field\n * @param ranges\n * @param values\n * @param applicationType\n * @param rangeType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByRange = function (filterName, field, ranges, values, applicationType, rangeType, aggregate, aggregationSort) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length !== 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[filterName] = Filter_1.Filter.create(fieldPath, values, applicationType, rangeType), _a));\n }\n else {\n delete this.filters[filterName];\n }\n if (aggregate) {\n this.aggregateByRange(filterName, fieldPath, ranges, applicationType, rangeType, aggregationSort);\n }\n return this;\n };\n /**\n * Filter by date range\n *\n * @param filterName\n * @param field\n * @param options\n * @param values\n * @param applicationType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByDateRange = function (filterName, field, options, values, applicationType, aggregate, aggregationSort) {\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n return this.filterByRange(filterName, field, options, values, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE, aggregate, aggregationSort);\n };\n /**\n * Filter universe by location\n *\n * @param locationRange\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByLocation = function (locationRange) {\n var _a;\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"coordinate\"] = Filter_1.Filter.create(\"coordinate\", locationRange.toArray(), Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_GEO), _a));\n return this;\n };\n /**\n * Set filter fields\n *\n * @param searchableFields\n *\n * @return {Query}\n */\n Query.prototype.setSearchableFields = function (searchableFields) {\n this.searchableFields = searchableFields;\n return this;\n };\n /**\n * Get filter fields\n *\n * @return {string[]}\n */\n Query.prototype.getSearchableFields = function () {\n return this.searchableFields;\n };\n /**\n * Sort by\n *\n * @param sortBy\n *\n * @return {Query}\n */\n Query.prototype.sortBy = function (sortBy) {\n if (sortBy.isSortedByGeoDistance()) {\n if (!(this.coordinate instanceof Coordinate_1.Coordinate)) {\n throw InvalidFormatError_1.InvalidFormatError.querySortedByDistanceWithoutCoordinate();\n }\n sortBy.setCoordinate(this.coordinate);\n }\n this.sortByInstance = sortBy;\n return this;\n };\n /**\n * Aggregate by\n *\n * @param filterName\n * @param field\n * @param applicationType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateBy = function (filterName, field, applicationType, aggregationSort, limit, promoted) {\n var _a;\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_a = {}, _a[filterName] = Aggregation_1.Aggregation.create(filterName, Item_1.Item.getPathByField(field), applicationType, Filter_2.FILTER_TYPE_FIELD, [], aggregationSort, limit, promoted), _a));\n return this;\n };\n /**\n * Aggregate by range\n *\n * @param filterName\n * @param field\n * @param ranges\n * @param applicationType\n * @param rangeType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateByRange = function (filterName, field, ranges, applicationType, rangeType, aggregationSort, limit, promoted) {\n var _a;\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n if (ranges.length === 0) {\n return this;\n }\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_a = {}, _a[filterName] = Aggregation_1.Aggregation.create(filterName, Item_1.Item.getPathByField(field), applicationType, rangeType, ranges, aggregationSort, limit, promoted), _a));\n return this;\n };\n /**\n * Aggregate by date range\n *\n * @param filterName\n * @param field\n * @param options\n * @param applicationType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateByDateRange = function (filterName, field, options, applicationType, aggregationSort, limit, promoted) {\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n return this.aggregateByRange(filterName, field, options, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE, aggregationSort, limit, promoted);\n };\n /**\n * Get aggregations\n *\n * @return {{}}\n */\n Query.prototype.getAggregations = function () {\n return this.aggregations;\n };\n /**\n * Get aggregation by name\n *\n * @param aggregationName\n *\n * @return {Aggregation|null}\n */\n Query.prototype.getAggregation = function (aggregationName) {\n return this.aggregations[aggregationName] instanceof Aggregation_1.Aggregation\n ? this.aggregations[aggregationName]\n : null;\n };\n /**\n * Get query text\n *\n * @return {string}\n */\n Query.prototype.getQueryText = function () {\n var filter = this.filters._query;\n return filter instanceof Filter_1.Filter\n ? filter.getValues()[0]\n : \"\";\n };\n /**\n * Get universe filters\n *\n * @return {{}}\n */\n Query.prototype.getUniverseFilters = function () {\n return this.universeFilters;\n };\n /**\n * Get universe filter by name\n *\n * @param filterName\n *\n * @return {Filter|null}\n */\n Query.prototype.getUniverseFilter = function (filterName) {\n return this.universeFilters[filterName] instanceof Filter_1.Filter\n ? this.universeFilters[filterName]\n : null;\n };\n /**\n * Get filters\n *\n * @return {{}}\n */\n Query.prototype.getFilters = function () {\n return this.filters;\n };\n /**\n * Get filter by name\n *\n * @param filterName\n *\n * @return {Filter|null}\n */\n Query.prototype.getFilter = function (filterName) {\n return this.filters[filterName] instanceof Filter_1.Filter\n ? this.filters[filterName]\n : null;\n };\n /**\n * Get filter by field\n *\n * @param fieldName\n *\n * @return {Filter|null}\n */\n Query.prototype.getFilterByField = function (fieldName) {\n var fieldPath = Item_1.Item.getPathByField(fieldName);\n for (var i in this.filters) {\n if (this.filters[i].getField() == fieldPath) {\n return this.filters[i];\n }\n }\n return null;\n };\n /**\n * Get sort by\n *\n * @return {SortBy}\n */\n Query.prototype.getSortBy = function () {\n return this.sortByInstance;\n };\n /**\n * Get from\n *\n * @return {number}\n */\n Query.prototype.getFrom = function () {\n return this.from;\n };\n /**\n * Get size\n *\n * @return {number}\n */\n Query.prototype.getSize = function () {\n return this.size;\n };\n /**\n * Get page\n *\n * @return {number}\n */\n Query.prototype.getPage = function () {\n return this.page;\n };\n /**\n * Enable results\n *\n * @return {Query}\n */\n Query.prototype.enableResults = function () {\n this.resultsEnabled = true;\n return this;\n };\n /**\n * Disable results\n *\n * @return {Query}\n */\n Query.prototype.disableResults = function () {\n this.resultsEnabled = false;\n return this;\n };\n /**\n * Are results enabled\n *\n * @return {boolean}\n */\n Query.prototype.areResultsEnabled = function () {\n return this.resultsEnabled;\n };\n /**\n * Enable aggregations\n *\n * @return {Query}\n */\n Query.prototype.enableAggregations = function () {\n this.aggregationsEnabled = true;\n return this;\n };\n /**\n * Disable aggregations\n *\n * @return {Query}\n */\n Query.prototype.disableAggregations = function () {\n this.aggregationsEnabled = false;\n return this;\n };\n /**\n * Are aggregations enabled\n *\n * @return {boolean}\n */\n Query.prototype.areAggregationsEnabled = function () {\n return this.aggregationsEnabled;\n };\n /**\n * Set number of suggestions\n *\n * @param numberOfSuggestions\n *\n * @return {Query}\n */\n Query.prototype.setNumberOfSuggestions = function (numberOfSuggestions) {\n this.numberOfSuggestions = numberOfSuggestions;\n return this;\n };\n /**\n * Disable suggestions\n *\n * @return {Query}\n */\n Query.prototype.disableSuggestions = function () {\n this.numberOfSuggestions = 0;\n return this;\n };\n /**\n * Get number of suggestions\n *\n * @return {number}\n */\n Query.prototype.getNumberOfSuggestions = function () {\n return this.numberOfSuggestions;\n };\n /**\n * Enable autocomplete\n *\n * @return {Query}\n */\n Query.prototype.enableAutocomplete = function () {\n this.autocompleteEnabled = true;\n return this;\n };\n /**\n * Disable autocomplete\n *\n * @return {Query}\n */\n Query.prototype.disableAutocomplete = function () {\n this.autocompleteEnabled = false;\n return this;\n };\n /**\n * Are autocomplete enabled\n *\n * @return {boolean}\n */\n Query.prototype.areAutocompleteEnabled = function () {\n return this.autocompleteEnabled;\n };\n /**\n * Enable highlights\n *\n * @return {Query}\n */\n Query.prototype.enableHighlights = function () {\n this.highlightsEnabled = true;\n return this;\n };\n /**\n * Disable highlights\n *\n * @return {Query}\n */\n Query.prototype.disableHighlights = function () {\n this.highlightsEnabled = false;\n return this;\n };\n /**\n * Are highlights enabled\n *\n * @return {boolean}\n */\n Query.prototype.areHighlightsEnabled = function () {\n return this.highlightsEnabled;\n };\n /**\n * Promote uuid\n *\n * @param itemUUID\n *\n * @return {Query}\n */\n Query.prototype.promoteUUID = function (itemUUID) {\n this\n .itemsPromoted\n .push(itemUUID);\n return this;\n };\n /**\n * Promote UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.prototype.promoteUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n this.itemsPromoted = uuids;\n return this;\n };\n /**\n * Get promoted UUIDs\n *\n * @return {ItemUUID[]}\n */\n Query.prototype.getItemsPromoted = function () {\n return this.itemsPromoted;\n };\n /**\n * Exclude id\n *\n * @param itemUUID\n *\n * @return {Query}\n */\n Query.prototype.excludeUUID = function (itemUUID) {\n this.excludeUUIDs(itemUUID);\n return this;\n };\n /**\n * Exclude UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.prototype.excludeUUIDs = function () {\n var _a;\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"excluded_ids\"] = Filter_1.Filter.create(\"_id\", uuids.map(function (uuid) { return uuid.composedUUID(); }), Filter_2.FILTER_EXCLUDE, Filter_2.FILTER_TYPE_FIELD), _a));\n return this;\n };\n /**\n * Get score strategies\n *\n * @return {ScoreStrategies}\n */\n Query.prototype.getScoreStrategies = function () {\n return this.scoreStrategies;\n };\n /**\n * Set score strategies\n *\n * @param scoreStrategies\n */\n Query.prototype.setScoreStrategies = function (scoreStrategies) {\n this.scoreStrategies = scoreStrategies;\n return this;\n };\n /**\n * Get fuzziness\n *\n * @return any\n */\n Query.prototype.getFuzziness = function () {\n return this.fuzziness;\n };\n /**\n * Set fuzziness\n *\n * @param fuzziness\n *\n * @return {Query}\n */\n Query.prototype.setFuzziness = function (fuzziness) {\n this.fuzziness = fuzziness;\n return this;\n };\n /**\n * Set auto fuzziness\n *\n * @return {Query}\n */\n Query.prototype.setAutoFuzziness = function () {\n this.fuzziness = 'AUTO';\n return this;\n };\n /**\n * Get min score\n *\n * @return any\n */\n Query.prototype.getMinScore = function () {\n return this.minScore;\n };\n /**\n * Set min score\n *\n * @param minScore\n *\n * @return {Query}\n */\n Query.prototype.setMinScore = function (minScore) {\n this.minScore = minScore;\n return this;\n };\n /**\n * By user\n *\n * @param user\n *\n * @return {Query}\n */\n Query.prototype.byUser = function (user) {\n this.user = user;\n return this;\n };\n /**\n * By anyone\n *\n * @return {null}\n */\n Query.prototype.anonymously = function () {\n this.user = null;\n return null;\n };\n /**\n * Get user\n *\n * @return {User}\n */\n Query.prototype.getUser = function () {\n return this.user;\n };\n /**\n * set metadata value\n *\n * @param name\n * @param value\n *\n * @return {Query}\n */\n Query.prototype.setMetadataValue = function (name, value) {\n this.metadata[name] = value;\n return this;\n };\n /**\n * Get metadata\n *\n * @return any\n */\n Query.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Add subquery\n *\n * @param name\n * @param subquery\n *\n * @return {Query}\n */\n Query.prototype.addSubquery = function (name, subquery) {\n this.subqueries[name] = subquery;\n return this;\n };\n /**\n * Get subqueries\n *\n * @return {Object}\n */\n Query.prototype.getSubqueries = function () {\n return this.subqueries;\n };\n /**\n * Identify it\n *\n * @param UUID\n *\n * @return {Query}\n */\n Query.prototype.identifyWith = function (UUID) {\n this.UUID = UUID;\n return this;\n };\n /**\n * Get identification\n *\n * @return {string|null}\n */\n Query.prototype.getUUID = function () {\n return this.UUID;\n };\n /**\n * Force Index UUID.\n *\n * @param indexUUID\n *\n * @return {Query}\n */\n Query.prototype.forceIndexUUID = function (indexUUID) {\n this.indexUUID = indexUUID;\n return this;\n };\n /**\n * Get IndexUUID\n *\n * @return {IndexUUID|null}\n */\n Query.prototype.getIndexUUID = function () {\n return this.indexUUID;\n };\n Query.prototype.setQueryOperator = function (queryOperator) {\n this.queryOperator = queryOperator;\n return this;\n };\n Query.prototype.getQueryOperator = function () {\n return this.queryOperator;\n };\n Query.prototype.optimize = function () {\n var _a, _b, _c;\n var copy = this.toArray();\n var extraFilters = [];\n var otherAggregations = {};\n Object.keys((_a = copy.aggregations) !== null && _a !== void 0 ? _a : {}).forEach(function (key) {\n if (copy.aggregations[key].field.startsWith(\"indexed_metadata._\")) {\n extraFilters.push(copy.aggregations[key].field.slice(18));\n }\n else {\n otherAggregations[key] = copy.aggregations[key];\n }\n });\n copy.aggregations = otherAggregations;\n copy.metadata = (_b = copy.metadata) !== null && _b !== void 0 ? _b : [];\n copy.metadata.ef = ((_c = copy.metadata.ef) !== null && _c !== void 0 ? _c : []).concat(extraFilters);\n return Query.createFromArray(copy);\n };\n /**\n * To array\n *\n * @return {any}\n */\n Query.prototype.toArray = function () {\n var array = {};\n if (this.UUID !== null) {\n array.UUID = this.UUID;\n }\n if (this.getQueryText() !== \"\") {\n array.q = this.getQueryText();\n }\n if (this.coordinate instanceof Coordinate_1.Coordinate) {\n array.coordinate = this.coordinate.toArray();\n }\n /**\n * Fields\n */\n if (this.fields instanceof Array &&\n this.fields.length > 0) {\n array.fields = this.fields;\n }\n /**\n * Universe Filters\n */\n if (Object.keys(this.universeFilters).length) {\n array.universe_filters = {};\n for (var i in this.universeFilters) {\n var universeFilter = this.universeFilters[i];\n array.universe_filters[i] = universeFilter.toArray();\n }\n }\n /**\n * Filters\n */\n if (this.filters instanceof Object &&\n Object.keys(this.filters).length) {\n var filters = {};\n for (var i in this.filters) {\n var filter = this.filters[i];\n if (filter.getFilterType() !== Filter_3.FILTER_TYPE_QUERY) {\n filters[i] = filter.toArray();\n }\n }\n if (Object.keys(filters).length > 0) {\n array.filters = filters;\n }\n }\n /**\n * Aggregations\n */\n if (this.aggregations instanceof Object &&\n Object.keys(this.aggregations).length) {\n array.aggregations = {};\n for (var i in this.aggregations) {\n var aggregation = this.aggregations[i];\n array.aggregations[i] = aggregation.toArray();\n }\n }\n /**\n * Sort\n */\n var sort = this.sortByInstance.toArray();\n if (Object.keys(sort).length) {\n array.sort = sort;\n }\n /**\n * Page\n */\n var page = this.page;\n if (page !== exports.QUERY_DEFAULT_PAGE) {\n array.page = page;\n }\n /**\n * Size\n */\n var size = this.size;\n if (size !== exports.QUERY_DEFAULT_SIZE) {\n array.size = size;\n }\n /**\n * Booleans\n */\n if (this.resultsEnabled === false) {\n array.results_enabled = false;\n }\n if (this.autocompleteEnabled === true) {\n array.autocomplete_enabled = true;\n }\n if (this.numberOfSuggestions !== 0) {\n array.number_of_suggestions = this.numberOfSuggestions;\n }\n if (this.highlightsEnabled === true) {\n array.highlight_enabled = true;\n }\n if (this.aggregationsEnabled === false) {\n array.aggregations_enabled = false;\n }\n /**\n * Filter fields\n */\n if (this.searchableFields instanceof Array &&\n this.searchableFields.length > 0) {\n array.searchable_fields = this.searchableFields;\n }\n /**\n * Score strategies\n */\n if (this.scoreStrategies instanceof ScoreStrategies_1.ScoreStrategies) {\n var scoreStrategiesAsArray = this.scoreStrategies.toArray();\n if (Object.keys(scoreStrategiesAsArray).length > 0) {\n array.score_strategies = scoreStrategiesAsArray;\n }\n }\n if (this.fuzziness !== null) {\n array.fuzziness = this.fuzziness;\n }\n /**\n * Min score\n */\n var minScore = this.minScore;\n if (minScore !== exports.NO_MIN_SCORE) {\n array.min_score = minScore;\n }\n /**\n * User\n */\n if (this.user instanceof User_1.User) {\n array.user = this.user.toArray();\n }\n if (Object.keys(this.metadata).length > 0) {\n array.metadata = this.metadata;\n }\n if (this.subqueries instanceof Object &&\n Object.keys(this.subqueries).length) {\n array.subqueries = {};\n for (var i in this.subqueries) {\n var subquery = this.subqueries[i];\n array.subqueries[i] = subquery.toArray();\n }\n }\n if (this.indexUUID instanceof IndexUUID_1.IndexUUID) {\n array.index_uuid = this.indexUUID.toArray();\n }\n /**\n * items promoted\n */\n if (this.itemsPromoted.length > 0) {\n array.items_promoted = [];\n for (var i in this.itemsPromoted) {\n array\n .items_promoted\n .push(this.itemsPromoted[i].toArray());\n }\n }\n if (this.queryOperator !== \"or\" && this.queryOperator !== null) {\n array.query_operator = this.queryOperator;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Query}\n */\n Query.createFromArray = function (array) {\n var query = array.coordinate instanceof Object\n ? Query.createLocated(Coordinate_1.Coordinate.createFromArray(array.coordinate), array.q ? array.q : \"\", array.page ? array.page : exports.QUERY_DEFAULT_PAGE, array.size ? array.size : exports.QUERY_DEFAULT_SIZE)\n : Query.create(array.q ? array.q : \"\", array.page ? array.page : exports.QUERY_DEFAULT_PAGE, array.size ? array.size : exports.QUERY_DEFAULT_SIZE);\n query.UUID = typeof array.UUID === typeof \"\"\n ? array.UUID\n : undefined;\n /**\n * Fields\n */\n query.fields = array.fields instanceof Array\n ? array.fields\n : [];\n /**\n * Aggregations\n */\n var aggregationsAsArray = typeof array.aggregations === typeof {}\n ? array.aggregations\n : {};\n for (var i in aggregationsAsArray) {\n query.aggregations[i] = Aggregation_1.Aggregation.createFromArray(aggregationsAsArray[i]);\n }\n /**\n * Sort\n */\n var sortAsArray = typeof array.sort === typeof {}\n ? array.sort\n : {};\n if (Object.keys(sortAsArray).length > 0) {\n query.sortByInstance = SortBy_1.SortBy.createFromArray(sortAsArray);\n }\n /**\n * Filters\n */\n var filtersAsArray = typeof array.filters === typeof {}\n ? array.filters\n : {};\n for (var i in filtersAsArray) {\n query.filters[i] = Filter_1.Filter.createFromArray(filtersAsArray[i]);\n }\n /**\n * Universe Filters\n */\n var universeFiltersAsArray = typeof array.universe_filters === typeof {}\n ? array.universe_filters\n : {};\n for (var i in universeFiltersAsArray) {\n query.universeFilters[i] = Filter_1.Filter.createFromArray(universeFiltersAsArray[i]);\n }\n /**\n * Booleans\n */\n query.resultsEnabled = typeof array.results_enabled === \"boolean\"\n ? array.results_enabled\n : true;\n query.numberOfSuggestions = typeof array.number_of_suggestions === \"number\"\n ? array.number_of_suggestions\n : 0;\n query.autocompleteEnabled = typeof array.autocomplete_enabled === \"boolean\"\n ? array.autocomplete_enabled\n : false;\n query.aggregationsEnabled = typeof array.aggregations_enabled === \"boolean\"\n ? array.aggregations_enabled\n : true;\n query.highlightsEnabled = typeof array.highlight_enabled === \"boolean\"\n ? array.highlight_enabled\n : false;\n query.fuzziness = array.fuzziness ? array.fuzziness : null;\n query.minScore = array.min_score ? array.min_score : exports.NO_MIN_SCORE;\n /**\n * Items promoted\n */\n var itemsPromotedAsArray = typeof array.items_promoted === typeof {}\n ? array.items_promoted\n : {};\n for (var i in itemsPromotedAsArray) {\n query\n .itemsPromoted\n .push(ItemUUID_1.ItemUUID.createFromArray(itemsPromotedAsArray[i]));\n }\n /**\n * Subqueries\n */\n var subqueriesAsArray = typeof array.subqueries === typeof {}\n ? array.subqueries\n : {};\n for (var i in subqueriesAsArray) {\n query.subqueries[i] = Query.createFromArray(subqueriesAsArray[i]);\n }\n /**\n * Filter fields\n */\n query.metadata = typeof array.metadata === typeof {}\n ? array.metadata\n : {};\n query.searchableFields = array.searchable_fields instanceof Array\n ? array.searchable_fields\n : [];\n query.scoreStrategies = array.score_strategies instanceof Object\n ? ScoreStrategies_1.ScoreStrategies.createFromArray(array.score_strategies)\n : undefined;\n query.user = array.user instanceof Object\n ? User_1.User.createFromArray(array.user)\n : undefined;\n query.indexUUID = array.index_uuid instanceof Object\n ? IndexUUID_1.IndexUUID.createFromArray(array.index_uuid)\n : undefined;\n query.queryOperator = typeof array.query_operator === \"string\"\n ? array.query_operator\n : \"or\";\n return query;\n };\n return Query;\n}());\nexports.Query = Query;\n","\"use strict\";\nexports.__esModule = true;\nexports.Range = exports.RANGE_SEPARATOR = exports.RANGE_INFINITE = exports.RANGE_MINUS_INFINITE = void 0;\n/**\n * Aggregation constants\n */\nexports.RANGE_MINUS_INFINITE = null;\nexports.RANGE_INFINITE = null;\nexports.RANGE_SEPARATOR = \"..\";\n/**\n * Filter class\n */\nvar Range = /** @class */ (function () {\n function Range() {\n }\n /**\n * Strong to array\n *\n * @param string\n *\n * @returns {[number, number]}\n */\n Range.stringToArray = function (string) {\n var parts = string.split(exports.RANGE_SEPARATOR);\n var from = parts[0];\n var to = parts[1];\n var finalFrom = exports.RANGE_MINUS_INFINITE;\n var finalTo = exports.RANGE_INFINITE;\n if (from != \"\") {\n finalFrom = parseInt(from);\n }\n if (to != \"\") {\n finalTo = parseInt(to);\n }\n return [finalFrom, finalTo];\n };\n /**\n * Array to string\n *\n * @param values\n *\n * @return {string}\n */\n Range.arrayToString = function (values) {\n var finalValues = [\"\", \"\"];\n if (values[0] != exports.RANGE_MINUS_INFINITE) {\n finalValues[0] = String(values[0]);\n }\n if (values[1] != exports.RANGE_INFINITE) {\n finalValues[1] = String(values[1]);\n }\n return finalValues.join(exports.RANGE_SEPARATOR);\n };\n /**\n * Create ranges\n *\n * @param from\n * @param to\n * @param incremental\n */\n Range.createRanges = function (from, to, incremental) {\n var ranges = [];\n var nextTo;\n while (from < to) {\n nextTo = from + incremental;\n ranges.push(from + exports.RANGE_SEPARATOR + nextTo);\n from = nextTo;\n }\n return ranges;\n };\n return Range;\n}());\nexports.Range = Range;\n","\"use strict\";\nexports.__esModule = true;\nexports.ScoreStrategies = exports.MIN = exports.MAX = exports.AVG = exports.SUM = exports.MULTIPLY = void 0;\nvar ScoreStrategy_1 = require(\"./ScoreStrategy\");\n/**\n * ScoreStrategies constants\n */\nexports.MULTIPLY = 'multiply';\nexports.SUM = 'sum';\nexports.AVG = 'avg';\nexports.MAX = 'max';\nexports.MIN = 'min';\n/**\n * ScoreStrategies\n */\nvar ScoreStrategies = /** @class */ (function () {\n function ScoreStrategies() {\n this.scoreStrategies = [];\n }\n /**\n * Create empty\n *\n * @param scoreMode\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.createEmpty = function (scoreMode) {\n if (scoreMode === void 0) { scoreMode = exports.SUM; }\n var scoreStrategies = new ScoreStrategies;\n scoreStrategies.scoreMode = scoreMode;\n return scoreStrategies;\n };\n /**\n * Add score strategy\n *\n * @param scoreStrategy\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.prototype.addScoreStrategy = function (scoreStrategy) {\n this.scoreStrategies.push(scoreStrategy);\n return this;\n };\n /**\n * Get score strategies\n *\n * @return {ScoreStrategy[]}\n */\n ScoreStrategies.prototype.getScoreStrategies = function () {\n return this.scoreStrategies;\n };\n /**\n * Get score mode\n *\n * @return {string}\n */\n ScoreStrategies.prototype.getScoreMode = function () {\n return this.scoreMode;\n };\n /**\n * To array\n *\n * @return {{\n * score_mode: string,\n * score_strategies: any\n * }}\n */\n ScoreStrategies.prototype.toArray = function () {\n var scoreStrategiesAsArray = [];\n for (var i in this.scoreStrategies) {\n scoreStrategiesAsArray.push(this.scoreStrategies[i].toArray());\n }\n return {\n score_mode: this.scoreMode,\n score_strategies: scoreStrategiesAsArray\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var scoreStrategies = (typeof array.score_mode != \"undefined\")\n ? ScoreStrategies.createEmpty(array.score_mode)\n : ScoreStrategies.createEmpty();\n scoreStrategies.scoreStrategies = [];\n for (var i in array.score_strategies) {\n scoreStrategies\n .scoreStrategies\n .push(ScoreStrategy_1.ScoreStrategy.createFromArray(array.score_strategies[i]));\n }\n return scoreStrategies;\n };\n return ScoreStrategies;\n}());\nexports.ScoreStrategies = ScoreStrategies;\n","\"use strict\";\nexports.__esModule = true;\nexports.ScoreStrategy = exports.DEFAULT_FACTOR = exports.DEFAULT_MISSING = exports.SCORE_MODE_MIN = exports.SCORE_MODE_MAX = exports.SCORE_MODE_AVG = exports.SCORE_MODE_SUM = exports.SCORE_MODE_NONE = exports.MODIFIER_SQUARE = exports.MODIFIER_LN = exports.MODIFIER_LOG = exports.MODIFIER_SQRT = exports.MODIFIER_NONE = exports.DECAY_GAUSS = exports.DECAY_EXP = exports.DECAY_LINEAR = exports.DECAY = exports.CUSTOM_FUNCTION = exports.BOOSTING_FIELD_VALUE = exports.DEFAULT_WEIGHT = exports.DEFAULT_TYPE = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar Filter_1 = require(\"./Filter\");\n/**\n * ScoreStrategy constants\n */\nexports.DEFAULT_TYPE = 'default';\nexports.DEFAULT_WEIGHT = 1.0;\nexports.BOOSTING_FIELD_VALUE = 'field_value';\nexports.CUSTOM_FUNCTION = 'custom_function';\nexports.DECAY = 'decay';\nexports.DECAY_LINEAR = 'linear';\nexports.DECAY_EXP = 'exp';\nexports.DECAY_GAUSS = 'gauss';\nexports.MODIFIER_NONE = 'none';\nexports.MODIFIER_SQRT = 'sqrt';\nexports.MODIFIER_LOG = 'log';\nexports.MODIFIER_LN = 'ln';\nexports.MODIFIER_SQUARE = 'square';\nexports.SCORE_MODE_NONE = 'none';\nexports.SCORE_MODE_SUM = 'sum';\nexports.SCORE_MODE_AVG = 'avg';\nexports.SCORE_MODE_MAX = 'max';\nexports.SCORE_MODE_MIN = 'min';\nexports.DEFAULT_MISSING = 1.0;\nexports.DEFAULT_FACTOR = 1.0;\n/**\n * ScoreStrategy\n */\nvar ScoreStrategy = /** @class */ (function () {\n function ScoreStrategy() {\n this.type = exports.DEFAULT_TYPE;\n this.filter = null;\n this.weight = exports.DEFAULT_WEIGHT;\n this.scoreMode = exports.SCORE_MODE_AVG;\n this.configuration = {};\n }\n /**\n * Get type\n *\n * @returns {string}\n */\n ScoreStrategy.prototype.getType = function () {\n return this.type;\n };\n /**\n * Get configuration value\n *\n * @returns {string}\n */\n ScoreStrategy.prototype.getConfigurationValue = function (element) {\n if (typeof this.configuration[element] == \"undefined\") {\n return null;\n }\n return this.configuration[element];\n };\n /**\n * Get weight.\n *\n * @return {number}\n */\n ScoreStrategy.prototype.getWeight = function () {\n return this.weight;\n };\n /**\n * Get score mode.\n *\n * @return {string}\n */\n ScoreStrategy.prototype.getScoreMode = function () {\n return this.scoreMode;\n };\n /**\n * Get filter.\n *\n * @return {Filter}\n */\n ScoreStrategy.prototype.getFilter = function () {\n return this.filter;\n };\n /**\n * Create default\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createDefault = function () {\n return new ScoreStrategy();\n };\n /**\n * Create field boosting\n *\n * @param field\n * @param factor\n * @param missing\n * @param modifier\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createFieldBoosting = function (field, factor, missing, modifier, weight, filter, scoreMode) {\n if (factor === void 0) { factor = exports.DEFAULT_FACTOR; }\n if (missing === void 0) { missing = exports.DEFAULT_MISSING; }\n if (modifier === void 0) { modifier = exports.MODIFIER_NONE; }\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.BOOSTING_FIELD_VALUE;\n scoreStrategy.configuration['field'] = field;\n scoreStrategy.configuration['factor'] = factor;\n scoreStrategy.configuration['missing'] = missing;\n scoreStrategy.configuration['modifier'] = modifier;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Create custom function\n *\n * @param func\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createCustomFunction = function (func, weight, filter, scoreMode) {\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.CUSTOM_FUNCTION;\n scoreStrategy.configuration['function'] = func;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Create decay function\n *\n * @param type\n * @param field\n * @param origin\n * @param scale\n * @param offset\n * @param decay\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createDecayFunction = function (type, field, origin, scale, offset, decay, weight, filter, scoreMode) {\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.DECAY;\n scoreStrategy.configuration['type'] = type;\n scoreStrategy.configuration['field'] = field;\n scoreStrategy.configuration['origin'] = origin;\n scoreStrategy.configuration['scale'] = scale;\n scoreStrategy.configuration['offset'] = offset;\n scoreStrategy.configuration['decay'] = decay;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Fix filter path.\n *\n * @param filter\n *\n * @return {Filter}\n */\n ScoreStrategy.fixFilterFieldPath = function (filter) {\n if (filter == null) {\n return filter;\n }\n var filterAsArray = filter.toArray();\n filterAsArray['field'] = Item_1.Item.getPathByField(filterAsArray['field']);\n return Filter_1.Filter.createFromArray(filterAsArray);\n };\n /**\n * To array\n *\n * @return {{\n * type: string,\n * configuration: any,\n * weight: number,\n * score_mode: string,\n * filter: any\n * }}\n */\n ScoreStrategy.prototype.toArray = function () {\n return {\n type: this.type,\n configuration: this.configuration,\n weight: this.weight,\n score_mode: this.scoreMode,\n filter: this.filter instanceof Filter_1.Filter\n ? this.filter.toArray()\n : null\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var scoreStrategy = ScoreStrategy.createDefault();\n if (typeof array.type != \"undefined\") {\n scoreStrategy.type = array.type;\n }\n if (typeof array.configuration != \"undefined\") {\n scoreStrategy.configuration = array.configuration;\n }\n if (typeof array.weight != \"undefined\") {\n scoreStrategy.weight = array.weight;\n }\n if (typeof array.score_mode != \"undefined\") {\n scoreStrategy.scoreMode = array.score_mode;\n }\n if (typeof array.filter === 'object' && array.filter !== null) {\n scoreStrategy.filter = Filter_1.Filter.createFromArray(array.filter);\n }\n return scoreStrategy;\n };\n return ScoreStrategy;\n}());\nexports.ScoreStrategy = ScoreStrategy;\n","\"use strict\";\nexports.__esModule = true;\nexports.SortBy = exports.SORT_BY_LOCATION_MI_ASC = exports.SORT_BY_LOCATION_KM_ASC = exports.SORT_BY_TYPE_DESC = exports.SORT_BY_TYPE_ASC = exports.SORT_BY_ID_DESC = exports.SORT_BY_ID_ASC = exports.SORT_BY_AL_TUN_TUN = exports.SORT_BY_RANDOM = exports.SORT_BY_SCORE = exports.SORT_BY_MODE_MEDIAN = exports.SORT_BY_MODE_MAX = exports.SORT_BY_MODE_MIN = exports.SORT_BY_MODE_SUM = exports.SORT_BY_MODE_AVG = exports.SORT_BY_DESC = exports.SORT_BY_ASC = exports.SORT_BY_TYPE_RANDOM = exports.SORT_BY_TYPE_FUNCTION = exports.SORT_BY_TYPE_DISTANCE = exports.SORT_BY_TYPE_SCORE = exports.SORT_BY_TYPE_NESTED = exports.SORT_BY_TYPE_FIELD = void 0;\nvar __1 = require(\"..\");\nvar Filter_1 = require(\"./Filter\");\n/**\n export * Sort by constants\n */\nexports.SORT_BY_TYPE_FIELD = 'field';\nexports.SORT_BY_TYPE_NESTED = 'nested';\nexports.SORT_BY_TYPE_SCORE = 'score';\nexports.SORT_BY_TYPE_DISTANCE = 'distance';\nexports.SORT_BY_TYPE_FUNCTION = 'function';\nexports.SORT_BY_TYPE_RANDOM = 'random';\nexports.SORT_BY_ASC = \"asc\";\nexports.SORT_BY_DESC = \"desc\";\nexports.SORT_BY_MODE_AVG = \"avg\";\nexports.SORT_BY_MODE_SUM = \"sum\";\nexports.SORT_BY_MODE_MIN = \"min\";\nexports.SORT_BY_MODE_MAX = \"max\";\nexports.SORT_BY_MODE_MEDIAN = \"median\";\nexports.SORT_BY_SCORE = {\n type: exports.SORT_BY_TYPE_SCORE,\n};\nexports.SORT_BY_RANDOM = {\n type: exports.SORT_BY_TYPE_RANDOM,\n};\nexports.SORT_BY_AL_TUN_TUN = exports.SORT_BY_RANDOM;\nexports.SORT_BY_ID_ASC = {\n field: \"uuid.id\",\n order: exports.SORT_BY_ASC\n};\nexports.SORT_BY_ID_DESC = {\n field: \"uuid.id\",\n order: exports.SORT_BY_DESC\n};\nexports.SORT_BY_TYPE_ASC = {\n field: \"uuid.type\",\n order: exports.SORT_BY_ASC\n};\nexports.SORT_BY_TYPE_DESC = {\n field: \"uuid.type\",\n order: exports.SORT_BY_DESC\n};\nexports.SORT_BY_LOCATION_KM_ASC = {\n type: exports.SORT_BY_TYPE_DISTANCE,\n unit: \"km\"\n};\nexports.SORT_BY_LOCATION_MI_ASC = {\n type: exports.SORT_BY_TYPE_DISTANCE,\n unit: \"mi\"\n};\n/**\n * ScoreStrategy\n */\nvar SortBy = /** @class */ (function () {\n function SortBy() {\n this.sortsBy = [];\n }\n /**\n * Create\n *\n * @return {SortBy}\n */\n SortBy.create = function () {\n return new SortBy;\n };\n /**\n * Sort By fields values\n *\n * @param shortSortByElements\n *\n * @return {SortBy}\n */\n SortBy.byFieldsValues = function (shortSortByElements) {\n var sortBy = SortBy.create();\n for (var key in shortSortByElements) {\n sortBy.byFieldValue(key, shortSortByElements[key]);\n }\n return sortBy;\n };\n /**\n * All\n *\n * @return {Array}\n */\n SortBy.prototype.all = function () {\n return this.sortsBy.length > 0\n ? this.sortsBy\n : [exports.SORT_BY_SCORE];\n };\n /**\n * Sort by value\n *\n * @param value\n *\n * @return {SortBy}\n */\n SortBy.prototype.byValue = function (value) {\n if (exports.SORT_BY_SCORE != value &&\n exports.SORT_BY_RANDOM != value) {\n if (typeof value.type == \"undefined\") {\n value.type = exports.SORT_BY_TYPE_FIELD;\n }\n }\n if (exports.SORT_BY_SCORE != value) {\n this.sortsBy.push(value);\n }\n return this;\n };\n /**\n * Sort by field value\n *\n * @param field\n * @param order\n *\n * @return {SortBy}\n */\n SortBy.prototype.byFieldValue = function (field, order) {\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_FIELD,\n field: __1.Item.getPathByField(field),\n order: order\n });\n return this;\n };\n /**\n * Sort by nested field\n *\n * @param field\n * @param order\n * @param mode\n *\n * @return {SortBy}\n */\n SortBy.prototype.byNestedField = function (field, order, mode) {\n if (mode === void 0) { mode = exports.SORT_BY_MODE_AVG; }\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_NESTED,\n mode: mode,\n field: 'indexed_metadata.' + field,\n order: order\n });\n return this;\n };\n /**\n * Sort by nested field and filter\n *\n * @param field\n * @param order\n * @param filter\n * @param mode\n *\n * @return {SortBy}\n */\n SortBy.prototype.byNestedFieldAndFilter = function (field, order, filter, mode) {\n if (mode === void 0) { mode = exports.SORT_BY_MODE_AVG; }\n var fieldPath = __1.Item.getPathByField(filter.getField());\n var filterAsArray = filter.toArray();\n filterAsArray.field = fieldPath;\n filter = Filter_1.Filter.createFromArray(filterAsArray);\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_NESTED,\n mode: mode,\n filter: filter,\n field: 'indexed_metadata.' + field,\n order: order\n });\n return this;\n };\n /**\n * Sort by function\n *\n * @param func\n * @param order\n *\n * @return {SortBy}\n */\n SortBy.prototype.byFunction = function (func, order) {\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_FUNCTION,\n \"function\": func,\n order: order\n });\n return this;\n };\n /**\n * Is sorted by geo distance\n *\n * @return {boolean}\n */\n SortBy.prototype.isSortedByGeoDistance = function () {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_DISTANCE) {\n return true;\n }\n }\n return false;\n };\n /**\n * Set coordinate\n *\n * @param coordinate\n *\n * @return {SortBy}\n */\n SortBy.prototype.setCoordinate = function (coordinate) {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_DISTANCE) {\n this.sortsBy[i].coordinate = coordinate;\n }\n }\n return this;\n };\n /**\n * Has random sort\n *\n * @return {boolean}\n */\n SortBy.prototype.hasRandomSort = function () {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_RANDOM) {\n return true;\n }\n }\n return false;\n };\n /**\n * get first sort value as string\n *\n * @return {string}\n */\n SortBy.prototype.getFirstSortAsString = function () {\n if (this.sortsBy[0] === undefined) {\n return 'score';\n }\n var firstSortBy = this.sortsBy[0];\n if (firstSortBy.type === exports.SORT_BY_TYPE_RANDOM) {\n return 'random';\n }\n if (firstSortBy.type === exports.SORT_BY_TYPE_DISTANCE) {\n return firstSortBy.type + ':' + firstSortBy.unit;\n }\n if (firstSortBy.type === exports.SORT_BY_TYPE_SCORE) {\n return 'score';\n }\n var field = firstSortBy.field;\n var order = firstSortBy.order;\n var fieldParts = field.split('.');\n return fieldParts[1] + ':' + order;\n };\n /**\n * To array\n *\n * @return {[]}\n */\n SortBy.prototype.toArray = function () {\n var copySortBy = this.copy();\n var sortsByAsArray = copySortBy.sortsBy;\n for (var i in sortsByAsArray) {\n if (typeof sortsByAsArray[i].filter === typeof {} &&\n sortsByAsArray[i].filter != null) {\n sortsByAsArray[i].filter = sortsByAsArray[i].filter.toArray();\n }\n if (sortsByAsArray[i].coordinate !== null &&\n sortsByAsArray[i].coordinate instanceof __1.Coordinate) {\n sortsByAsArray[i].coordinate = sortsByAsArray[i].coordinate.toArray();\n }\n }\n return sortsByAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {SortBy}\n */\n SortBy.createFromArray = function (array) {\n var innerArray = JSON.parse(JSON.stringify(array));\n var sortBy = SortBy.create();\n for (var i in innerArray) {\n var element = innerArray[i];\n if (typeof element.type == \"undefined\") {\n element.type = exports.SORT_BY_TYPE_FIELD;\n }\n if (typeof element.filter === typeof {} &&\n element.filter != null) {\n element.filter = Filter_1.Filter.createFromArray(element.filter);\n }\n if (element.coordinate != null &&\n typeof element.coordinate === typeof {}) {\n element.coordinate = __1.Coordinate.createFromArray(element.coordinate);\n }\n sortBy.sortsBy.push(element);\n }\n return sortBy;\n };\n /**\n * Make a copy of this\n *\n * @returns {SortBy}\n */\n SortBy.prototype.copy = function () {\n var newSortBy = SortBy.create();\n for (var i in this.sortsBy) {\n var sortBy = this.sortsBy[i];\n if (typeof sortBy !== \"function\") {\n var sortByAsArray = JSON.parse(JSON.stringify(sortBy));\n if (typeof sortBy.filter === typeof {} &&\n sortBy.filter != null) {\n sortByAsArray.filter = Filter_1.Filter.createFromArray(sortBy.filter.toArray());\n }\n if (sortBy.coordinate != null &&\n typeof sortBy.coordinate == typeof {}) {\n sortByAsArray.coordinate = __1.Coordinate.createFromArray(sortBy.coordinate.toArray());\n }\n newSortBy.sortsBy.push(sortByAsArray);\n }\n }\n return newSortBy;\n };\n return SortBy;\n}());\nexports.SortBy = SortBy;\n","\"use strict\";\nexports.__esModule = true;\nexports.HttpRepository = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ConnectionError_1 = require(\"../Error/ConnectionError\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar InvalidTokenError_1 = require(\"../Error/InvalidTokenError\");\nvar ResourceExistsError_1 = require(\"../Error/ResourceExistsError\");\nvar ResourceNotAvailableError_1 = require(\"../Error/ResourceNotAvailableError\");\nvar UnknownError_1 = require(\"../Error/UnknownError\");\nvar Response_1 = require(\"../Http/Response\");\nvar Index_1 = require(\"../Model/Index\");\nvar Item_1 = require(\"../Model/Item\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\nvar Result_1 = require(\"../Result/Result\");\nvar Repository_1 = require(\"./Repository\");\n/**\n * Aggregation class\n */\nvar HttpRepository = /** @class */ (function (_super) {\n tslib_1.__extends(HttpRepository, _super);\n /**\n * Constructor\n *\n * @param httpClient\n * @param appId\n * @param indexId\n * @param token\n * @param transformer\n */\n function HttpRepository(httpClient, appId, indexId, token, transformer) {\n var _this = _super.call(this, appId, indexId, token) || this;\n _this.httpClient = httpClient;\n _this.transformer = transformer;\n return _this;\n }\n /**\n * Get transformer\n *\n * @return {Transformer}\n */\n HttpRepository.prototype.getTransformer = function () {\n return this.transformer;\n };\n /**\n * Generate item document by a simple object.\n *\n * @param object\n *\n * @returns {void}\n */\n HttpRepository.prototype.addObject = function (object) {\n var item = this\n .transformer\n .toItem(object);\n if (item instanceof Item_1.Item) {\n this.addItem(item);\n }\n };\n /**\n * Delete item document by uuid.\n *\n * @param object\n *\n * @returns {void}\n */\n HttpRepository.prototype.deleteObject = function (object) {\n var itemUUID = this\n .transformer\n .toItemUUID(object);\n if (itemUUID instanceof ItemUUID_1.ItemUUID) {\n this.deleteItem(itemUUID);\n }\n };\n /**\n * Flush update items\n *\n * @param {Item[]} itemsToUpdate\n *\n * @return {Promise}\n */\n HttpRepository.prototype.flushUpdateItems = function (itemsToUpdate) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_1;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (itemsToUpdate.length === 0) {\n return [2 /*return*/];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items\", \"put\", this.getCredentials(), {}, itemsToUpdate.map(function (item) {\n return item.toArray();\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_1 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_1);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Flush delete items\n *\n * @param {ItemUUID[]} itemsToDelete\n *\n * @return {Promise}\n */\n HttpRepository.prototype.flushDeleteItems = function (itemsToDelete) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_2;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (itemsToDelete.length === 0) {\n return [2 /*return*/];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items\", \"delete\", this.getCredentials(), {}, itemsToDelete.map(function (itemUUID) {\n return itemUUID.toArray();\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_2 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_2);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Query\n *\n * @param {Query} query\n *\n * @return {Promise}\n */\n HttpRepository.prototype.query = function (query) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_3, result, _a, _b;\n return tslib_1.__generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId, \"get\", this.getCredentials(), {\n query: JSON.stringify(query.optimize().toArray())\n .replace(/&/g, \"%26\"),\n }, {})];\n case 1:\n response = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n response_3 = _c.sent();\n throw HttpRepository.createErrorFromResponse(response_3);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n result = this.applyTransformersToResult(result);\n if (!(typeof globalThis !== \"undefined\" &&\n typeof globalThis.apisearchItemsTransformation === \"function\")) return [3 /*break*/, 5];\n _b = (_a = result).withItems;\n return [4 /*yield*/, globalThis.apisearchItemsTransformation(result.getItems())];\n case 4:\n _b.apply(_a, [_c.sent()]);\n _c.label = 5;\n case 5: return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Get similar items\n *\n * @param {Query} query\n * @param {ItemUUID[]} itemUUIDs\n * @param {number} similarity\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getSimilarItems = function (query, itemUUIDs, similarity) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_4, result;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + '/similar-items', \"get\", this.getCredentials(), {}, {\n query: query.toArray(),\n items_uuid: itemUUIDs.map(function (itemUUID) {\n return itemUUID.toArray();\n }),\n similarity: similarity,\n })];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_4 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_4);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n return [2 /*return*/, this.applyTransformersToResult(result)];\n }\n });\n });\n };\n /**\n * Get recommended items\n *\n * @param {Query} query\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getRecommendedItems = function (query) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_5, result;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + '/recommended-items', \"get\", this.getCredentials(), {}, query.toArray())];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_5 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_5);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n return [2 /*return*/, this.applyTransformersToResult(result)];\n }\n });\n });\n };\n /**\n * Update items\n *\n * @param {Query} query\n * @param {Changes} changes\n *\n * @return {Promise}\n */\n HttpRepository.prototype.updateItems = function (query, changes) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_6;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items/update-by-query\", \"put\", this.getCredentials(), {}, {\n changes: changes.toArray(),\n query: query.toArray(),\n })];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_6 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_6);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Create index\n *\n * @param {IndexUUID} indexUUID\n * @param {Config} config\n *\n * @return {Promise}\n */\n HttpRepository.prototype.createIndex = function (indexUUID, config) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_7;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"put\", this.getCredentials(), {}, config.toArray())];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_7 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_7);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Delete index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.deleteIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_8;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"delete\", this.getCredentials(), {}, {})];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_8 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_8);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Reset index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.resetIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_9;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/reset\", \"put\", this.getCredentials(), {}, {})];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_9 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_9);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Check index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.checkIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_10;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"head\", this.getCredentials(), {}, {})];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_10 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_10);\n case 3: return [2 /*return*/, response.getCode() === 200];\n }\n });\n });\n };\n /**\n * Check index\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getIndices = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_11, result, _i, _a, indexAsArray;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\", \"get\", this.getCredentials(), {}, {})];\n case 1:\n response = _b.sent();\n return [3 /*break*/, 3];\n case 2:\n response_11 = _b.sent();\n throw HttpRepository.createErrorFromResponse(response_11);\n case 3:\n result = [];\n for (_i = 0, _a = response.getBody(); _i < _a.length; _i++) {\n indexAsArray = _a[_i];\n result.push(Index_1.Index.createFromArray(indexAsArray));\n }\n return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Configure index\n *\n * @param {IndexUUID} indexUUID\n * @param {Config} config\n *\n * @return {Promise}\n */\n HttpRepository.prototype.configureIndex = function (indexUUID, config) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_12;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/configure\", \"put\", this.getCredentials(), {}, config.toArray())];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_12 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_12);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @param indexUUID\n * @param itemUUID\n * @param userId\n * @param queryString\n * @param interaction\n * @param site\n * @param device\n * @param position\n */\n HttpRepository.prototype.pushInteraction = function (indexUUID, itemUUID, userId, queryString, interaction, site, device, position) {\n if (site === void 0) { site = null; }\n if (device === void 0) { device = null; }\n if (position === void 0) { position = 0; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var parameters, response_13;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n parameters = {\n query_string: queryString,\n site: site,\n device: device,\n user_id: userId,\n position: position,\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/items/\" + itemUUID.composedUUID() + \"/interaction/\" + interaction, \"post\", {\n token: this.token,\n }, parameters, {})];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_13 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_13);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @param {IndexUUID} indexUUID\n * @param {string} userId\n * @param {ItemUUID[]} itemUUIDs\n * @param {string} site\n * @param {string} device\n *\n * @return {Promise}\n */\n HttpRepository.prototype.purchase = function (indexUUID, userId, itemUUIDs, site, device) {\n if (site === void 0) { site = null; }\n if (device === void 0) { device = null; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var parameters, response_14;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n parameters = {\n site: site,\n device: device,\n user_id: userId,\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/purchase\", \"post\", {\n token: this.token,\n }, parameters, {\n items_uuid: itemUUIDs.map(function (itemUUID) {\n return itemUUID.toArray();\n }),\n })];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_14 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_14);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n *\n */\n HttpRepository.prototype.getHttpClient = function () {\n return this.httpClient;\n };\n /**\n * Get query values\n *\n * @returns any\n */\n HttpRepository.prototype.getCredentials = function () {\n return {\n app_id: this.appId,\n token: this.token,\n };\n };\n /**\n * Apply transformers to results\n *\n * @param {Result} result\n *\n * @return {Result}\n */\n HttpRepository.prototype.applyTransformersToResult = function (result) {\n if (!this.transformer.hasReadTransformers()) {\n return result;\n }\n var subresults = result.getSubresults();\n if (Object.keys(subresults).length > 0) {\n Object.keys(subresults).map(function (key) {\n subresults[key] = this.applyTransformersToResult(subresults[key]);\n }.bind(this));\n return Result_1.Result.createMultiresults(subresults);\n }\n return Result_1.Result.create(result.getQueryUUID(), result.getTotalItems(), result.getTotalHits(), result.getAggregations(), result.getSuggestions(), this\n .transformer\n .fromItems(result.getItems()), result.getAutocomplete());\n };\n /**\n * @param response\n * @private\n */\n HttpRepository.createErrorFromResponse = function (response) {\n var error;\n if (response instanceof Response_1.Response) {\n switch (response.getCode()) {\n case ResourceNotAvailableError_1.ResourceNotAvailableError.getTransportableHTTPError():\n error = new ResourceNotAvailableError_1.ResourceNotAvailableError(response.getBody().message);\n break;\n case InvalidTokenError_1.InvalidTokenError.getTransportableHTTPError():\n error = new InvalidTokenError_1.InvalidTokenError(response.getBody().message);\n break;\n case InvalidFormatError_1.InvalidFormatError.getTransportableHTTPError():\n error = new InvalidFormatError_1.InvalidFormatError(response.getBody().message);\n break;\n case ResourceExistsError_1.ResourceExistsError.getTransportableHTTPError():\n error = new ResourceExistsError_1.ResourceExistsError(response.getBody().message);\n break;\n case ConnectionError_1.ConnectionError.getTransportableHTTPError():\n error = new ConnectionError_1.ConnectionError(response.getBody().message);\n break;\n }\n }\n return undefined === error\n ? UnknownError_1.UnknownError.createUnknownError()\n : error;\n };\n return HttpRepository;\n}(Repository_1.Repository));\nexports.HttpRepository = HttpRepository;\n","\"use strict\";\nexports.__esModule = true;\nexports.Repository = void 0;\nvar tslib_1 = require(\"tslib\");\n/**\n * Aggregation class\n */\nvar Repository = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param appId\n * @param indexId\n * @param token\n */\n function Repository(appId, indexId, token) {\n this.itemsToUpdate = [];\n this.itemsToDelete = [];\n this.appId = appId;\n this.indexId = indexId;\n this.token = token;\n }\n /**\n * Reset cached elements\n */\n Repository.prototype.resetCachedElements = function () {\n this.itemsToUpdate = [];\n this.itemsToDelete = [];\n };\n /**\n * Add element\n *\n * @param item\n */\n Repository.prototype.addItem = function (item) {\n this.itemsToUpdate.push(item);\n };\n /**\n * Add elements\n *\n * @param items\n */\n Repository.prototype.addItems = function (items) {\n for (var i in items) {\n this.addItem(items[i]);\n }\n };\n /**\n * Delete item\n *\n * @param itemUUID\n */\n Repository.prototype.deleteItem = function (itemUUID) {\n this.itemsToDelete.push(itemUUID);\n };\n /**\n * Delete items\n *\n * @param itemsUUID\n */\n Repository.prototype.deleteItems = function (itemsUUID) {\n for (var i in itemsUUID) {\n this.deleteItem(itemsUUID[i]);\n }\n };\n /**\n * flush\n *\n * @param bulkNumber\n * @param skipIfLess\n *\n * @return {Promise}\n */\n Repository.prototype.flush = function (bulkNumber, skipIfLess) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var promise, resetCachedElements;\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n if (!bulkNumber) {\n bulkNumber = 500;\n }\n if (!skipIfLess) {\n skipIfLess = false;\n }\n if (skipIfLess &&\n this.itemsToUpdate.length < bulkNumber) {\n return [2 /*return*/];\n }\n promise = Promise.all(Repository\n .chunkArray(this.itemsToUpdate, bulkNumber)\n .map(function (arrayOfItems) {\n return _this.flushUpdateItems(arrayOfItems);\n })\n .concat(Repository\n .chunkArray(this.itemsToDelete, bulkNumber)\n .map(function (arrayOfItemsUUID) {\n return _this.flushDeleteItems(arrayOfItemsUUID);\n })));\n resetCachedElements = function () {\n _this.resetCachedElements();\n };\n promise.then(resetCachedElements, resetCachedElements);\n return [2 /*return*/, promise];\n });\n });\n };\n /**\n * Make chunks of n elements\n *\n * @param array\n * @param chunk\n *\n * @return any[]\n */\n Repository.chunkArray = function (array, chunk) {\n var arrayChunked = [];\n for (var i = 0, j = array.length; i < j; i += chunk) {\n arrayChunked.push(array.slice(i, i + chunk));\n }\n return arrayChunked;\n };\n return Repository;\n}());\nexports.Repository = Repository;\n","\"use strict\";\nexports.__esModule = true;\nexports.Counter = void 0;\nvar Metadata_1 = require(\"../Model/Metadata\");\n/**\n * Aggregation class\n */\nvar Counter = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param values\n * @param used\n * @param n\n */\n function Counter(values, used, n) {\n this.values = values;\n this.used = used;\n this.n = n;\n }\n /**\n * Get id\n *\n * @return {string|null}\n */\n Counter.prototype.getId = function () {\n return typeof this.values.id == \"string\"\n ? this.values.id\n : null;\n };\n /**\n * Get name\n *\n * @return {string|null}\n */\n Counter.prototype.getName = function () {\n return typeof this.values.name == \"string\"\n ? this.values.name\n : null;\n };\n /**\n * Get slug\n *\n * @return {string|null}\n */\n Counter.prototype.getSlug = function () {\n return typeof this.values.slug == \"string\"\n ? this.values.slug\n : null;\n };\n /**\n * Get level\n *\n * @return {number}\n */\n Counter.prototype.getLevel = function () {\n return typeof this.values.level == \"number\"\n ? this.values.level\n : 0;\n };\n /**\n * Get values\n *\n * @returns {{}}\n */\n Counter.prototype.getValues = function () {\n return this.values;\n };\n /**\n * Is used\n *\n * @returns {boolean}\n */\n Counter.prototype.isUsed = function () {\n return this.used;\n };\n /**\n * Get N\n *\n * @returns {number}\n */\n Counter.prototype.getN = function () {\n return this.n;\n };\n /**\n * Create by active elements\n *\n * @param name\n * @param n\n * @param activeElements\n */\n Counter.createByActiveElements = function (name, n, activeElements) {\n var values = Metadata_1.Metadata.fromMetadata(name);\n if (values == null) {\n return null;\n }\n var i = activeElements.length;\n var inActiveElements = false;\n while (i--) {\n if (activeElements[i] == values.id) {\n inActiveElements = true;\n }\n }\n return new Counter(values, inActiveElements, n);\n };\n /**\n * To array\n *\n * @return {{}}\n */\n Counter.prototype.toArray = function () {\n var values = {\n values: this.values,\n n: this.n,\n };\n if (this.used === true) {\n values.used = true;\n }\n return values;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {Counter}\n */\n Counter.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new Counter(array.values, (typeof array.used == \"boolean\")\n ? array.used\n : false, array.n);\n };\n return Counter;\n}());\nexports.Counter = Counter;\n","\"use strict\";\nexports.__esModule = true;\nexports.Result = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar ResultAggregations_1 = require(\"./ResultAggregations\");\n/**\n * Result class\n */\nvar Result = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param queryUUID\n * @param totalItems\n * @param totalHits\n */\n function Result(queryUUID, totalItems, totalHits) {\n this.items = [];\n this.autocomplete = null;\n this.suggestions = [];\n this.subresults = {};\n this.metadata = {};\n this.queryUUID = queryUUID;\n this.totalItems = totalItems;\n this.totalHits = totalHits;\n }\n /**\n * @param queryUUID\n * @param totalItems\n * @param totalHits\n * @param aggregations\n * @param suggestions\n * @param items\n * @param autocomplete\n * @param metadata\n */\n Result.create = function (queryUUID, totalItems, totalHits, aggregations, suggestions, items, autocomplete, metadata) {\n if (autocomplete === void 0) { autocomplete = null; }\n if (metadata === void 0) { metadata = {}; }\n var result = new Result(queryUUID, totalItems, totalHits);\n result.aggregations = aggregations;\n result.suggestions = suggestions;\n result.items = items;\n result.autocomplete = autocomplete;\n result.metadata = metadata;\n return result;\n };\n /**\n * Create multi results\n *\n * @param subresults\n *\n * @returns {Result}\n */\n Result.createMultiresults = function (subresults) {\n var result = new Result('', 0, 0);\n result.subresults = subresults;\n return result;\n };\n /**\n * Add item\n *\n * @param item\n */\n Result.prototype.addItem = function (item) {\n this.items.push(item);\n };\n /**\n * Get items\n *\n * @return {Item[]}\n */\n Result.prototype.getItems = function () {\n return this.items;\n };\n /**\n * @param items\n */\n Result.prototype.withItems = function (items) {\n this.items = items;\n };\n /**\n * Get items grouped by types\n *\n * @return {any[]}\n */\n Result.prototype.getItemsGroupedByTypes = function () {\n if (this.itemsGroupedByTypeCache instanceof Object &&\n Object.keys(this.itemsGroupedByTypeCache).length > 0) {\n return this.itemsGroupedByTypeCache;\n }\n var itemsGroupedByTypes = {};\n for (var i in this.items) {\n var item = this.items[i];\n if (!(itemsGroupedByTypes[item.getType()] instanceof Array)) {\n itemsGroupedByTypes[item.getType()] = [];\n }\n itemsGroupedByTypes[item.getType()].push(item);\n }\n this.itemsGroupedByTypeCache = itemsGroupedByTypes;\n return itemsGroupedByTypes;\n };\n /**\n * Get items by type\n *\n * @param type\n *\n * @return {Array}\n */\n Result.prototype.getItemsByType = function (type) {\n var itemsGroupedByTypes = this.getItemsGroupedByTypes();\n return itemsGroupedByTypes[type] == null\n ? []\n : itemsGroupedByTypes[type];\n };\n /**\n * Get items by types\n *\n * @param types\n */\n Result.prototype.getItemsByTypes = function (types) {\n return this.items.filter(function (item) { return types.indexOf(item.getType()) >= 0; });\n };\n /**\n * Get first item\n *\n * @return {Item}\n */\n Result.prototype.getFirstItem = function () {\n return this.items.length > 0\n ? this.items[0]\n : null;\n };\n /**\n * Set aggregations\n *\n * @param aggregations\n */\n Result.prototype.setAggregations = function (aggregations) {\n this.aggregations = aggregations;\n };\n /**\n * Get aggregations\n *\n * @return {ResultAggregations}\n */\n Result.prototype.getAggregations = function () {\n return this.aggregations instanceof ResultAggregations_1.ResultAggregations\n ? this.aggregations\n : null;\n };\n /**\n * Get aggregation\n *\n * @param name\n *\n * @return {null}\n */\n Result.prototype.getAggregation = function (name) {\n return this.aggregations == null\n ? null\n : this.aggregations.getAggregation(name);\n };\n /**\n * Has no empty aggregation\n *\n * @param name\n *\n * @return {boolean}\n */\n Result.prototype.hasNotEmptyAggregation = function (name) {\n return this.aggregations == null\n ? false\n : this.aggregations.hasNotEmptyAggregation(name);\n };\n /**\n * Get suggestions\n *\n * @return {string[]}\n */\n Result.prototype.getSuggestions = function () {\n return this.suggestions;\n };\n /**\n * Get autocomplete\n *\n * @return {string|null}\n */\n Result.prototype.getAutocomplete = function () {\n return this.autocomplete;\n };\n /**\n * Get query uuid\n *\n * @return {string}\n */\n Result.prototype.getQueryUUID = function () {\n return this.queryUUID;\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n Result.prototype.getTotalItems = function () {\n return this.totalItems;\n };\n /**\n * Get total hits\n *\n * @return {number}\n */\n Result.prototype.getTotalHits = function () {\n return this.totalHits;\n };\n /**\n * Get subresults\n *\n * @return Object\n */\n Result.prototype.getSubresults = function () {\n return this.subresults;\n };\n /**\n * @return any\n */\n Result.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * @param name\n */\n Result.prototype.getMetadataValue = function (name) {\n var _a;\n return (_a = this.metadata[name]) !== null && _a !== void 0 ? _a : null;\n };\n /**\n * to array\n *\n * @return {{query: any, total_items: number, total_hits: number, items:any[], aggregations: any, suggestions: string[]}}\n */\n Result.prototype.toArray = function () {\n var array = {\n query_uuid: this.queryUUID,\n total_items: this.totalItems,\n total_hits: this.totalHits,\n items: this.items.map(function (item) { return item.toArray(); }),\n aggregations: this.aggregations == null\n ? null\n : this.aggregations.toArray(),\n suggests: this.suggestions,\n autocomplete: this.autocomplete === null\n ? undefined\n : this.autocomplete,\n metadata: this.metadata,\n };\n if (this.subresults instanceof Object &&\n Object.keys(this.subresults).length) {\n array.subresults = {};\n for (var i in this.subresults) {\n var subresult = this.subresults[i];\n array.subresults[i] = subresult.toArray();\n }\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {Result}\n */\n Result.createFromArray = function (array) {\n var result = Result.create(array.query_uuid\n ? array.query_uuid\n : '', array.total_items\n ? array.total_items\n : 0, array.total_hits\n ? array.total_hits\n : 0, array.aggregations instanceof Object\n ? ResultAggregations_1.ResultAggregations.createFromArray(array.aggregations)\n : null, array.suggests\n ? array.suggests\n : [], array.items instanceof Array\n ? array.items.map(function (itemAsArray) { return Item_1.Item.createFromArray(itemAsArray); })\n : [], array.autocomplete === undefined\n ? null\n : array.autocomplete, array.metadata === undefined\n ? {}\n : array.metadata);\n /**\n * Subqueries\n */\n var subresultsAsArray = typeof array.subresults === typeof {}\n ? array.subresults\n : {};\n for (var i in subresultsAsArray) {\n result.subresults[i] = Result.createFromArray(subresultsAsArray[i]);\n }\n return result;\n };\n return Result;\n}());\nexports.Result = Result;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResultAggregation = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Filter_1 = require(\"../Query/Filter\");\nvar Counter_1 = require(\"./Counter\");\n/**\n * ResultAggregation class\n */\nvar ResultAggregation = /** @class */ (function () {\n /**\n * @param name\n * @param applicationType\n * @param totalElements\n * @param activeElements\n * @param metadata\n */\n function ResultAggregation(name, applicationType, totalElements, activeElements, metadata) {\n if (metadata === void 0) { metadata = {}; }\n this.counters = {};\n this.highestActiveElement = 0;\n this.name = name;\n this.applicationType = applicationType;\n this.totalElements = totalElements;\n this.activeElements = {};\n this.metadata = metadata;\n for (var i in activeElements) {\n var activeElement = activeElements[i];\n this.activeElements[activeElement] = activeElement;\n }\n }\n /**\n * Add counter\n *\n * @param name\n * @param counter\n */\n ResultAggregation.prototype.addCounter = function (name, counter) {\n if (counter == 0) {\n return;\n }\n var counterInstance = Counter_1.Counter.createByActiveElements(name, counter, Object.keys(this.activeElements));\n if (!(counterInstance instanceof Counter_1.Counter)) {\n return;\n }\n if ((this.applicationType & Filter_1.FILTER_MUST_ALL_WITH_LEVELS) &&\n (this.applicationType & ~Filter_1.FILTER_MUST_ALL) &&\n counterInstance.isUsed()) {\n this.activeElements[counterInstance.getId()] = counterInstance;\n this.highestActiveElement = Math.max(counterInstance.getLevel(), this.highestActiveElement);\n return;\n }\n this.counters[counterInstance.getId()] = counterInstance;\n };\n /**\n * Get name\n *\n * @return {string}\n */\n ResultAggregation.prototype.getName = function () {\n return this.name;\n };\n /**\n * Get counter\n *\n * @return {any}\n */\n ResultAggregation.prototype.getCounters = function () {\n return this.counters;\n };\n /**\n *\n */\n ResultAggregation.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Return if the aggregation belongs to a filter.\n *\n * @return {boolean}\n */\n ResultAggregation.prototype.isFilter = function () {\n return (this.applicationType & Filter_1.FILTER_MUST_ALL) > 0;\n };\n /**\n * Aggregation has levels.\n *\n * @return {boolean}\n */\n ResultAggregation.prototype.hasLevels = function () {\n return (this.applicationType & Filter_1.FILTER_MUST_ALL_WITH_LEVELS) > 0;\n };\n /**\n * Get counter by name\n *\n * @param name\n *\n * @return {null}\n */\n ResultAggregation.prototype.getCounter = function (name) {\n return this.counters[name] instanceof Counter_1.Counter\n ? this.counters[name]\n : null;\n };\n /**\n * Get all elements\n *\n * @return {{}}\n */\n ResultAggregation.prototype.getAllElements = function () {\n return tslib_1.__assign(tslib_1.__assign({}, this.activeElements), this.counters);\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n ResultAggregation.prototype.getTotalElements = function () {\n return this.totalElements;\n };\n /**\n * Get active elements\n *\n * @return {any}\n */\n ResultAggregation.prototype.getActiveElements = function () {\n if (Object.keys(this.activeElements).length === 0) {\n return {};\n }\n if (this.applicationType === Filter_1.FILTER_MUST_ALL_WITH_LEVELS) {\n var value = null;\n for (var i in this.activeElements) {\n var activeElement = this.activeElements[i];\n if (!(activeElement instanceof Counter_1.Counter)) {\n continue;\n }\n if (value == null) {\n value = activeElement;\n }\n value = value.getLevel() > activeElement.getLevel()\n ? value\n : activeElement;\n }\n return value instanceof Counter_1.Counter\n ? { 0: value }\n : null;\n }\n return this.activeElements;\n };\n /**\n * Clean results by level and remove all levels higher than the lowest.\n */\n ResultAggregation.prototype.cleanCountersByLevel = function () {\n for (var i in this.counters) {\n var counter = this.counters[i];\n if (counter.getLevel() !== this.highestActiveElement + 1) {\n delete this.counters[i];\n }\n }\n };\n /**\n * Is empty\n *\n * @returns {boolean}\n */\n ResultAggregation.prototype.isEmpty = function () {\n return Object.keys(this.activeElements).length == 0 &&\n Object.keys(this.counters).length == 0;\n };\n /**\n * To array\n *\n * @return {any}\n */\n ResultAggregation.prototype.toArray = function () {\n var array = {\n name: this.name,\n counters: [],\n active_elements: [],\n metadata: this.metadata\n };\n for (var i in this.counters) {\n array.counters.push(this.counters[i].toArray());\n }\n if (this.applicationType !== Filter_1.FILTER_AT_LEAST_ONE) {\n array.application_type = this.applicationType;\n }\n if (this.totalElements > 0) {\n array.total_elements = this.totalElements;\n }\n for (var i in this.activeElements) {\n var activeElement = this.activeElements[i];\n array.active_elements.push(activeElement instanceof Counter_1.Counter\n ? activeElement.toArray()\n : activeElement);\n }\n if (this.highestActiveElement > 0) {\n array.highest_active_level = this.highestActiveElement;\n }\n if (array.counters.length === 0) {\n delete array.counters;\n }\n if (array.active_elements.length === 0) {\n delete array.active_elements;\n }\n if (Object.keys(array.metadata).length === 0) {\n delete array.metadata;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n */\n ResultAggregation.createFromArray = function (array) {\n var activeElements = [];\n var activeElementsAsArray = array.active_elements;\n activeElementsAsArray = typeof activeElementsAsArray === typeof []\n ? activeElementsAsArray\n : [];\n for (var i in activeElementsAsArray) {\n var activeElementAsArray = activeElementsAsArray[i];\n activeElements.push(typeof activeElementAsArray === typeof {}\n ? Counter_1.Counter.createFromArray(activeElementAsArray)\n : activeElementAsArray);\n }\n var aggregation = new ResultAggregation(array.name, parseInt(array.application_type ? array.application_type : Filter_1.FILTER_AT_LEAST_ONE), parseInt(array.total_elements ? array.total_elements : 0), []);\n aggregation.activeElements = activeElements;\n var countersAsArray = typeof array.counters === typeof []\n ? array.counters\n : [];\n for (var i in countersAsArray) {\n var counterAsArray = countersAsArray[i];\n if (typeof counterAsArray !== \"function\") {\n var counter = Counter_1.Counter.createFromArray(counterAsArray);\n aggregation.counters['_' + counter.getId()] = counter;\n }\n }\n aggregation.highestActiveElement = typeof array.highest_active_level === \"number\"\n ? array.highest_active_level\n : 0;\n aggregation.metadata = typeof array.metadata === typeof {}\n ? array.metadata\n : {};\n return aggregation;\n };\n return ResultAggregation;\n}());\nexports.ResultAggregation = ResultAggregation;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResultAggregations = void 0;\nvar ResultAggregation_1 = require(\"./ResultAggregation\");\n/**\n * ResultAggregation class\n */\nvar ResultAggregations = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param totalElements\n */\n function ResultAggregations(totalElements) {\n this.aggregations = {};\n this.totalElements = totalElements;\n }\n /**\n * Add aggregation\n *\n * @param name\n * @param aggregation\n */\n ResultAggregations.prototype.addAggregation = function (name, aggregation) {\n this.aggregations[name] = aggregation;\n };\n /**\n * Get aggregations\n *\n * @returns {{}}\n */\n ResultAggregations.prototype.getAggregations = function () {\n return this.aggregations;\n };\n /**\n * Get aggregation\n *\n * @param name\n *\n * @returns {Aggregation|null}\n */\n ResultAggregations.prototype.getAggregation = function (name) {\n return this.aggregations[name] instanceof ResultAggregation_1.ResultAggregation\n ? this.aggregations[name]\n : null;\n };\n /**\n * Has not empty aggregation\n *\n * @param name\n *\n * @returns {boolean}\n */\n ResultAggregations.prototype.hasNotEmptyAggregation = function (name) {\n var aggregation = this.getAggregation(name);\n return (aggregation instanceof ResultAggregation_1.ResultAggregation) &&\n (!aggregation.isEmpty());\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n ResultAggregations.prototype.getTotalElements = function () {\n return this.totalElements;\n };\n /**\n * To array\n *\n * @return {{total_elements?: number, aggregations?: {}}}\n */\n ResultAggregations.prototype.toArray = function () {\n var aggregationCollection = {};\n for (var i in this.aggregations) {\n aggregationCollection[i] = this.aggregations[i].toArray();\n }\n var array = {};\n if (this.totalElements > 0) {\n array.total_elements = this.totalElements;\n }\n if (Object.keys(aggregationCollection).length > 0) {\n array.aggregations = aggregationCollection;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ResultAggregations}\n */\n ResultAggregations.createFromArray = function (array) {\n var aggregations = new ResultAggregations(typeof array.total_elements === \"number\"\n ? array.total_elements\n : 0);\n if (typeof array.aggregations === typeof {}) {\n for (var i in array.aggregations) {\n aggregations.addAggregation(i, ResultAggregation_1.ResultAggregation.createFromArray(array.aggregations[i]));\n }\n }\n return aggregations;\n };\n return ResultAggregations;\n}());\nexports.ResultAggregations = ResultAggregations;\n","\"use strict\";\nexports.__esModule = true;\n","\"use strict\";\nexports.__esModule = true;\nexports.Transformer = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\n/**\n * Transformer\n */\nvar Transformer = /** @class */ (function () {\n function Transformer() {\n this.readTransformers = [];\n this.writeTransformers = [];\n }\n /**\n * Add read transformer\n *\n * @param readTransformer\n */\n Transformer.prototype.addReadTransformer = function (readTransformer) {\n this\n .readTransformers\n .push(readTransformer);\n };\n /**\n * @return {boolean}\n */\n Transformer.prototype.hasReadTransformers = function () {\n return this.readTransformers.length > 0;\n };\n /**\n * Add write transformer\n *\n * @param writeTransformer\n */\n Transformer.prototype.addWriteTransformer = function (writeTransformer) {\n this\n .writeTransformers\n .push(writeTransformer);\n };\n /**\n * Items to objects\n *\n * @param items\n *\n * @returns {any[]}\n */\n Transformer.prototype.fromItems = function (items) {\n var objects = [];\n for (var i in items) {\n objects.push(this.fromItem(items[i]));\n }\n return objects;\n };\n /**\n * Item to object\n *\n * @param item\n *\n * @returns {any}\n */\n Transformer.prototype.fromItem = function (item) {\n for (var i in this.readTransformers) {\n var transformer = this.readTransformers[i];\n if (transformer.isValidItem(item)) {\n return transformer.fromItem(item);\n }\n }\n return item;\n };\n /**\n * Objects to items\n *\n * @param objects\n *\n * @returns {Item[]}\n */\n Transformer.prototype.toItems = function (objects) {\n var items = [];\n for (var i in objects) {\n var item = this.toItem(objects[i]);\n if (item instanceof Item_1.Item) {\n items.push(item);\n }\n }\n return items;\n };\n /**\n * Object to item\n *\n * @param object\n *\n * @returns {any}\n */\n Transformer.prototype.toItem = function (object) {\n for (var i in this.writeTransformers) {\n var transformer = this.writeTransformers[i];\n if (transformer.isValidObject(object)) {\n return transformer.toItem(object);\n }\n }\n return object;\n };\n /**\n * Objects to items\n *\n * @param objects\n *\n * @returns {ItemUUID[]}\n */\n Transformer.prototype.toItemUUIDs = function (objects) {\n var itemUUIDs = [];\n for (var i in objects) {\n var itemUUID = this.toItemUUID(objects[i]);\n if (itemUUID instanceof ItemUUID_1.ItemUUID) {\n itemUUIDs.push(itemUUID);\n }\n }\n return itemUUIDs;\n };\n /**\n * Object to item\n *\n * @param object\n *\n * @returns {any}\n */\n Transformer.prototype.toItemUUID = function (object) {\n for (var i in this.writeTransformers) {\n var transformer = this.writeTransformers[i];\n if (transformer.isValidObject(object)) {\n return transformer.toItemUUID(object);\n }\n }\n return object;\n };\n return Transformer;\n}());\nexports.Transformer = Transformer;\n","\"use strict\";\nexports.__esModule = true;\n","\"use strict\";\nexports.__esModule = true;\nvar tslib_1 = require(\"tslib\");\nvar Apisearch_1 = require(\"./Apisearch\");\nexports[\"default\"] = Apisearch_1[\"default\"];\ntslib_1.__exportStar(require(\"./Config/Config\"), exports);\ntslib_1.__exportStar(require(\"./Config/Synonym\"), exports);\ntslib_1.__exportStar(require(\"./Error/ConnectionError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ErrorWithMessage\"), exports);\ntslib_1.__exportStar(require(\"./Error/EventError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ForbiddenError\"), exports);\ntslib_1.__exportStar(require(\"./Error/InvalidFormatError\"), exports);\ntslib_1.__exportStar(require(\"./Error/InvalidTokenError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ResourceExistsError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ResourceNotAvailableError\"), exports);\ntslib_1.__exportStar(require(\"./Error/UnsupportedContentTypeError\"), exports);\ntslib_1.__exportStar(require(\"./Geo/LocationRange\"), exports);\ntslib_1.__exportStar(require(\"./Http/AxiosClient\"), exports);\ntslib_1.__exportStar(require(\"./Http/Client\"), exports);\ntslib_1.__exportStar(require(\"./Http/HttpClient\"), exports);\ntslib_1.__exportStar(require(\"./Http/Response\"), exports);\ntslib_1.__exportStar(require(\"./Http/CacheClient\"), exports);\ntslib_1.__exportStar(require(\"./Model/Changes\"), exports);\ntslib_1.__exportStar(require(\"./Model/Coordinate\"), exports);\ntslib_1.__exportStar(require(\"./Model/Item\"), exports);\ntslib_1.__exportStar(require(\"./Model/ItemUUID\"), exports);\ntslib_1.__exportStar(require(\"./Model/Metadata\"), exports);\ntslib_1.__exportStar(require(\"./Model/User\"), exports);\ntslib_1.__exportStar(require(\"./Query/Aggregation\"), exports);\ntslib_1.__exportStar(require(\"./Query/Filter\"), exports);\ntslib_1.__exportStar(require(\"./Query/Query\"), exports);\ntslib_1.__exportStar(require(\"./Query/Range\"), exports);\ntslib_1.__exportStar(require(\"./Query/ScoreStrategies\"), exports);\ntslib_1.__exportStar(require(\"./Query/ScoreStrategy\"), exports);\ntslib_1.__exportStar(require(\"./Query/SortBy\"), exports);\ntslib_1.__exportStar(require(\"./Repository/HttpRepository\"), exports);\ntslib_1.__exportStar(require(\"./Repository/Repository\"), exports);\ntslib_1.__exportStar(require(\"./Result/ResultAggregation\"), exports);\ntslib_1.__exportStar(require(\"./Result/ResultAggregations\"), exports);\ntslib_1.__exportStar(require(\"./Result/Counter\"), exports);\ntslib_1.__exportStar(require(\"./Result/Result\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/ReadTransformer\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/Transformer\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/WriteTransformer\"), exports);\n","\"use strict\";\n/*\n\nTypeScript Md5\n==============\n\nBased on work by\n* Joseph Myers: http://www.myersdaily.org/joseph/javascript/md5-text.html\n* André Cruz: https://github.com/satazor/SparkMD5\n* Raymond Hill: https://github.com/gorhill/yamd5.js\n\nEffectively a TypeScrypt re-write of Raymond Hill JS Library\n\nThe MIT License (MIT)\n\nCopyright (C) 2014 Raymond Hill\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n Version 2, December 2004\n\n Copyright (C) 2015 André Cruz \n\n Everyone is permitted to copy and distribute verbatim or modified\n copies of this license document, and changing it is allowed as long\n as the name is changed.\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. You just DO WHAT YOU WANT TO.\n\n\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar Md5 = /** @class */ (function () {\n function Md5() {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state = new Int32Array(4);\n this._buffer = new ArrayBuffer(68);\n this._buffer8 = new Uint8Array(this._buffer, 0, 68);\n this._buffer32 = new Uint32Array(this._buffer, 0, 17);\n this.start();\n }\n Md5.hashStr = function (str, raw) {\n if (raw === void 0) { raw = false; }\n return this.onePassHasher\n .start()\n .appendStr(str)\n .end(raw);\n };\n Md5.hashAsciiStr = function (str, raw) {\n if (raw === void 0) { raw = false; }\n return this.onePassHasher\n .start()\n .appendAsciiStr(str)\n .end(raw);\n };\n Md5._hex = function (x) {\n var hc = Md5.hexChars;\n var ho = Md5.hexOut;\n var n;\n var offset;\n var j;\n var i;\n for (i = 0; i < 4; i += 1) {\n offset = i * 8;\n n = x[i];\n for (j = 0; j < 8; j += 2) {\n ho[offset + 1 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n ho[offset + 0 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n }\n }\n return ho.join('');\n };\n Md5._md5cycle = function (x, k) {\n var a = x[0];\n var b = x[1];\n var c = x[2];\n var d = x[3];\n // ff()\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n // gg()\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n // hh()\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n // ii()\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n };\n Md5.prototype.start = function () {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state.set(Md5.stateIdentity);\n return this;\n };\n // Char to code point to to array conversion:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n // #Example.3A_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown\n Md5.prototype.appendStr = function (str) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var code;\n var i;\n for (i = 0; i < str.length; i += 1) {\n code = str.charCodeAt(i);\n if (code < 128) {\n buf8[bufLen++] = code;\n }\n else if (code < 0x800) {\n buf8[bufLen++] = (code >>> 6) + 0xC0;\n buf8[bufLen++] = code & 0x3F | 0x80;\n }\n else if (code < 0xD800 || code > 0xDBFF) {\n buf8[bufLen++] = (code >>> 12) + 0xE0;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n else {\n code = ((code - 0xD800) * 0x400) + (str.charCodeAt(++i) - 0xDC00) + 0x10000;\n if (code > 0x10FFFF) {\n throw new Error('Unicode standard supports code points up to U+10FFFF');\n }\n buf8[bufLen++] = (code >>> 18) + 0xF0;\n buf8[bufLen++] = (code >>> 12 & 0x3F) | 0x80;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n if (bufLen >= 64) {\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen -= 64;\n buf32[0] = buf32[16];\n }\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.appendAsciiStr = function (str) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var i;\n var j = 0;\n for (;;) {\n i = Math.min(str.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = str.charCodeAt(j++);\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.appendByteArray = function (input) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var i;\n var j = 0;\n for (;;) {\n i = Math.min(input.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = input[j++];\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.getState = function () {\n var s = this._state;\n return {\n buffer: String.fromCharCode.apply(null, Array.from(this._buffer8)),\n buflen: this._bufferLength,\n length: this._dataLength,\n state: [s[0], s[1], s[2], s[3]]\n };\n };\n Md5.prototype.setState = function (state) {\n var buf = state.buffer;\n var x = state.state;\n var s = this._state;\n var i;\n this._dataLength = state.length;\n this._bufferLength = state.buflen;\n s[0] = x[0];\n s[1] = x[1];\n s[2] = x[2];\n s[3] = x[3];\n for (i = 0; i < buf.length; i += 1) {\n this._buffer8[i] = buf.charCodeAt(i);\n }\n };\n Md5.prototype.end = function (raw) {\n if (raw === void 0) { raw = false; }\n var bufLen = this._bufferLength;\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var i = (bufLen >> 2) + 1;\n this._dataLength += bufLen;\n var dataBitsLen = this._dataLength * 8;\n buf8[bufLen] = 0x80;\n buf8[bufLen + 1] = buf8[bufLen + 2] = buf8[bufLen + 3] = 0;\n buf32.set(Md5.buffer32Identity.subarray(i), i);\n if (bufLen > 55) {\n Md5._md5cycle(this._state, buf32);\n buf32.set(Md5.buffer32Identity);\n }\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n if (dataBitsLen <= 0xFFFFFFFF) {\n buf32[14] = dataBitsLen;\n }\n else {\n var matches = dataBitsLen.toString(16).match(/(.*?)(.{0,8})$/);\n if (matches === null) {\n return;\n }\n var lo = parseInt(matches[2], 16);\n var hi = parseInt(matches[1], 16) || 0;\n buf32[14] = lo;\n buf32[15] = hi;\n }\n Md5._md5cycle(this._state, buf32);\n return raw ? this._state : Md5._hex(this._state);\n };\n // Private Static Variables\n Md5.stateIdentity = new Int32Array([1732584193, -271733879, -1732584194, 271733878]);\n Md5.buffer32Identity = new Int32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\n Md5.hexChars = '0123456789abcdef';\n Md5.hexOut = [];\n // Permanent instance is to use for one-call hashing\n Md5.onePassHasher = new Md5();\n return Md5;\n}());\nexports.Md5 = Md5;\nif (Md5.hashStr('hello') !== '5d41402abc4b2a76b9719d911017c592') {\n throw new Error('Md5 self test failed.');\n}\n//# sourceMappingURL=md5.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n",""],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"apisearch.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;ACVA,4FAAuC;;;;;;;;;;;ACA1B;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,aAAa,mBAAO,CAAC,iEAAkB;AACvC,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,oBAAoB,mBAAO,CAAC,6EAAuB;AACnD,mBAAmB,mBAAO,CAAC,mFAA2B;AACtD,sBAAsB,mBAAO,CAAC,yFAA8B;AAC5D,2BAA2B,mBAAO,CAAC,mFAA0B;AAC7D,iBAAiB,mBAAO,CAAC,uEAAoB;AAC7C,oBAAoB,mBAAO,CAAC,iFAAyB;AACrD,oBAAoB,mBAAO,CAAC,mFAA0B;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AC7Na;;AAEb,YAAY,mBAAO,CAAC,kDAAS;AAC7B,WAAW,mBAAO,CAAC,gEAAgB;AACnC,YAAY,mBAAO,CAAC,4DAAc;AAClC,kBAAkB,mBAAO,CAAC,wEAAoB;AAC9C,eAAe,mBAAO,CAAC,8DAAY;;AAEnC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,mBAAO,CAAC,gFAAwB;AACtD,oBAAoB,mBAAO,CAAC,4EAAsB;AAClD,iBAAiB,mBAAO,CAAC,sEAAmB;AAC5C,gBAAgB,uFAA6B;AAC7C,mBAAmB,mBAAO,CAAC,4EAAsB;;AAEjD;AACA,mBAAmB,mBAAO,CAAC,2EAAwB;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,oEAAkB;;AAEzC;AACA,qBAAqB,mBAAO,CAAC,gFAAwB;;AAErD;;AAEA;AACA,yBAAsB;;;;;;;;;;;;AC/DT;;AAEb,oBAAoB,mBAAO,CAAC,yEAAiB;;AAE7C;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtHa;;AAEb,iBAAiB,mBAAO,CAAC,uEAAoB;AAC7C,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;ACrBa;;AAEb;AACA;AACA;;;;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,eAAe,mBAAO,CAAC,yEAAqB;AAC5C,yBAAyB,mBAAO,CAAC,iFAAsB;AACvD,sBAAsB,mBAAO,CAAC,2EAAmB;AACjD,kBAAkB,mBAAO,CAAC,mEAAe;AACzC,oBAAoB,mBAAO,CAAC,uEAAiB;AAC7C,gBAAgB,mBAAO,CAAC,2EAAsB;;AAE9C;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;;;;;;;;;;;;AC/Ja;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACrFa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACrDa;;AAEb,oBAAoB,mBAAO,CAAC,mFAA0B;AACtD,kBAAkB,mBAAO,CAAC,+EAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,oBAAoB,mBAAO,CAAC,uEAAiB;AAC7C,eAAe,mBAAO,CAAC,uEAAoB;AAC3C,eAAe,mBAAO,CAAC,+DAAa;AACpC,oBAAoB,mBAAO,CAAC,iFAAyB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;ACtFa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN,2BAA2B;AAC3B,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACnGa;;AAEb,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxBa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,eAAe,mBAAO,CAAC,+DAAa;;AAEpC;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB,WAAW,gBAAgB;AAC3B,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACrBa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;AAC9B,0BAA0B,mBAAO,CAAC,+FAAgC;AAClE,iBAAiB,mBAAO,CAAC,uEAAoB;AAC7C,2BAA2B,mBAAO,CAAC,yEAAgB;AACnD,iBAAiB,mBAAO,CAAC,6EAAuB;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,iEAAiB;AACvC,IAAI;AACJ;AACA,cAAc,mBAAO,CAAC,kEAAkB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,sCAAsC,iBAAiB;AACvD,MAAM;AACN;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,mBAAO,CAAC,gEAAgB;AACtC,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;ACjJa;;AAEb;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;;;;;;;;;;;ACFa;;AAEb;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;ACrEa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C;AAC3C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,gCAAgC,cAAc;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;;;;;;;;;;;;ACZa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACnEa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;ACXA;AACA;;;;;;;;;;;;ACDa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;;AAElB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACpDa;;AAEb;AACA,wBAAwB,KAAK;AAC7B;AACA;;;;;;;;;;;;ACLa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1Ba;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACvEa;;AAEb,cAAc,wFAA8B;AAC5C,iBAAiB,mBAAO,CAAC,uEAAoB;;AAE7C;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACrFa;;AAEb,WAAW,mBAAO,CAAC,gEAAgB;;AAEnC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,4BAA4B;AAC5B,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,GAAG;AACd,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrda;AACb,kBAAkB;AAClB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,oBAAoB,mBAAO,CAAC,qDAAoB;AAChD,cAAc,mBAAO,CAAC,2CAAe;AACrC,cAAc,mBAAO,CAAC,2CAAe;AACrC,cAAc,mBAAO,CAAC,2CAAe;AACrC,eAAe,mBAAO,CAAC,6CAAgB;AACvC,uBAAuB,mBAAO,CAAC,uEAA6B;AAC5D,eAAe,mBAAO,CAAC,+CAAiB;AACxC,2BAA2B,mBAAO,CAAC,uEAA6B;AAChE,oBAAoB,mBAAO,CAAC,mEAA2B;AACvD,oBAAoB,mBAAO,CAAC,qDAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,4CAA4C,0DAA0D;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB;;;;;;;;;;;;ACrJL;AACb,kBAAkB;AAClB,cAAc,GAAG,wBAAwB,GAAG,sBAAsB;AAClE,gBAAgB,mBAAO,CAAC,0CAAW;AACnC,sBAAsB;AACtB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,kDAAkD;AAClD,iCAAiC;AACjC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,2BAA2B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,oDAAoD;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;AC9GD;AACb,kBAAkB;AAClB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe;;;;;;;;;;;;ACjEF;AACb,kBAAkB;AAClB,uBAAuB;AACvB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uBAAuB;;;;;;;;;;;;ACvBV;AACb,kBAAkB;AAClB,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB;;;;;;;;;;;;ACjBX;AACb,kBAAkB;AAClB,kBAAkB;AAClB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB;;;;;;;;;;;;ACvBL;AACb,kBAAkB;AAClB,sBAAsB;AACtB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sBAAsB;;;;;;;;;;;;AC/CT;AACb,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,0FAA0F,GAAG,EAAE,KAAK;AACpG;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0BAA0B;;;;;;;;;;;;ACvJb;AACb,kBAAkB;AAClB,yBAAyB;AACzB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yBAAyB;;;;;;;;;;;;AC5CZ;AACb,kBAAkB;AAClB,2BAA2B;AAC3B,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,2BAA2B;;;;;;;;;;;;AC/Cd;AACb,kBAAkB;AAClB,iCAAiC;AACjC,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iCAAiC;;;;;;;;;;;;AC/DpB;AACb,kBAAkB;AAClB,oBAAoB;AACpB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oBAAoB;;;;;;;;;;;;ACvBP;AACb,kBAAkB;AAClB,mCAAmC;AACnC,cAAc,mBAAO,CAAC,gDAAO;AAC7B,yBAAyB,mBAAO,CAAC,2DAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mCAAmC;;;;;;;;;;;;AC/BtB;AACb,kBAAkB;AAClB,cAAc,GAAG,eAAe,GAAG,6BAA6B,GAAG,qBAAqB;AACxF,cAAc,mBAAO,CAAC,gDAAO;AAC7B,mBAAmB,mBAAO,CAAC,sDAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc,uBAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;AC3MD;AACb,kBAAkB;AAClB,mBAAmB;AACnB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,cAAc,mBAAO,CAAC,4CAAO;AAC7B,UAAU,mBAAO,CAAC,0BAAI;AACtB,eAAe,mBAAO,CAAC,sCAAU;AACjC,iBAAiB,mBAAO,CAAC,0CAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,iCAAiC;AACrG,uHAAuH;AACvH;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,mBAAmB;;;;;;;;;;;;AClKN;AACb,kBAAkB;AAClB,mBAAmB;AACnB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,eAAe,mBAAO,CAAC,iDAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,qCAAqC;AACrC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mBAAmB;;;;;;;;;;;;AC9EN;AACb,kBAAkB;AAClB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;AC/BD;AACb,kBAAkB;AAClB,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB;;;;;;;;;;;;ACXL;AACb,kBAAkB;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gBAAgB;;;;;;;;;;;;ACnCH;AACb,kBAAkB;AAClB,eAAe;AACf,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe;;;;;;;;;;;;ACpEF;AACb,kBAAkB;AAClB,eAAe,GAAG,kBAAkB,GAAG,kCAAkC,GAAG,iCAAiC,GAAG,8BAA8B,GAAG,iCAAiC,GAAG,oBAAoB,GAAG,kBAAkB;AAC9N;AACA;AACA;AACA,kBAAkB;AAClB,oBAAoB;AACpB,iCAAiC;AACjC,8BAA8B;AAC9B,iCAAiC;AACjC,kCAAkC;AAClC,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe;;;;;;;;;;;;AC3HF;AACb,kBAAkB;AAClB,kBAAkB;AAClB,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB;;;;;;;;;;;;AChEL;AACb,kBAAkB;AAClB,aAAa;AACb,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE,kBAAkB,mBAAO,CAAC,6CAAa;AACvC,gBAAgB,mBAAO,CAAC,yCAAW;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,mCAAmC;AACnC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa;;;;;;;;;;;;ACnGA;AACb,kBAAkB;AAClB,iBAAiB;AACjB,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB;;;;;;;;;;;;ACpEJ;AACb,kBAAkB;AAClB,YAAY;AACZ,cAAc,mBAAO,CAAC,gDAAO;AAC7B,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE,mBAAmB,mBAAO,CAAC,+CAAc;AACzC,iBAAiB,mBAAO,CAAC,2CAAY;AACrC,gBAAgB,mBAAO,CAAC,yCAAW;AACnC,kBAAkB,mBAAO,CAAC,6CAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,mCAAmC;AACnC,0CAA0C;AAC1C,6CAA6C;AAC7C,gDAAgD;AAChD,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,mCAAmC;AACnC,0CAA0C;AAC1C,6CAA6C;AAC7C,gDAAgD;AAChD,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0LAA0L,wEAAwE,mFAAmF;AACrV,wHAAwH,wEAAwE,mFAAmF;AACnR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,YAAY;;;;;;;;;;;;ACraC;AACb,kBAAkB;AAClB,gBAAgB;AAChB,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gBAAgB;;;;;;;;;;;;AChFH;AACb,kBAAkB;AAClB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gBAAgB;;;;;;;;;;;;AC/DH;AACb,kBAAkB;AAClB,YAAY;AACZ,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,YAAY;;;;;;;;;;;;ACrEC;AACb,kBAAkB;AAClB,mBAAmB,GAAG,4BAA4B,GAAG,qCAAqC,GAAG,oCAAoC,GAAG,sCAAsC,GAAG,qCAAqC;AAClN,eAAe,mBAAO,CAAC,uCAAU;AACjC;AACA;AACA;AACA,qCAAqC;AACrC,sCAAsC;AACtC,oCAAoC;AACpC,qCAAqC;AACrC,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,mCAAmC;AACnC,+BAA+B;AAC/B,gCAAgC;AAChC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mBAAmB;;;;;;;;;;;;AC9LN;AACb,kBAAkB;AAClB,cAAc,GAAG,yBAAyB,GAAG,uBAAuB,GAAG,8BAA8B,GAAG,yBAAyB,GAAG,yBAAyB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,2BAA2B,GAAG,mCAAmC,GAAG,uBAAuB;AAC7S;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC,2BAA2B;AAC3B,sBAAsB;AACtB,sBAAsB;AACtB,yBAAyB;AACzB,yBAAyB;AACzB,8BAA8B;AAC9B,uBAAuB;AACvB,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;AC1JD;AACb,kBAAkB;AAClB,aAAa,GAAG,oBAAoB,GAAG,0BAA0B,GAAG,0BAA0B;AAC9F,cAAc,mBAAO,CAAC,gDAAO;AAC7B,mBAAmB,mBAAO,CAAC,sDAAqB;AAChD,iBAAiB,mBAAO,CAAC,kDAAmB;AAC5C,aAAa,mBAAO,CAAC,0CAAe;AACpC,aAAa,mBAAO,CAAC,0CAAe;AACpC,oBAAoB,mBAAO,CAAC,iDAAe;AAC3C,eAAe,mBAAO,CAAC,uCAAU;AACjC,eAAe,mBAAO,CAAC,uCAAU;AACjC,oBAAoB,mBAAO,CAAC,iDAAe;AAC3C,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE,eAAe,mBAAO,CAAC,uCAAU;AACjC,wBAAwB,mBAAO,CAAC,yDAAmB;AACnD,eAAe,mBAAO,CAAC,uCAAU;AACjC,kBAAkB,mBAAO,CAAC,oDAAoB;AAC9C;AACA;AACA;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uEAAuE,iCAAiC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,oCAAoC;AACpC,0CAA0C;AAC1C;AACA;AACA,+DAA+D,yBAAyB;AACxF;AACA;AACA;AACA;AACA;AACA,oEAAoE,8BAA8B;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uEAAuE,iCAAiC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,+DAA+D,yBAAyB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,uEAAuE,iCAAiC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C;AAC1C,oCAAoC;AACpC,0CAA0C;AAC1C;AACA;AACA,+DAA+D,yBAAyB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C;AAC1C,oCAAoC;AACpC;AACA;AACA,uEAAuE,iCAAiC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C;AAC1C,oCAAoC;AACpC,oCAAoC;AACpC,0CAA0C;AAC1C;AACA;AACA,+DAA+D,yBAAyB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C,oCAAoC;AACpC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,mEAAmE,iCAAiC;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C;AAC1C,gCAAgC;AAChC,mCAAmC;AACnC,gEAAgE,8BAA8B;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,oCAAoC;AACpC,0CAA0C;AAC1C,gCAAgC;AAChC,mCAAmC;AACnC;AACA;AACA;AACA,gEAAgE,8BAA8B;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,0CAA0C;AAC1C,gCAAgC;AAChC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA,2DAA2D,yBAAyB,iFAAiF,6BAA6B;AAClM;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa;;;;;;;;;;;;AChwCA;AACb,kBAAkB;AAClB,aAAa,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,4BAA4B;AAC/F;AACA;AACA;AACA,4BAA4B;AAC5B,sBAAsB;AACtB,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa;;;;;;;;;;;;ACxEA;AACb,kBAAkB;AAClB,uBAAuB,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,gBAAgB;AAClG,sBAAsB,mBAAO,CAAC,qDAAiB;AAC/C;AACA;AACA;AACA,gBAAgB;AAChB,WAAW;AACX,WAAW;AACX,WAAW;AACX,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uBAAuB;;;;;;;;;;;;ACnGV;AACb,kBAAkB;AAClB,qBAAqB,GAAG,sBAAsB,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,aAAa,GAAG,uBAAuB,GAAG,4BAA4B,GAAG,sBAAsB,GAAG,oBAAoB;AACvf,aAAa,mBAAO,CAAC,0CAAe;AACpC,eAAe,mBAAO,CAAC,uCAAU;AACjC;AACA;AACA;AACA,oBAAoB;AACpB,sBAAsB;AACtB,4BAA4B;AAC5B,uBAAuB;AACvB,aAAa;AACb,oBAAoB;AACpB,iBAAiB;AACjB,mBAAmB;AACnB,qBAAqB;AACrB,qBAAqB;AACrB,oBAAoB;AACpB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB,sBAAsB;AACtB,sBAAsB;AACtB,sBAAsB;AACtB,sBAAsB;AACtB,uBAAuB;AACvB,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,iCAAiC;AACjC,kCAAkC;AAClC,mCAAmC;AACnC,iCAAiC;AACjC,iCAAiC;AACjC,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,qBAAqB;;;;;;;;;;;;ACjPR;AACb,kBAAkB;AAClB,cAAc,GAAG,+BAA+B,GAAG,+BAA+B,GAAG,yBAAyB,GAAG,wBAAwB,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,0BAA0B,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,2BAA2B,GAAG,wBAAwB,GAAG,wBAAwB,GAAG,wBAAwB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,2BAA2B,GAAG,6BAA6B,GAAG,6BAA6B,GAAG,0BAA0B,GAAG,2BAA2B,GAAG,0BAA0B;AACvnB,UAAU,mBAAO,CAAC,0BAAI;AACtB,eAAe,mBAAO,CAAC,uCAAU;AACjC;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,0BAA0B;AAC1B,6BAA6B;AAC7B,6BAA6B;AAC7B,2BAA2B;AAC3B,mBAAmB;AACnB,oBAAoB;AACpB,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,wBAAwB;AACxB,2BAA2B;AAC3B,qBAAqB;AACrB;AACA;AACA,sBAAsB;AACtB;AACA;AACA,0BAA0B;AAC1B,sBAAsB;AACtB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;ACpUD;AACb,kBAAkB;AAClB,sBAAsB;AACtB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,wBAAwB,mBAAO,CAAC,gEAA0B;AAC1D,2BAA2B,mBAAO,CAAC,sEAA6B;AAChE,0BAA0B,mBAAO,CAAC,oEAA4B;AAC9D,4BAA4B,mBAAO,CAAC,wEAA8B;AAClE,kCAAkC,mBAAO,CAAC,oFAAoC;AAC9E,qBAAqB,mBAAO,CAAC,0DAAuB;AACpD,iBAAiB,mBAAO,CAAC,gDAAkB;AAC3C,cAAc,mBAAO,CAAC,4CAAgB;AACtC,aAAa,mBAAO,CAAC,0CAAe;AACpC,iBAAiB,mBAAO,CAAC,kDAAmB;AAC5C,eAAe,mBAAO,CAAC,gDAAkB;AACzC,mBAAmB,mBAAO,CAAC,oDAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2JAA2J;AAC3J;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8JAA8J;AAC9J;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,IAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,YAAY;AAC3B,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mKAAmK;AACnK;AACA;AACA;AACA,iCAAiC;AACjC;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uKAAuK;AACvK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2KAA2K;AAC3K;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4JAA4J;AAC5J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+JAA+J,IAAI;AACnK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uKAAuK,IAAI;AAC3K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6JAA6J,IAAI;AACjK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iIAAiI,IAAI;AACrI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,gBAAgB;AAC9E;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2KAA2K;AAC3K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,iCAAiC;AACjC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,WAAW;AAC1B,eAAe,QAAQ;AACvB,eAAe,YAAY;AAC3B,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA,+BAA+B;AAC/B,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sBAAsB;;;;;;;;;;;;AC/kBT;AACb,kBAAkB;AAClB,kBAAkB;AAClB,cAAc,mBAAO,CAAC,gDAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB;;;;;;;;;;;;AC3HL;AACb,kBAAkB;AAClB,eAAe;AACf,iBAAiB,mBAAO,CAAC,kDAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,eAAe;;;;;;;;;;;;ACvIF;AACb,kBAAkB;AAClB,cAAc;AACd,aAAa,mBAAO,CAAC,0CAAe;AACpC,2BAA2B,mBAAO,CAAC,gEAAsB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,4CAA4C;AAC/F;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,kDAAkD;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,cAAc;;;;;;;;;;;;AChTD;AACb,kBAAkB;AAClB,yBAAyB;AACzB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,eAAe,mBAAO,CAAC,8CAAiB;AACxC,gBAAgB,mBAAO,CAAC,0CAAW;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yBAAyB;;;;;;;;;;;;ACzPZ;AACb,kBAAkB;AAClB,0BAA0B;AAC1B,0BAA0B,mBAAO,CAAC,8DAAqB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0BAA0B;;;;;;;;;;;;ACzGb;AACb,kBAAkB;;;;;;;;;;;;ACDL;AACb,kBAAkB;AAClB,mBAAmB;AACnB,aAAa,mBAAO,CAAC,0CAAe;AACpC,iBAAiB,mBAAO,CAAC,kDAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,mBAAmB;;;;;;;;;;;;ACzIN;AACb,kBAAkB;;;;;;;;;;;;ACDL;AACb,kBAAkB;AAClB,cAAc,mBAAO,CAAC,gDAAO;AAC7B,kBAAkB,mBAAO,CAAC,uCAAa;AACvC,kBAAkB;AAClB,qBAAqB,mBAAO,CAAC,+CAAiB;AAC9C,qBAAqB,mBAAO,CAAC,iDAAkB;AAC/C,qBAAqB,mBAAO,CAAC,+DAAyB;AACtD,qBAAqB,mBAAO,CAAC,iEAA0B;AACvD,qBAAqB,mBAAO,CAAC,qDAAoB;AACjD,qBAAqB,mBAAO,CAAC,6DAAwB;AACrD,qBAAqB,mBAAO,CAAC,qEAA4B;AACzD,qBAAqB,mBAAO,CAAC,mEAA2B;AACxD,qBAAqB,mBAAO,CAAC,uEAA6B;AAC1D,qBAAqB,mBAAO,CAAC,mFAAmC;AAChE,qBAAqB,mBAAO,CAAC,uFAAqC;AAClE,qBAAqB,mBAAO,CAAC,uDAAqB;AAClD,qBAAqB,mBAAO,CAAC,qDAAoB;AACjD,qBAAqB,mBAAO,CAAC,2CAAe;AAC5C,qBAAqB,mBAAO,CAAC,mDAAmB;AAChD,qBAAqB,mBAAO,CAAC,+CAAiB;AAC9C,qBAAqB,mBAAO,CAAC,qDAAoB;AACjD,qBAAqB,mBAAO,CAAC,+CAAiB;AAC9C,qBAAqB,mBAAO,CAAC,qDAAoB;AACjD,qBAAqB,mBAAO,CAAC,yCAAc;AAC3C,qBAAqB,mBAAO,CAAC,iDAAkB;AAC/C,qBAAqB,mBAAO,CAAC,iDAAkB;AAC/C,qBAAqB,mBAAO,CAAC,yCAAc;AAC3C,qBAAqB,mBAAO,CAAC,uDAAqB;AAClD,qBAAqB,mBAAO,CAAC,6CAAgB;AAC7C,qBAAqB,mBAAO,CAAC,2CAAe;AAC5C,qBAAqB,mBAAO,CAAC,2CAAe;AAC5C,qBAAqB,mBAAO,CAAC,+DAAyB;AACtD,qBAAqB,mBAAO,CAAC,2DAAuB;AACpD,qBAAqB,mBAAO,CAAC,6CAAgB;AAC7C,qBAAqB,mBAAO,CAAC,uEAA6B;AAC1D,qBAAqB,mBAAO,CAAC,+DAAyB;AACtD,qBAAqB,mBAAO,CAAC,qEAA4B;AACzD,qBAAqB,mBAAO,CAAC,uEAA6B;AAC1D,qBAAqB,mBAAO,CAAC,iDAAkB;AAC/C,qBAAqB,mBAAO,CAAC,+CAAiB;AAC9C,qBAAqB,mBAAO,CAAC,2EAA+B;AAC5D,qBAAqB,mBAAO,CAAC,mEAA2B;AACxD,qBAAqB,mBAAO,CAAC,6EAAgC;;;;;;;;;;;;AC3ChD;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;;AAGA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA,wBAAwB,OAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,IAAI;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,WAAW;AACX;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB,sCAAsC,kBAAkB;AACnF,0BAA0B;AAC1B;AACA;AACA;AACO;AACP;AACA,oBAAoB;AACpB;AACA;AACA;AACO;AACP;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,6DAA6D,cAAc;AAC3E;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACO;AACP,oCAAoC;AACpC;AACA;AACO;AACP;AACA;AACA;AACO;AACP,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACO;AACP,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACO;AACP,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACO;AACP,kDAAkD,QAAQ;AAC1D,yCAAyC,QAAQ;AACjD,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA,iBAAiB,uFAAuF,cAAc;AACtH,uBAAuB,gCAAgC,qCAAqC,2CAA2C;AACvI,4BAA4B,MAAM,iBAAiB,YAAY;AAC/D,uBAAuB;AACvB,8BAA8B;AAC9B,6BAA6B;AAC7B,4BAA4B;AAC5B;AACA;AACO;AACP;AACA,iBAAiB,6CAA6C,UAAU,sDAAsD,cAAc;AAC5I,0BAA0B,6BAA6B,oBAAoB,gDAAgD,kBAAkB;AAC7I;AACA;AACO;AACP;AACA;AACA,2GAA2G,uFAAuF,cAAc;AAChN,uBAAuB,8BAA8B,gDAAgD,wDAAwD;AAC7J,6CAA6C,sCAAsC,UAAU,mBAAmB,IAAI;AACpH;AACA;AACO;AACP,iCAAiC,uCAAuC,YAAY,KAAK,OAAO;AAChG;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6CAA6C;AAC7C;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;UCzNA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;UENA;UACA;UACA;UACA","sources":["webpack://apisearch/webpack/universalModuleDefinition","webpack://apisearch/./node_modules/axios/index.js","webpack://apisearch/./node_modules/axios/lib/adapters/xhr.js","webpack://apisearch/./node_modules/axios/lib/axios.js","webpack://apisearch/./node_modules/axios/lib/cancel/CancelToken.js","webpack://apisearch/./node_modules/axios/lib/cancel/CanceledError.js","webpack://apisearch/./node_modules/axios/lib/cancel/isCancel.js","webpack://apisearch/./node_modules/axios/lib/core/Axios.js","webpack://apisearch/./node_modules/axios/lib/core/AxiosError.js","webpack://apisearch/./node_modules/axios/lib/core/InterceptorManager.js","webpack://apisearch/./node_modules/axios/lib/core/buildFullPath.js","webpack://apisearch/./node_modules/axios/lib/core/dispatchRequest.js","webpack://apisearch/./node_modules/axios/lib/core/mergeConfig.js","webpack://apisearch/./node_modules/axios/lib/core/settle.js","webpack://apisearch/./node_modules/axios/lib/core/transformData.js","webpack://apisearch/./node_modules/axios/lib/defaults/index.js","webpack://apisearch/./node_modules/axios/lib/defaults/transitional.js","webpack://apisearch/./node_modules/axios/lib/env/data.js","webpack://apisearch/./node_modules/axios/lib/helpers/bind.js","webpack://apisearch/./node_modules/axios/lib/helpers/buildURL.js","webpack://apisearch/./node_modules/axios/lib/helpers/combineURLs.js","webpack://apisearch/./node_modules/axios/lib/helpers/cookies.js","webpack://apisearch/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://apisearch/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://apisearch/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://apisearch/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://apisearch/./node_modules/axios/lib/helpers/null.js","webpack://apisearch/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://apisearch/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://apisearch/./node_modules/axios/lib/helpers/spread.js","webpack://apisearch/./node_modules/axios/lib/helpers/toFormData.js","webpack://apisearch/./node_modules/axios/lib/helpers/validator.js","webpack://apisearch/./node_modules/axios/lib/utils.js","webpack://apisearch/./src/Apisearch.ts","webpack://apisearch/./src/Config/Config.ts","webpack://apisearch/./src/Config/Synonym.ts","webpack://apisearch/./src/Error/ConnectionError.ts","webpack://apisearch/./src/Error/ErrorWithMessage.ts","webpack://apisearch/./src/Error/EventError.ts","webpack://apisearch/./src/Error/ForbiddenError.ts","webpack://apisearch/./src/Error/InvalidFormatError.ts","webpack://apisearch/./src/Error/InvalidTokenError.ts","webpack://apisearch/./src/Error/ResourceExistsError.ts","webpack://apisearch/./src/Error/ResourceNotAvailableError.ts","webpack://apisearch/./src/Error/UnknownError.ts","webpack://apisearch/./src/Error/UnsupportedContentTypeError.ts","webpack://apisearch/./src/Geo/LocationRange.ts","webpack://apisearch/./src/Http/AxiosClient.ts","webpack://apisearch/./src/Http/CacheClient.ts","webpack://apisearch/./src/Http/Client.ts","webpack://apisearch/./src/Http/HttpClient.ts","webpack://apisearch/./src/Http/Response.ts","webpack://apisearch/./src/Model/AppUUID.ts","webpack://apisearch/./src/Model/Changes.ts","webpack://apisearch/./src/Model/Coordinate.ts","webpack://apisearch/./src/Model/Index.ts","webpack://apisearch/./src/Model/IndexUUID.ts","webpack://apisearch/./src/Model/Item.ts","webpack://apisearch/./src/Model/ItemUUID.ts","webpack://apisearch/./src/Model/Metadata.ts","webpack://apisearch/./src/Model/User.ts","webpack://apisearch/./src/Query/Aggregation.ts","webpack://apisearch/./src/Query/Filter.ts","webpack://apisearch/./src/Query/Query.ts","webpack://apisearch/./src/Query/Range.ts","webpack://apisearch/./src/Query/ScoreStrategies.ts","webpack://apisearch/./src/Query/ScoreStrategy.ts","webpack://apisearch/./src/Query/SortBy.ts","webpack://apisearch/./src/Repository/HttpRepository.ts","webpack://apisearch/./src/Repository/Repository.ts","webpack://apisearch/./src/Result/Counter.ts","webpack://apisearch/./src/Result/Result.ts","webpack://apisearch/./src/Result/ResultAggregation.ts","webpack://apisearch/./src/Result/ResultAggregations.ts","webpack://apisearch/./src/Transformer/ReadTransformer.ts","webpack://apisearch/./src/Transformer/Transformer.ts","webpack://apisearch/./src/Transformer/WriteTransformer.ts","webpack://apisearch/./src/index.ts","webpack://apisearch/./node_modules/ts-md5/dist/md5.js","webpack://apisearch/./node_modules/tslib/tslib.es6.js","webpack://apisearch/webpack/bootstrap","webpack://apisearch/webpack/runtime/define property getters","webpack://apisearch/webpack/runtime/hasOwnProperty shorthand","webpack://apisearch/webpack/runtime/make namespace object","webpack://apisearch/webpack/before-startup","webpack://apisearch/webpack/startup","webpack://apisearch/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"apisearch\"] = factory();\n\telse\n\t\troot[\"apisearch\"] = factory();\n})(self, () => {\nreturn ","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","\"use strict\";\nexports.__esModule = true;\nvar tslib_1 = require(\"tslib\");\nvar AxiosClient_1 = require(\"./Http/AxiosClient\");\nvar Query_1 = require(\"./Query/Query\");\nvar Query_2 = require(\"./Query/Query\");\nvar Query_3 = require(\"./Query/Query\");\nvar SortBy_1 = require(\"./Query/SortBy\");\nvar HttpRepository_1 = require(\"./Repository/HttpRepository\");\nvar Result_1 = require(\"./Result/Result\");\nvar ResultAggregations_1 = require(\"./Result/ResultAggregations\");\nvar Transformer_1 = require(\"./Transformer/Transformer\");\nvar CacheClient_1 = require(\"./Http/CacheClient\");\n/**\n * Apisearch class\n */\nvar Apisearch = /** @class */ (function () {\n function Apisearch() {\n }\n /**\n * Constructor\n *\n * @param config\n *\n * @return {HttpRepository}\n */\n Apisearch.createRepository = function (config) {\n Apisearch.ensureRepositoryConfigIsValid(config);\n config.options = tslib_1.__assign({ api_version: \"v1\", override_queries: true, timeout: 3000 }, config.options);\n /**\n * Client\n */\n var httpClient = typeof config.options.http_client !== \"undefined\"\n ? config.options.http_client\n : new AxiosClient_1.AxiosClient(config.options.endpoint, config.options.api_version, config.options.timeout, config.options.override_queries);\n if (config.options.use_cache) {\n httpClient = new CacheClient_1.CacheClient(httpClient);\n }\n return new HttpRepository_1.HttpRepository(httpClient, config.app_id, config.index_id, config.token, new Transformer_1.Transformer());\n };\n /**\n * Ensure the Repository configuration is valid\n *\n * @param config\n */\n Apisearch.ensureRepositoryConfigIsValid = function (config) {\n Apisearch.ensureIsDefined(config.app_id, \"app_id\");\n Apisearch.ensureIsDefined(config.index_id, \"index_id\");\n Apisearch.ensureIsDefined(config.token, \"token\");\n Apisearch.ensureIsDefined(config.options.endpoint, \"options.endpoint\");\n };\n /**\n * Ensure the value is not undefined\n *\n * @param param\n * @param name\n */\n Apisearch.ensureIsDefined = function (param, name) {\n if (typeof param === \"undefined\") {\n throw new TypeError(name + \" parameter must be defined.\");\n }\n };\n /**\n * Created located\n *\n * @param coordinate\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Apisearch.createQueryLocated = function (coordinate, queryText, page, size) {\n if (page === void 0) { page = Query_1.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = Query_2.QUERY_DEFAULT_SIZE; }\n return Query_3.Query.createLocated(coordinate, queryText, page, size);\n };\n /**\n * Create\n *\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Apisearch.createQuery = function (queryText, page, size) {\n if (page === void 0) { page = Query_1.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = Query_2.QUERY_DEFAULT_SIZE; }\n return Query_3.Query.create(queryText, page, size);\n };\n /**\n * Create match all\n *\n * @return {Query}\n */\n Apisearch.createQueryMatchAll = function () {\n return Query_3.Query.createMatchAll();\n };\n /**\n * Create by UUID\n *\n * @param uuid\n *\n * @return {Query}\n */\n Apisearch.createQueryByUUID = function (uuid) {\n return Query_3.Query.createByUUID(uuid);\n };\n /**\n * Create by UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Apisearch.createQueryByUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n return Query_3.Query.createByUUIDs.apply(Query_3.Query, uuids);\n };\n /**\n * Create empty result\n *\n * @return {Result}\n */\n Apisearch.createEmptyResult = function () {\n return Result_1.Result.create(\"\", 0, 0, new ResultAggregations_1.ResultAggregations(0), [], []);\n };\n /**\n * Create empty sortby\n *\n * @return {SortBy}\n */\n Apisearch.createEmptySortBy = function () {\n return SortBy_1.SortBy.create();\n };\n /**\n * Create empty sortby\n *\n * @return {SortBy}\n */\n Apisearch.createEmptyScoreStrategy = function () {\n return SortBy_1.SortBy.create();\n };\n return Apisearch;\n}());\nexports[\"default\"] = Apisearch;\n","\"use strict\";\nexports.__esModule = true;\nexports.Config = exports.DEFAULT_REPLICAS = exports.DEFAULT_SHARDS = void 0;\nvar Synonym_1 = require(\"./Synonym\");\nexports.DEFAULT_SHARDS = 1;\nexports.DEFAULT_REPLICAS = 0;\n/**\n * Result class\n */\nvar Config = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param language\n * @param storeSearchableMetadata\n * @param shards\n * @param replicas\n */\n function Config(language, storeSearchableMetadata, shards, replicas) {\n if (language === void 0) { language = null; }\n if (storeSearchableMetadata === void 0) { storeSearchableMetadata = true; }\n if (shards === void 0) { shards = exports.DEFAULT_SHARDS; }\n if (replicas === void 0) { replicas = exports.DEFAULT_REPLICAS; }\n this.synonyms = [];\n this.language = language;\n this.storeSearchableMetadata = storeSearchableMetadata;\n this.shards = shards;\n this.replicas = replicas;\n }\n /**\n * Get language\n *\n * @return {string}\n */\n Config.prototype.getLanguage = function () {\n return this.language;\n };\n /**\n * Should searchable metadata be stored\n *\n * @return {boolean}\n */\n Config.prototype.shouldSearchableMetadataBeStored = function () {\n return this.storeSearchableMetadata;\n };\n /**\n * Add synonym\n *\n * @param synonym\n */\n Config.prototype.addSynonym = function (synonym) {\n this.synonyms.push(synonym);\n };\n /**\n * Get synonyms\n *\n * @return {Synonym[]}\n */\n Config.prototype.getSynonyms = function () {\n return this.synonyms;\n };\n /**\n * Get shards\n *\n * @return {number}\n */\n Config.prototype.getShards = function () {\n return this.shards;\n };\n /**\n * Get replicas\n *\n * @return {number}\n */\n Config.prototype.getReplicas = function () {\n return this.replicas;\n };\n /**\n * to array\n */\n Config.prototype.toArray = function () {\n return {\n language: this.language,\n store_searchable_metadata: this.storeSearchableMetadata,\n synonyms: this.synonyms.map(function (synonym) { return synonym.toArray(); }),\n shards: this.shards,\n replicas: this.replicas\n };\n };\n /**\n * Create from array\n */\n Config.createFromArray = function (array) {\n var config = new Config(array.language ? array.language : null, typeof array.store_searchable_metadata == \"boolean\"\n ? array.store_searchable_metadata\n : true);\n if (array.synonyms instanceof Array &&\n array.synonyms.length > 0) {\n config.synonyms = array.synonyms.map(function (synonym) { return Synonym_1.Synonym.createFromArray(synonym); });\n }\n config.shards = typeof array.shards == \"number\"\n ? array.shards\n : exports.DEFAULT_SHARDS;\n config.replicas = typeof array.replicas == \"number\"\n ? array.replicas\n : exports.DEFAULT_REPLICAS;\n return config;\n };\n return Config;\n}());\nexports.Config = Config;\n","\"use strict\";\nexports.__esModule = true;\nexports.Synonym = void 0;\n/**\n * Result class\n */\nvar Synonym = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param words\n */\n function Synonym(words) {\n this.words = words;\n }\n /**\n * get words\n *\n * @return {string[]}\n */\n Synonym.prototype.getWords = function () {\n return this.words;\n };\n /**\n * Create by words\n *\n * @param words\n *\n * @return {Synonym}\n */\n Synonym.createbyWords = function (words) {\n return new Synonym(words);\n };\n /**\n * To array\n *\n * @return {{words: string[]}}\n */\n Synonym.prototype.toArray = function () {\n return {\n words: this.words,\n };\n };\n /**\n * create from array\n *\n * @param array\n *\n * @returns {Synonym}\n */\n Synonym.createFromArray = function (array) {\n return new Synonym(array.words instanceof Object\n ? array.words\n : []);\n };\n /**\n * Expand\n *\n * @returns {string}\n */\n Synonym.prototype.expand = function () {\n return this.words.join(\",\");\n };\n return Synonym;\n}());\nexports.Synonym = Synonym;\n","\"use strict\";\nexports.__esModule = true;\nexports.ConnectionError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Connection error\n */\nvar ConnectionError = /** @class */ (function (_super) {\n tslib_1.__extends(ConnectionError, _super);\n function ConnectionError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ConnectionError.getTransportableHTTPError = function () {\n return 500;\n };\n return ConnectionError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ConnectionError = ConnectionError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ErrorWithMessage = void 0;\n/**\n * ConnectError\n */\nvar ErrorWithMessage = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param message\n */\n function ErrorWithMessage(message) {\n this.message = message;\n }\n return ErrorWithMessage;\n}());\nexports.ErrorWithMessage = ErrorWithMessage;\n","\"use strict\";\nexports.__esModule = true;\nexports.EventError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * EventError\n */\nvar EventError = /** @class */ (function (_super) {\n tslib_1.__extends(EventError, _super);\n function EventError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n EventError.throwEndpointNotAvailable = function () {\n return new EventError(\"Endpoint not available\");\n };\n return EventError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.EventError = EventError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ForbiddenError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Forbidden Error\n */\nvar ForbiddenError = /** @class */ (function (_super) {\n tslib_1.__extends(ForbiddenError, _super);\n function ForbiddenError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ForbiddenError.getTransportableHTTPError = function () {\n return 403;\n };\n /**\n * App id is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createAppIdIsRequiredException = function () {\n return new ForbiddenError(\"AppId query parameter MUST be defined with a valid value\");\n };\n /**\n * Index id is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createIndexIsRequiredException = function () {\n return new ForbiddenError(\"Index query parameter MUST be defined with a valid value\");\n };\n /**\n * Token is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createTokenIsRequiredException = function () {\n return new ForbiddenError(\"Token query parameter MUST be defined with a valid value\");\n };\n return ForbiddenError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ForbiddenError = ForbiddenError;\n","\"use strict\";\nexports.__esModule = true;\nexports.InvalidFormatError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Class InvalidFormatError\n */\nvar InvalidFormatError = /** @class */ (function (_super) {\n tslib_1.__extends(InvalidFormatError, _super);\n function InvalidFormatError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n InvalidFormatError.getTransportableHTTPError = function () {\n return 400;\n };\n /**\n * Item representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.itemRepresentationNotValid = function () {\n return new InvalidFormatError(\"Item representation not valid. Expecting Item array serialized but found malformed data\");\n };\n /**\n * Item UUID representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.itemUUIDRepresentationNotValid = function () {\n return new InvalidFormatError(\"Item UUID representation not valid. Expecting UUID array serialized but found malformed data\");\n };\n /**\n * Create Composed UUID bad format.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.composedItemUUIDNotValid = function () {\n return new InvalidFormatError(\"A composed UUID should always follow this format: {id}~{type}.\");\n };\n /**\n * Create Query sorted by distance without coordinate.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.querySortedByDistanceWithoutCoordinate = function () {\n return new InvalidFormatError(\"In order to be able to sort by coordinates, you need to create a Query by using Query::createLocated() instead of Query::create()\");\n };\n /**\n * Query representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.queryFormatNotValid = function () {\n return new InvalidFormatError(\"Query Format not valid. Expecting a Query serialized but found malformed data\");\n };\n /**\n * Coordinate representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.coordinateFormatNotValid = function () {\n return new InvalidFormatError(\"A Coordinate should always contain a lat (Latitude) and a lon (Longitude)\");\n };\n /**\n * Config representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.configFormatNotValid = function () {\n return new InvalidFormatError(\"Config Format not valid. Expecting a Config serialized but found malformed data\");\n };\n /**\n * Token representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.tokenFormatNotValid = function () {\n return new InvalidFormatError(\"Token Format not valid. Expecting a Token serialized but found malformed data\");\n };\n /**\n * Index format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.indexFormatNotValid = function () {\n return new InvalidFormatError('Index Format not valid. Expecting an Index serialized but found malformed data');\n };\n /**\n * IndexUUI format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.indexUUIDFormatNotValid = function () {\n return new InvalidFormatError('IndexUUID Format not valid. Expecting an IndexUUID serialized but found malformed data');\n };\n /**\n * App format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.appUUIDFormatNotValid = function () {\n return new InvalidFormatError('AppUUID Format not valid. Expecting an AppUUID serialized but found malformed data');\n };\n /**\n * Campaign representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.campaignFormatNotValid = function () {\n return new InvalidFormatError(\"Campaign Format not valid. Expecting a Campaign serialized but found malformed data\");\n };\n /**\n * Changes representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.changesFormatNotValid = function () {\n return new InvalidFormatError(\"Changes Format not valid. Expecting a Changes serialized but found malformed data\");\n };\n /**\n * Boost clause representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.boostClauseFormatNotValid = function () {\n return new InvalidFormatError(\"Boost clause Format not valid. Expecting a Boost clause serialized but found malformed data\");\n };\n /**\n * token uuid representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.tokenUUIDFormatNotValid = function () {\n return new InvalidFormatError(\"Token UUID Format not valid. Expecting a TokenUUID serialized but found malformed data\");\n };\n /**\n * User representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.userFormatNotValid = function () {\n return new InvalidFormatError(\"User Format not valid. Expecting a User serialized but found malformed data\");\n };\n return InvalidFormatError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.InvalidFormatError = InvalidFormatError;\n","\"use strict\";\nexports.__esModule = true;\nexports.InvalidTokenError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Invalid token error\n */\nvar InvalidTokenError = /** @class */ (function (_super) {\n tslib_1.__extends(InvalidTokenError, _super);\n function InvalidTokenError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n InvalidTokenError.getTransportableHTTPError = function () {\n return 401;\n };\n /**\n * Invalid token permissions\n *\n * @param tokenReference\n *\n * @return {InvalidTokenError}\n */\n InvalidTokenError.createInvalidTokenPermissions = function (tokenReference) {\n return new InvalidTokenError(\"Token \" + tokenReference + \"not valid\");\n };\n /**\n * Invalid token permissions\n *\n * @param tokenReference\n * @param maxHitsPerQuery\n *\n * @return {InvalidTokenError}\n */\n InvalidTokenError.createInvalidTokenMaxHitsPerQuery = function (tokenReference, maxHitsPerQuery) {\n return new InvalidTokenError(\"Token \" + tokenReference + \"not valid. Max \" + maxHitsPerQuery + \" hits allowed\");\n };\n return InvalidTokenError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.InvalidTokenError = InvalidTokenError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResourceExistsError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Resource exists error\n */\nvar ResourceExistsError = /** @class */ (function (_super) {\n tslib_1.__extends(ResourceExistsError, _super);\n function ResourceExistsError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ResourceExistsError.getTransportableHTTPError = function () {\n return 409;\n };\n /**\n * Index not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.indexAvailable = function () {\n return new ResourceExistsError(\"Index exists and cannot be created again\");\n };\n /**\n * Events not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.eventsIndexAvailable = function () {\n return new ResourceExistsError(\"Events index exists and cannot be created again\");\n };\n /**\n * Logs not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.logsIndexAvailable = function () {\n return new ResourceExistsError(\"Logs index exists and cannot be created again\");\n };\n return ResourceExistsError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ResourceExistsError = ResourceExistsError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResourceNotAvailableError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Resource not available error\n */\nvar ResourceNotAvailableError = /** @class */ (function (_super) {\n tslib_1.__extends(ResourceNotAvailableError, _super);\n function ResourceNotAvailableError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ResourceNotAvailableError.getTransportableHTTPError = function () {\n return 404;\n };\n /**\n * Index not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.indexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Index not available - \" + resourceId);\n };\n /**\n * Events not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.eventsIndexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Events not available - \" + resourceId);\n };\n /**\n * Logs not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.logsIndexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Logs not available - \" + resourceId);\n };\n /**\n * Engine not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.engineNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Engine not available - \" + resourceId);\n };\n return ResourceNotAvailableError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ResourceNotAvailableError = ResourceNotAvailableError;\n","\"use strict\";\nexports.__esModule = true;\nexports.UnknownError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Connection error\n */\nvar UnknownError = /** @class */ (function (_super) {\n tslib_1.__extends(UnknownError, _super);\n function UnknownError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Unknown error\n *\n * @return this\n */\n UnknownError.createUnknownError = function () {\n return new this(\"Unknown error.\");\n };\n return UnknownError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.UnknownError = UnknownError;\n","\"use strict\";\nexports.__esModule = true;\nexports.UnsupportedContentTypeError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Unsupported content type error\n */\nvar UnsupportedContentTypeError = /** @class */ (function (_super) {\n tslib_1.__extends(UnsupportedContentTypeError, _super);\n function UnsupportedContentTypeError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n UnsupportedContentTypeError.getTransportableHTTPError = function () {\n return 415;\n };\n /**\n * Unsupported content type\n *\n * @return {InvalidFormatError}\n */\n UnsupportedContentTypeError.createUnsupportedContentTypeException = function () {\n return new UnsupportedContentTypeError(\"This content type is not accepted. Please use application/json\");\n };\n return UnsupportedContentTypeError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.UnsupportedContentTypeError = UnsupportedContentTypeError;\n","\"use strict\";\nexports.__esModule = true;\nexports.Square = exports.Polygon = exports.CoordinateAndDistance = exports.LocationRange = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Coordinate_1 = require(\"../Model/Coordinate\");\n/**\n * Abstract Location Range class\n */\nvar LocationRange = /** @class */ (function () {\n function LocationRange() {\n }\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n LocationRange.fromFilterObject = function (object) {\n throw TypeError(\"Method not valid\");\n };\n /**\n * to array\n */\n LocationRange.prototype.toArray = function () {\n return {\n type: this.getName(),\n data: this.toFilterObject(),\n };\n };\n /**\n * Create from array\n *\n * @param array\n */\n LocationRange.createFromArray = function (array) {\n if (array.type == \"CoordinateAndDistance\") {\n return CoordinateAndDistance.fromFilterObject(array.data);\n }\n if (array.type == \"Polygon\") {\n return Polygon.fromFilterObject(array.data);\n }\n if (array.type == \"Square\") {\n return Square.fromFilterObject(array.data);\n }\n };\n return LocationRange;\n}());\nexports.LocationRange = LocationRange;\n/**\n * CoordinateAndDistance\n */\nvar CoordinateAndDistance = /** @class */ (function (_super) {\n tslib_1.__extends(CoordinateAndDistance, _super);\n /**\n * Constructor\n *\n * @param coordinate\n * @param distance\n */\n function CoordinateAndDistance(coordinate, distance) {\n var _this = _super.call(this) || this;\n _this.coordinate = coordinate;\n _this.distance = distance;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{}}}\n */\n CoordinateAndDistance.prototype.toFilterObject = function () {\n return {\n coordinate: this.coordinate.toArray(),\n distance: this.distance,\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n CoordinateAndDistance.prototype.getName = function () {\n return \"CoordinateAndDistance\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n CoordinateAndDistance.fromFilterObject = function (object) {\n return new CoordinateAndDistance(Coordinate_1.Coordinate.createFromArray(object.coordinate), object.distance);\n };\n return CoordinateAndDistance;\n}(LocationRange));\nexports.CoordinateAndDistance = CoordinateAndDistance;\n/**\n * Polygon\n */\nvar Polygon = /** @class */ (function (_super) {\n tslib_1.__extends(Polygon, _super);\n /**\n * Constructor\n *\n * @param coordinates\n */\n function Polygon(coordinates) {\n var _this = _super.call(this) || this;\n if (coordinates.length < 3) {\n throw new Error(\"A polygon needs more than two coordinates.\");\n }\n _this.coordinates = coordinates;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{coordinates: {lat:number, lon:number}[]}}\n */\n Polygon.prototype.toFilterObject = function () {\n var coordinates = [];\n for (var i in this.coordinates) {\n coordinates.push(this.coordinates[i].toArray());\n }\n return {\n coordinates: coordinates,\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n Polygon.prototype.getName = function () {\n return \"Polygon\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {Polygon}\n */\n Polygon.fromFilterObject = function (object) {\n var coordinates = [];\n for (var i in object.coordinates) {\n coordinates.push(Coordinate_1.Coordinate.createFromArray(object.coordinates[i]));\n }\n return new Polygon(coordinates);\n };\n return Polygon;\n}(LocationRange));\nexports.Polygon = Polygon;\n/**\n * Square\n */\nvar Square = /** @class */ (function (_super) {\n tslib_1.__extends(Square, _super);\n /**\n * Constructor\n *\n * @param topLeftCoordinate\n * @param bottomRightCoordinate\n */\n function Square(topLeftCoordinate, bottomRightCoordinate) {\n var _this = _super.call(this) || this;\n _this.topLeftCoordinate = topLeftCoordinate;\n _this.bottomRightCoordinate = bottomRightCoordinate;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{}}}\n */\n Square.prototype.toFilterObject = function () {\n return {\n top_left: this.topLeftCoordinate.toArray(),\n bottom_right: this.bottomRightCoordinate.toArray(),\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n Square.prototype.getName = function () {\n return \"Square\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n Square.fromFilterObject = function (object) {\n return new Square(Coordinate_1.Coordinate.createFromArray(object.top_left), Coordinate_1.Coordinate.createFromArray(object.bottom_right));\n };\n return Square;\n}(LocationRange));\nexports.Square = Square;\n","\"use strict\";\nexports.__esModule = true;\nexports.AxiosClient = void 0;\nvar tslib_1 = require(\"tslib\");\nvar axios_1 = require(\"axios\");\nvar __1 = require(\"..\");\nvar Client_1 = require(\"./Client\");\nvar Response_1 = require(\"./Response\");\n/**\n * AxiosClient\n */\nvar AxiosClient = /** @class */ (function (_super) {\n tslib_1.__extends(AxiosClient, _super);\n /**\n * Constructor\n *\n * @param host\n * @param version\n * @param timeout\n * @param overrideQueries\n */\n function AxiosClient(host, version, timeout, overrideQueries) {\n var _this = _super.call(this, version) || this;\n _this.host = host;\n _this.timeout = timeout;\n _this.overrideQueries = overrideQueries;\n _this.abortControllers = {};\n return _this;\n }\n /**\n * @param url\n * @param method\n * @param credentials\n * @param parameters\n * @param data\n */\n AxiosClient.prototype.get = function (url, method, credentials, parameters, data) {\n if (parameters === void 0) { parameters = {}; }\n if (data === void 0) { data = {}; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var headers, axiosRequestConfig, axiosResponse, error_1, response;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n url = url.replace(/^\\/*|\\/*$/g, \"\");\n url = \"/\" + (this.version + \"/\" + url).replace(/^\\/*|\\/*$/g, \"\");\n method = method.toLowerCase();\n if (\"get\" === method &&\n this.overrideQueries) {\n this.abort(url, true);\n }\n headers = \"get\" === method\n ? {}\n : {\n \"Content-Encoding\": \"gzip\",\n \"Content-Type\": \"application/json\",\n };\n axiosRequestConfig = {\n baseURL: this.host.replace(/\\/*$/g, \"\"),\n data: data,\n headers: headers,\n method: method,\n timeout: this.timeout,\n transformRequest: [function (rawData) { return JSON.stringify(rawData); }],\n url: url + \"?\" + Client_1.Client.objectToUrlParameters(tslib_1.__assign(tslib_1.__assign({}, parameters), {\n token: credentials.token,\n })).replace(/#/g, \"%23\"),\n };\n if (typeof this.abortControllers[url] !== \"undefined\") {\n axiosRequestConfig.signal = this.abortControllers[url].signal;\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.fetch(url, axiosRequestConfig, 3)];\n case 2:\n axiosResponse = _a.sent();\n return [2 /*return*/, new Response_1.Response(axiosResponse.status, axiosResponse.data)];\n case 3:\n error_1 = _a.sent();\n response = void 0;\n if (error_1.response) {\n response = new Response_1.Response(error_1.response.status, error_1.response.data);\n }\n else {\n response = new Response_1.Response(__1.ConnectionError.getTransportableHTTPError(), {\n message: error_1.message,\n });\n }\n throw response;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Abort current request\n * And regenerate the cancellation token\n *\n * @param url\n * @param urlIsFormatted\n */\n AxiosClient.prototype.abort = function (url, urlIsFormatted) {\n if (!urlIsFormatted) {\n url = url.replace(/^\\/*|\\/*$/g, \"\");\n url = \"/\" + (this.version + \"/\" + url).replace(/^\\/*|\\/*$/g, \"\");\n }\n if (typeof this.abortControllers[url] !== \"undefined\") {\n this.abortControllers[url].abort();\n }\n this.generateAbortController(url);\n };\n /**\n * Generate a new cancellation token for a query\n *\n * @param url\n */\n AxiosClient.prototype.generateAbortController = function (url) {\n this.abortControllers[url] = new AbortController();\n };\n /**\n * @param url\n * @param options\n * @param retries\n */\n AxiosClient.prototype.fetch = function (url, options, retries) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, axios_1[\"default\"]\n .request(options)\n .then(function (response) {\n return {\n data: response.data,\n status: response.status,\n };\n })[\"catch\"](function (error) {\n var response = error.response;\n if (error.code !== undefined &&\n error.code !== \"ECONNREFUSED\" &&\n error.code !== \"ECONNABORTED\" &&\n error.code !== \"ERR_BAD_REQUEST\" &&\n error.message !== \"Network Error\") {\n return {\n data: response.data,\n status: response.status,\n };\n }\n if (retries <= 0) {\n throw error;\n }\n retries = retries - 1;\n return _this.fetch(url, options, retries);\n })];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n return AxiosClient;\n}(Client_1.Client));\nexports.AxiosClient = AxiosClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.CacheClient = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ts_md5_1 = require(\"ts-md5\");\n/**\n * AxiosClient\n */\nvar CacheClient = /** @class */ (function () {\n function CacheClient(httpClient) {\n this.cache = {};\n this.hits = 0;\n this.httpClient = httpClient;\n }\n CacheClient.prototype.flushCache = function () {\n this.cache = {};\n };\n CacheClient.prototype.size = function () {\n return Object.keys(this.cache).length;\n };\n CacheClient.prototype.getNumberOfHits = function () {\n return this.hits;\n };\n /**\n * Get\n *\n * @param url\n * @param method\n * @param credentials\n * @param parameters\n * @param data\n *\n * @return {Promise}\n */\n CacheClient.prototype.get = function (url, method, credentials, parameters, data) {\n if (parameters === void 0) { parameters = {}; }\n if (data === void 0) { data = {}; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var cacheUID, _a, _b;\n return tslib_1.__generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (method !== 'get') {\n return [2 /*return*/, this.httpClient.get(url, method, credentials, parameters, data)];\n }\n cacheUID = ts_md5_1.Md5.hashStr(JSON.stringify({\n 'u': url,\n 'c': credentials,\n 'p': parameters,\n 'd': data,\n })).toString();\n if (!!this.cache[cacheUID]) return [3 /*break*/, 2];\n _a = this.cache;\n _b = cacheUID;\n return [4 /*yield*/, this.httpClient.get(url, method, credentials, parameters, data)];\n case 1:\n _a[_b] = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n this.httpClient.abort(url, false);\n this.hits++;\n _c.label = 3;\n case 3: return [2 /*return*/, this.cache[cacheUID]];\n }\n });\n });\n };\n /**\n * Abort current request\n * And regenerate the cancellation token\n *\n * @param url\n * @param urlIsFormatted\n */\n CacheClient.prototype.abort = function (url, urlIsFormatted) {\n };\n return CacheClient;\n}());\nexports.CacheClient = CacheClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.Client = void 0;\n/**\n * Client\n */\nvar Client = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param version\n */\n function Client(version) {\n this.version = version.replace(/^\\/*|\\/*$/g, \"\");\n }\n /**\n * Build an url parameters array by an object\n *\n * @param params\n *\n * @returns {string}\n */\n Client.objectToUrlParameters = function (params) {\n var builtParams = [];\n for (var i in params) {\n builtParams.push(i + \"=\" + params[i]);\n }\n return builtParams.join(\"&\");\n };\n return Client;\n}());\nexports.Client = Client;\n","\"use strict\";\nexports.__esModule = true;\nexports.HttpClient = void 0;\n/**\n * Http class\n */\nvar HttpClient = /** @class */ (function () {\n function HttpClient() {\n }\n return HttpClient;\n}());\nexports.HttpClient = HttpClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.Response = void 0;\n/**\n * Response\n */\nvar Response = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param code\n * @param body\n */\n function Response(code, body) {\n this.code = code;\n this.body = body;\n }\n /**\n * Get code\n *\n * @return {number}\n */\n Response.prototype.getCode = function () {\n return this.code;\n };\n /**\n * Get body\n *\n * @return {any}\n */\n Response.prototype.getBody = function () {\n return this.body;\n };\n return Response;\n}());\nexports.Response = Response;\n","\"use strict\";\nexports.__esModule = true;\nexports.AppUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * AppUUID class\n */\nvar AppUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n */\n function AppUUID(id) {\n if (id.indexOf('_') >= 0) {\n throw InvalidFormatError_1.InvalidFormatError.appUUIDFormatNotValid();\n }\n this.id = id;\n }\n /**\n * Create by id\n *\n * @param id\n *\n * @returns {ItemUUID}\n */\n AppUUID.createById = function (id) {\n return new AppUUID(id);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n AppUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n AppUUID.prototype.toArray = function () {\n return {\n id: this.id,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n AppUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new AppUUID(array.id);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n AppUUID.prototype.composedUUID = function () {\n return this.id;\n };\n return AppUUID;\n}());\nexports.AppUUID = AppUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Changes = exports.TYPE_ARRAY = exports.TYPE_ARRAY_EXPECTS_ELEMENT = exports.TYPE_ARRAY_ELEMENT_DELETE = exports.TYPE_ARRAY_ELEMENT_ADD = exports.TYPE_ARRAY_ELEMENT_UPDATE = exports.TYPE_LITERAL = exports.TYPE_VALUE = void 0;\n/**\n * filter constants\n */\nexports.TYPE_VALUE = 1;\nexports.TYPE_LITERAL = 4;\nexports.TYPE_ARRAY_ELEMENT_UPDATE = 8;\nexports.TYPE_ARRAY_ELEMENT_ADD = 16;\nexports.TYPE_ARRAY_ELEMENT_DELETE = 32;\nexports.TYPE_ARRAY_EXPECTS_ELEMENT = 24;\nexports.TYPE_ARRAY = 56;\n/**\n * Changes Type cast\n * @param Changes\n */\nvar Changes = /** @class */ (function () {\n function Changes() {\n /**\n * Changes\n *\n * @type {Array}\n */\n this.changes = [];\n }\n /**\n * Add new change\n *\n * @param field\n * @param value\n * @param type\n */\n Changes.prototype.addChange = function (field, value, type) {\n if (type === void 0) { type = exports.TYPE_VALUE; }\n this.changes.push({\n field: field,\n type: type,\n value: value,\n });\n };\n /**\n * Update element from list\n *\n * @param field\n * @param condition\n * @param value\n * @param type\n */\n Changes.prototype.updateElementFromList = function (field, condition, value, type) {\n this.changes.push({\n field: field,\n type: type | exports.TYPE_ARRAY_ELEMENT_UPDATE,\n condition: condition,\n value: value,\n });\n };\n /**\n * Add element in list\n *\n * @param field\n * @param value\n * @param type\n */\n Changes.prototype.addElementInList = function (field, value, type) {\n this.changes.push({\n field: field,\n type: type | exports.TYPE_ARRAY_ELEMENT_ADD,\n value: value,\n });\n };\n /**\n * Delete element from list\n *\n * @param field\n * @param condition\n */\n Changes.prototype.deleteElementFromList = function (field, condition) {\n this.changes.push({\n field: field,\n type: exports.TYPE_ARRAY_ELEMENT_DELETE,\n condition: condition,\n });\n };\n /**\n * Get changes\n *\n * @returns {[]}\n */\n Changes.prototype.getChanges = function () {\n return this.changes;\n };\n /**\n * Create\n *\n * @returns {Changes}\n */\n Changes.create = function () {\n return new Changes();\n };\n /**\n * To array\n *\n * @returns {[]}\n */\n Changes.prototype.toArray = function () {\n return JSON.parse(JSON.stringify(this.changes));\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Changes}\n */\n Changes.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var changes = Changes.create();\n changes.changes = array;\n return changes;\n };\n return Changes;\n}());\nexports.Changes = Changes;\n","\"use strict\";\nexports.__esModule = true;\nexports.Coordinate = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * Coordinate Type cast\n * @param coordinate\n */\nvar Coordinate = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param {number} lat\n * @param {number} lon\n */\n function Coordinate(lat, lon) {\n this.lat = lat;\n this.lon = lon;\n }\n /**\n * Get latitude\n *\n * @return float\n */\n Coordinate.prototype.getLatitude = function () {\n return this.lat;\n };\n /**\n * Get longitude\n *\n * @return float\n */\n Coordinate.prototype.getLongitude = function () {\n return this.lon;\n };\n /**\n * To array\n *\n * @return {{lat: number, lon: number}}\n */\n Coordinate.prototype.toArray = function () {\n return {\n lat: this.lat,\n lon: this.lon,\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return Coordinate\n *\n * @throws InvalidFormatError\n */\n Coordinate.createFromArray = function (array) {\n if (typeof array.lat == \"undefined\" ||\n typeof array.lon == \"undefined\") {\n throw InvalidFormatError_1.InvalidFormatError.coordinateFormatNotValid();\n }\n return new Coordinate(array.lat, array.lon);\n };\n return Coordinate;\n}());\nexports.Coordinate = Coordinate;\n","\"use strict\";\nexports.__esModule = true;\nexports.Index = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar IndexUUID_1 = require(\"./IndexUUID\");\nvar AppUUID_1 = require(\"./AppUUID\");\n/**\n * Index class\n */\nvar Index = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param uuid\n * @param appUUID\n * @param isOK\n * @param docCount\n * @param size\n */\n function Index(uuid, appUUID, isOK, docCount, size) {\n if (isOK === void 0) { isOK = false; }\n if (docCount === void 0) { docCount = 0; }\n if (size === void 0) { size = '0kb'; }\n this.uuid = uuid;\n this.appUUID = appUUID;\n this.isOK = isOK;\n this.docCount = docCount;\n this.size = size;\n }\n /**\n * Get uuid\n *\n * @return {IndexUUID}\n */\n Index.prototype.getUUID = function () {\n return this.uuid;\n };\n /**\n * Get app id\n *\n * @return {AppUUID}\n */\n Index.prototype.getAppUUID = function () {\n return this.appUUID;\n };\n /**\n * Index is OK\n *\n * @return {boolean}\n */\n Index.prototype.isOk = function () {\n return this.isOK;\n };\n /**\n * Get doc count\n *\n * @return {number}\n */\n Index.prototype.getDocCount = function () {\n return this.docCount;\n };\n /**\n * get size\n *\n * @return {string}\n */\n Index.prototype.getSize = function () {\n return this.size;\n };\n /**\n * To array\n *\n * @returns {{id: string, attributes: {}}}\n */\n Index.prototype.toArray = function () {\n return {\n uuid: this.uuid.toArray(),\n app_id: this.appUUID.toArray(),\n is_ok: this.isOK,\n doc_count: this.docCount,\n size: this.size\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return User\n */\n Index.createFromArray = function (array) {\n if (typeof array.uuid == \"undefined\" ||\n typeof array.app_id == \"undefined\") {\n throw InvalidFormatError_1.InvalidFormatError.indexFormatNotValid();\n }\n return new Index(IndexUUID_1.IndexUUID.createFromArray(array.uuid), AppUUID_1.AppUUID.createFromArray(array.app_id), (typeof array.is_ok == \"undefined\" ? false : array.is_ok), (typeof array.doc_count == \"undefined\" ? 0 : array.doc_count), (typeof array.size == \"undefined\" ? '0kb' : array.size));\n };\n return Index;\n}());\nexports.Index = Index;\n","\"use strict\";\nexports.__esModule = true;\nexports.IndexUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * IndexUUID class\n */\nvar IndexUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n */\n function IndexUUID(id) {\n if (id.indexOf('_') >= 0) {\n throw InvalidFormatError_1.InvalidFormatError.indexUUIDFormatNotValid();\n }\n this.id = id;\n }\n /**\n * Create by id\n *\n * @param id\n *\n * @returns {ItemUUID}\n */\n IndexUUID.createById = function (id) {\n return new IndexUUID(id);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n IndexUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n IndexUUID.prototype.toArray = function () {\n return {\n id: this.id,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n IndexUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new IndexUUID(array.id);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n IndexUUID.prototype.composedUUID = function () {\n return this.id;\n };\n return IndexUUID;\n}());\nexports.IndexUUID = IndexUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Item = void 0;\nvar tslib_1 = require(\"tslib\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar Coordinate_1 = require(\"./Coordinate\");\nvar ItemUUID_1 = require(\"./ItemUUID\");\nvar AppUUID_1 = require(\"./AppUUID\");\nvar IndexUUID_1 = require(\"./IndexUUID\");\n/**\n * Item class\n */\nvar Item = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param uuid\n * @param coordinate\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n */\n function Item(uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n this.metadata = {};\n this.indexedMetadata = {};\n this.searchableMetadata = {};\n this.exactMatchingMetadata = [];\n this.suggest = [];\n this.highlights = {};\n this.promoted = false;\n this.uuid = uuid;\n this.coordinate = coordinate;\n this.metadata = metadata;\n this.indexedMetadata = indexedMetadata;\n this.searchableMetadata = searchableMetadata;\n this.exactMatchingMetadata = exactMatchingMetadata;\n this.suggest = suggest;\n }\n /**\n * Create new Item\n *\n * @param uuid\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n * @returns {Item}\n */\n Item.create = function (uuid, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n if (metadata === void 0) { metadata = {}; }\n if (indexedMetadata === void 0) { indexedMetadata = {}; }\n if (searchableMetadata === void 0) { searchableMetadata = {}; }\n if (exactMatchingMetadata === void 0) { exactMatchingMetadata = []; }\n if (suggest === void 0) { suggest = []; }\n return new Item(uuid, null, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest);\n };\n /**\n * Create new located Item\n *\n * @param uuid\n * @param coordinate\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n * @returns {Item}\n */\n Item.createLocated = function (uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n if (metadata === void 0) { metadata = {}; }\n if (indexedMetadata === void 0) { indexedMetadata = {}; }\n if (searchableMetadata === void 0) { searchableMetadata = {}; }\n if (exactMatchingMetadata === void 0) { exactMatchingMetadata = []; }\n if (suggest === void 0) { suggest = []; }\n return new Item(uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest);\n };\n /**\n * Get uuid\n *\n * @returns ItemUUID\n */\n Item.prototype.getUUID = function () {\n return this.uuid;\n };\n /**\n * Get id\n *\n * @returns string\n */\n Item.prototype.getId = function () {\n return this.uuid.getId();\n };\n /**\n * Get type\n *\n * @returns string\n */\n Item.prototype.getType = function () {\n return this.uuid.getType();\n };\n /**\n * Get coordinate\n *\n * @returns Coordinate|null\n */\n Item.prototype.getCoordinate = function () {\n return this.coordinate;\n };\n /**\n * Get distance\n *\n * @returns int\n */\n Item.prototype.getDistance = function () {\n return this.distance;\n };\n /**\n * Get metadata\n *\n * @returns Array\n */\n Item.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Set metadata\n *\n * @param metadata\n */\n Item.prototype.setMetadata = function (metadata) {\n this.metadata = metadata;\n };\n /**\n * Add metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addMetadata = function (key, value) {\n this.metadata[key] = value;\n };\n /**\n * Get indexed metadata\n *\n * @returns Array\n */\n Item.prototype.getIndexedMetadata = function () {\n return this.indexedMetadata;\n };\n /**\n * Set indexed metadata\n *\n * @param indexedMetadata\n */\n Item.prototype.setIndexedMetadata = function (indexedMetadata) {\n this.indexedMetadata = indexedMetadata;\n };\n /**\n * Add indexed metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addIndexedMetadata = function (key, value) {\n this.indexedMetadata[key] = value;\n };\n /**\n * Get searchable metadata\n *\n * @returns Array\n */\n Item.prototype.getSearchableMetadata = function () {\n return this.searchableMetadata;\n };\n /**\n * Set searchable metadata\n *\n * @param searchableMetadata\n */\n Item.prototype.setSearchableMetadata = function (searchableMetadata) {\n this.searchableMetadata = searchableMetadata;\n };\n /**\n * Add searchable metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addSearchableMetadata = function (key, value) {\n this.searchableMetadata[key] = value;\n };\n /**\n * Get exactMatching metadata\n *\n * @returns Array\n */\n Item.prototype.getExactMatchingMetadata = function () {\n return this.exactMatchingMetadata;\n };\n /**\n * Set exactMatching metadata\n *\n * @param exactMatchingMetadata\n */\n Item.prototype.setExactMatchingMetadata = function (exactMatchingMetadata) {\n this.exactMatchingMetadata = exactMatchingMetadata;\n };\n /**\n * Add exactMatching metadata\n *\n * @param value\n */\n Item.prototype.addExactMatchingMetadata = function (value) {\n this.exactMatchingMetadata.push(value);\n };\n /**\n * Get all metadata\n *\n * @returns {{}}\n */\n Item.prototype.getAllMetadata = function () {\n return tslib_1.__assign(tslib_1.__assign({}, this.metadata), this.indexedMetadata);\n };\n /**\n * Get\n *\n * @param key\n *\n * @returns mixed|null\n */\n Item.prototype.get = function (key) {\n var allMetadata = this.getAllMetadata();\n return (typeof allMetadata[key] != \"undefined\")\n ? allMetadata[key]\n : null;\n };\n /**\n * Get suggest\n *\n * @returns Array\n */\n Item.prototype.getSuggest = function () {\n return this.suggest;\n };\n /**\n * Get highlights\n *\n * @returns Array\n */\n Item.prototype.getHighlights = function () {\n return this.highlights;\n };\n /**\n * Get highlight\n *\n * @param key\n *\n * @return string|null\n */\n Item.prototype.getHighlight = function (key) {\n return (typeof this.highlights[key] != \"undefined\")\n ? this.highlights[key]\n : null;\n };\n /**\n * Is promoted\n *\n * @returns boolean\n */\n Item.prototype.isPromoted = function () {\n return this.promoted;\n };\n /**\n * Set score\n *\n * @param score\n *\n * @return {Item}\n */\n Item.prototype.setScore = function (score) {\n this.score = score;\n return this;\n };\n /**\n * Get score\n *\n * @return {number}\n */\n Item.prototype.getScore = function () {\n return this.score;\n };\n /**\n * Set appUUID\n *\n * @return {AppUUID}\n */\n Item.prototype.getAppUUID = function () {\n return this.appUUID;\n };\n /**\n * Set indexUUID\n *\n * @return {IndexUUID}\n */\n Item.prototype.getIndexUUID = function () {\n return this.indexUUID;\n };\n /**\n * To array\n */\n Item.prototype.toArray = function () {\n var itemAsArray = {\n uuid: this.uuid.toArray(),\n };\n if (this.coordinate instanceof Coordinate_1.Coordinate) {\n itemAsArray.coordinate = this.coordinate.toArray();\n }\n if (Object.keys(this.metadata).length > 0) {\n itemAsArray.metadata = this.metadata;\n }\n if (Object.keys(this.indexedMetadata).length > 0) {\n itemAsArray.indexed_metadata = this.indexedMetadata;\n }\n if (Object.keys(this.searchableMetadata).length > 0) {\n itemAsArray.searchable_metadata = this.searchableMetadata;\n }\n if (this.exactMatchingMetadata.length > 0) {\n itemAsArray.exact_matching_metadata = this.exactMatchingMetadata;\n }\n if (this.suggest.length > 0) {\n itemAsArray.suggest = this.suggest;\n }\n if (Object.keys(this.highlights).length > 0) {\n itemAsArray.highlights = this.highlights;\n }\n if (this.isPromoted()) {\n itemAsArray.is_promoted = true;\n }\n if (typeof this.distance != \"undefined\") {\n itemAsArray.distance = this.distance;\n }\n if (typeof this.score != \"undefined\") {\n itemAsArray.score = this.score;\n }\n if (typeof this.appUUID != \"undefined\") {\n itemAsArray.app_uuid = this.appUUID.toArray();\n }\n if (typeof this.indexUUID != \"undefined\") {\n itemAsArray.index_uuid = this.indexUUID.toArray();\n }\n return itemAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n */\n Item.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.uuid != \"object\") {\n throw InvalidFormatError_1.InvalidFormatError.itemUUIDRepresentationNotValid();\n }\n if (typeof array.coordinate != \"undefined\" &&\n typeof array.coordinate != \"object\") {\n throw InvalidFormatError_1.InvalidFormatError.coordinateFormatNotValid();\n }\n var item = (typeof array.coordinate == \"object\" &&\n array.coordinate != null)\n ? Item.createLocated(ItemUUID_1.ItemUUID.createFromArray(array.uuid), Coordinate_1.Coordinate.createFromArray(array.coordinate), ((typeof array.metadata == \"undefined\") ? {} : array.metadata), ((typeof array.indexed_metadata == \"undefined\") ? {} : array.indexed_metadata), ((typeof array.searchable_metadata == \"undefined\") ? {} : array.searchable_metadata), ((typeof array.exact_matching_metadata == \"undefined\") ? [] : array.exact_matching_metadata), ((typeof array.suggest == \"undefined\") ? [] : array.suggest))\n : Item.create(ItemUUID_1.ItemUUID.createFromArray(array.uuid), ((typeof array.metadata == \"undefined\") ? {} : array.metadata), ((typeof array.indexed_metadata == \"undefined\") ? {} : array.indexed_metadata), ((typeof array.searchable_metadata == \"undefined\") ? {} : array.searchable_metadata), ((typeof array.exact_matching_metadata == \"undefined\") ? [] : array.exact_matching_metadata), ((typeof array.suggest == \"undefined\") ? [] : array.suggest));\n if (typeof array.distance != \"undefined\" &&\n array.distance != null) {\n item.distance = array.distance;\n }\n if (typeof array.highlights == \"object\" &&\n array.highlights != null) {\n item.highlights = array.highlights;\n }\n if (typeof array.is_promoted != \"undefined\" &&\n array.is_promoted != null) {\n item.promoted = array.is_promoted;\n }\n if (typeof array.score != \"undefined\" &&\n array.score != null) {\n item.score = array.score;\n }\n if (typeof array.app_uuid != \"undefined\" &&\n array.app_uuid != null) {\n item.appUUID = AppUUID_1.AppUUID.createFromArray(array.app_uuid);\n }\n if (typeof array.index_uuid != \"undefined\" &&\n array.index_uuid != null) {\n item.indexUUID = IndexUUID_1.IndexUUID.createFromArray(array.index_uuid);\n }\n return item;\n };\n /**\n * Compose uuid\n *\n * @returns string\n */\n Item.prototype.composeUUID = function () {\n return this.uuid.composedUUID();\n };\n /**\n * Get path by field.\n *\n * @param field\n *\n * @returns {string}\n */\n Item.getPathByField = function (field) {\n return ([\"id\", \"type\"].indexOf(field) > -1)\n ? \"uuid.\" + field\n : \"indexed_metadata.\" + field;\n };\n return Item;\n}());\nexports.Item = Item;\n","\"use strict\";\nexports.__esModule = true;\nexports.ItemUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * ItemUUID class\n */\nvar ItemUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n * @param type\n */\n function ItemUUID(id, type) {\n this.id = id;\n this.type = type;\n }\n /**\n * Create composed UUID\n *\n * @param composedUUID\n *\n * @returns {ItemUUID}\n */\n ItemUUID.createByComposedUUID = function (composedUUID) {\n var parts = composedUUID.split(\"~\");\n if (2 != parts.length) {\n throw InvalidFormatError_1.InvalidFormatError.composedItemUUIDNotValid();\n }\n return new ItemUUID(parts[0], parts[1]);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n ItemUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * Get type\n *\n * @returns {string}\n */\n ItemUUID.prototype.getType = function () {\n return this.type;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n ItemUUID.prototype.toArray = function () {\n return {\n id: this.id,\n type: this.type,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n ItemUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new ItemUUID(array.id, array.type);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n ItemUUID.prototype.composedUUID = function () {\n return this.id + \"~\" + this.type;\n };\n return ItemUUID;\n}());\nexports.ItemUUID = ItemUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Metadata = void 0;\n/**\n * User class\n */\nvar Metadata = /** @class */ (function () {\n function Metadata() {\n }\n /**\n * To metadata\n *\n * @param array:{}\n *\n * @returns {string}\n */\n Metadata.toMetadata = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var parts = [];\n for (var key in array) {\n parts.push(key + \"##\" + array[key]);\n }\n return parts.join(\"~~\");\n };\n /**\n * From metadata\n *\n * @param metadata\n *\n * @return {{}}\n */\n Metadata.fromMetadata = function (metadata) {\n var values = {};\n var splittedParts = metadata.split(\"~~\");\n var iterator = 0;\n var size = 0;\n var lastElement = null;\n for (var key in splittedParts) {\n var part = splittedParts[key];\n var parts = part.split(\"##\");\n if (parts.length > 1) {\n lastElement = parts[1];\n values[parts[0]] = lastElement;\n }\n else {\n lastElement = part;\n values[iterator++] = lastElement;\n }\n size++;\n }\n if (size == 1) {\n values = {\n id: lastElement,\n name: lastElement,\n };\n }\n if (typeof values.id == \"undefined\") {\n return null;\n }\n return values;\n };\n return Metadata;\n}());\nexports.Metadata = Metadata;\n","\"use strict\";\nexports.__esModule = true;\nexports.User = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * User class\n */\nvar User = /** @class */ (function () {\n /**\n * Construct\n *\n * @param id string\n * @param attributes Array\n */\n function User(id, attributes) {\n if (attributes === void 0) { attributes = {}; }\n this.id = id;\n this.attributes = attributes;\n }\n /**\n * Return the user id\n *\n * @return {string}\n */\n User.prototype.getId = function () {\n return this.id;\n };\n /**\n * Return array\n *\n * @returns {{}}\n */\n User.prototype.getAttributes = function () {\n return this.attributes;\n };\n /**\n * To array\n *\n * @returns {{id: string, attributes: {}}}\n */\n User.prototype.toArray = function () {\n var array = {\n id: this.id,\n };\n if (Object.keys(this.attributes).length > 0) {\n array.attributes = this.attributes;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return User\n */\n User.createFromArray = function (array) {\n if (array == null ||\n typeof array.id == \"undefined\" ||\n array.id == null) {\n throw InvalidFormatError_1.InvalidFormatError.userFormatNotValid();\n }\n var attributes = typeof array.attributes === typeof {}\n ? array.attributes\n : {};\n return new User(array.id, attributes);\n };\n return User;\n}());\nexports.User = User;\n","\"use strict\";\nexports.__esModule = true;\nexports.Aggregation = exports.AGGREGATION_NO_LIMIT = exports.AGGREGATION_SORT_BY_NAME_DESC = exports.AGGREGATION_SORT_BY_NAME_ASC = exports.AGGREGATION_SORT_BY_COUNT_DESC = exports.AGGREGATION_SORT_BY_COUNT_ASC = void 0;\nvar Filter_1 = require(\"./Filter\");\n/**\n * Aggregation constants\n */\nexports.AGGREGATION_SORT_BY_COUNT_ASC = [\"_count\", \"asc\"];\nexports.AGGREGATION_SORT_BY_COUNT_DESC = [\"_count\", \"desc\"];\nexports.AGGREGATION_SORT_BY_NAME_ASC = [\"_term\", \"asc\"];\nexports.AGGREGATION_SORT_BY_NAME_DESC = [\"_term\", \"desc\"];\nexports.AGGREGATION_NO_LIMIT = 0;\n/**\n * Aggregation class\n */\nvar Aggregation = /** @class */ (function () {\n /**\n * Construct\n *\n * @param name\n * @param field\n * @param applicationType\n * @param filterType\n * @param subgroup\n * @param sort\n * @param limit\n * @param promoted\n */\n function Aggregation(name, field, applicationType, filterType, subgroup, sort, limit, promoted) {\n this.subgroup = [];\n this.name = name;\n this.field = field;\n this.applicationType = applicationType;\n this.filterType = filterType;\n this.subgroup = subgroup;\n this.sort = sort;\n this.limit = limit;\n this.promoted = promoted;\n }\n /**\n * Get name\n *\n * @returns {string}\n */\n Aggregation.prototype.getName = function () {\n return this.name;\n };\n /**\n * Get field\n *\n * @returns {string}\n */\n Aggregation.prototype.getField = function () {\n return this.field;\n };\n /**\n * getApplicationType\n *\n * @returns {number}\n */\n Aggregation.prototype.getApplicationType = function () {\n return this.applicationType;\n };\n /**\n * Get filter type\n *\n * @return {string}\n */\n Aggregation.prototype.getFilterType = function () {\n return this.filterType;\n };\n /**\n * Get subgroup\n *\n * @return {[]}\n */\n Aggregation.prototype.getSubgroup = function () {\n return this.subgroup;\n };\n /**\n * Get sort\n *\n * @return {[]}\n */\n Aggregation.prototype.getSort = function () {\n return this.sort;\n };\n /**\n * Get limit\n *\n * @return {number}\n */\n Aggregation.prototype.getLimit = function () {\n return this.limit;\n };\n /**\n * Get promoted\n *\n * @return {[]}\n */\n Aggregation.prototype.getPromoted = function () {\n return this.promoted;\n };\n /**\n * Create\n *\n * @param name\n * @param field\n * @param applicationType\n * @param filterType\n * @param subgroup\n * @param sort\n * @param limit\n * @param promoted\n *\n * @returns {Aggregation}\n */\n Aggregation.create = function (name, field, applicationType, filterType, subgroup, sort, limit, promoted) {\n if (subgroup === void 0) { subgroup = []; }\n if (sort === void 0) { sort = exports.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = exports.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n return new Aggregation(name, field, applicationType, filterType, subgroup, sort, limit, promoted);\n };\n /**\n * To array\n *\n * @returns {Array}\n */\n Aggregation.prototype.toArray = function () {\n var aggregationAsArray = {\n name: this.name,\n };\n if (this.field !== \"uuid.type\") {\n aggregationAsArray.field = this.field;\n }\n if (this.applicationType !== Filter_1.FILTER_AT_LEAST_ONE) {\n aggregationAsArray.application_type = this.applicationType;\n }\n if (this.filterType !== Filter_1.FILTER_TYPE_FIELD) {\n aggregationAsArray.filter_type = this.filterType;\n }\n if (this.subgroup.length > 0) {\n aggregationAsArray.subgroup = this.subgroup;\n }\n if (JSON.stringify(this.sort) !== JSON.stringify(exports.AGGREGATION_SORT_BY_COUNT_DESC)) {\n aggregationAsArray.sort = this.sort;\n }\n if (this.limit !== exports.AGGREGATION_NO_LIMIT) {\n aggregationAsArray.limit = this.limit;\n }\n if (this.promoted.length > 0) {\n aggregationAsArray.promoted = this.promoted;\n }\n return aggregationAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Aggregation}\n */\n Aggregation.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.field === \"undefined\") {\n array.field = \"uuid.type\";\n }\n if (typeof array.application_type === \"undefined\") {\n array.application_type = Filter_1.FILTER_AT_LEAST_ONE;\n }\n if (typeof array.filter_type === \"undefined\") {\n array.filter_type = Filter_1.FILTER_TYPE_FIELD;\n }\n if (typeof array.subgroup === \"undefined\") {\n array.subgroup = [];\n }\n if (typeof array.sort === \"undefined\") {\n array.sort = exports.AGGREGATION_SORT_BY_COUNT_DESC;\n }\n if (typeof array.limit === \"undefined\") {\n array.limit = exports.AGGREGATION_NO_LIMIT;\n }\n if (typeof array.promoted === \"undefined\") {\n array.promoted = [];\n }\n return Aggregation.create(array.name, array.field, array.application_type, array.filter_type, array.subgroup, array.sort, array.limit, array.promoted);\n };\n return Aggregation;\n}());\nexports.Aggregation = Aggregation;\n","\"use strict\";\nexports.__esModule = true;\nexports.Filter = exports.FILTER_TYPE_QUERY = exports.FILTER_TYPE_GEO = exports.FILTER_TYPE_DATE_RANGE = exports.FILTER_TYPE_RANGE = exports.FILTER_TYPE_FIELD = exports.FILTER_PROMOTE = exports.FILTER_EXCLUDE = exports.FILTER_AT_LEAST_ONE = exports.FILTER_MUST_ALL_WITH_LEVELS = exports.FILTER_MUST_ALL = void 0;\n/**\n * filter constants\n */\nexports.FILTER_MUST_ALL = 4;\nexports.FILTER_MUST_ALL_WITH_LEVELS = 5;\nexports.FILTER_AT_LEAST_ONE = 8;\nexports.FILTER_EXCLUDE = 16;\nexports.FILTER_PROMOTE = 32;\nexports.FILTER_TYPE_FIELD = \"field\";\nexports.FILTER_TYPE_RANGE = \"range\";\nexports.FILTER_TYPE_DATE_RANGE = \"date_range\";\nexports.FILTER_TYPE_GEO = \"geo\";\nexports.FILTER_TYPE_QUERY = \"query\";\n/**\n * Filter class\n */\nvar Filter = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param field\n * @param values\n * @param applicationType\n * @param filterType\n * @param filterTerms\n */\n function Filter(field, values, applicationType, filterType, filterTerms) {\n this.field = field;\n this.values = values;\n this.applicationType = applicationType;\n this.filterType = filterType;\n this.filterTerms = filterTerms;\n }\n /**\n * Get field\n *\n * @returns {string}\n */\n Filter.prototype.getField = function () {\n return this.field;\n };\n /**\n * Get values\n *\n * @returns {any}\n */\n Filter.prototype.getValues = function () {\n return this.values;\n };\n /**\n * Has value\n *\n * @param value\n *\n * @returns {boolean}\n */\n Filter.prototype.hasValue = function (value) {\n return typeof this.values[value] == \"undefined\";\n };\n /**\n * getApplicationType\n *\n * @returns {number}\n */\n Filter.prototype.getApplicationType = function () {\n return this.applicationType;\n };\n /**\n * Get filter type\n *\n * @return {string}\n */\n Filter.prototype.getFilterType = function () {\n return this.filterType;\n };\n /**\n * Get filter type\n *\n * @return {{}}\n */\n Filter.prototype.getFilterTerms = function () {\n return this.filterTerms;\n };\n /**\n * Create\n *\n * @param field\n * @param values\n * @param applicationType\n * @param filterType\n * @param filterTerms\n *\n * @return {Filter}\n */\n Filter.create = function (field, values, applicationType, filterType, filterTerms) {\n if (filterTerms === void 0) { filterTerms = []; }\n return new Filter(field, values, applicationType, filterType, filterTerms);\n };\n /**\n * To array\n *\n * @returns {Array}\n */\n Filter.prototype.toArray = function () {\n var filterAsArray = {};\n if (this.field != \"uuid.type\") {\n filterAsArray.field = this.field;\n }\n if (this.values.length > 0 ||\n Object.keys(this.values).length > 0) {\n filterAsArray.values = this.values;\n }\n if (this.applicationType != exports.FILTER_AT_LEAST_ONE) {\n filterAsArray.application_type = this.applicationType;\n }\n if (this.filterType != exports.FILTER_TYPE_FIELD) {\n filterAsArray.filter_type = this.filterType;\n }\n if (this.filterTerms.length > 0) {\n filterAsArray.filter_terms = this.filterTerms;\n }\n return filterAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Filter}\n */\n Filter.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.field == \"undefined\") {\n array.field = \"uuid.type\";\n }\n if (typeof array.values == \"undefined\") {\n array.values = [];\n }\n if (typeof array.application_type == \"undefined\") {\n array.application_type = exports.FILTER_AT_LEAST_ONE;\n }\n if (typeof array.filter_type == \"undefined\") {\n array.filter_type = exports.FILTER_TYPE_FIELD;\n }\n if (typeof array.filter_terms == \"undefined\") {\n array.filter_terms = [];\n }\n return Filter.create(array.field, array.values, array.application_type, array.filter_type, array.filter_terms);\n };\n return Filter;\n}());\nexports.Filter = Filter;\n","\"use strict\";\nexports.__esModule = true;\nexports.Query = exports.NO_MIN_SCORE = exports.QUERY_DEFAULT_SIZE = exports.QUERY_DEFAULT_PAGE = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Coordinate_1 = require(\"../Model/Coordinate\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\nvar Item_1 = require(\"../Model/Item\");\nvar User_1 = require(\"../Model/User\");\nvar Aggregation_1 = require(\"./Aggregation\");\nvar Filter_1 = require(\"./Filter\");\nvar Filter_2 = require(\"./Filter\");\nvar Aggregation_2 = require(\"./Aggregation\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar Filter_3 = require(\"./Filter\");\nvar ScoreStrategies_1 = require(\"./ScoreStrategies\");\nvar SortBy_1 = require(\"./SortBy\");\nvar IndexUUID_1 = require(\"../Model/IndexUUID\");\n/**\n * Query constants\n */\nexports.QUERY_DEFAULT_PAGE = 1;\nexports.QUERY_DEFAULT_SIZE = 10;\nexports.NO_MIN_SCORE = 0.0;\n/**\n * Query class\n */\nvar Query = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param queryText\n */\n function Query(queryText) {\n this.UUID = null;\n this.fields = [];\n this.universeFilters = {};\n this.filters = {};\n this.itemsPromoted = [];\n this.aggregations = {};\n this.resultsEnabled = true;\n this.aggregationsEnabled = true;\n this.numberOfSuggestions = 0;\n this.highlightsEnabled = false;\n this.autocompleteEnabled = false;\n this.searchableFields = [];\n this.fuzziness = null;\n this.minScore = exports.NO_MIN_SCORE;\n this.metadata = {};\n this.subqueries = {};\n this.queryOperator = null;\n this.sortByInstance = SortBy_1.SortBy.create();\n this.filters._query = Filter_1.Filter.create(\"\", [queryText], 0, Filter_3.FILTER_TYPE_QUERY);\n }\n /**\n * Created located\n *\n * @param coordinate\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Query.createLocated = function (coordinate, queryText, page, size) {\n if (page === void 0) { page = exports.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = exports.QUERY_DEFAULT_SIZE; }\n var query = Query.create(queryText, page, size);\n query.coordinate = coordinate;\n return query;\n };\n /**\n * Create\n *\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Query.create = function (queryText, page, size) {\n if (page === void 0) { page = exports.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = exports.QUERY_DEFAULT_SIZE; }\n page = Math.max(1, page);\n var query = new Query(queryText);\n query.from = (page - 1) * size;\n query.size = size;\n query.page = page;\n return query;\n };\n /**\n * Create match all\n *\n * @return {Query}\n */\n Query.createMatchAll = function () {\n return Query.create(\"\", exports.QUERY_DEFAULT_PAGE, exports.QUERY_DEFAULT_SIZE);\n };\n /**\n * Create by UUID\n *\n * @param uuid\n *\n * @return {Query}\n */\n Query.createByUUID = function (uuid) {\n return Query.createByUUIDs(uuid);\n };\n /**\n * Create by UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.createByUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n var ids = [];\n for (var i in uuids) {\n ids.push(uuids[i].composedUUID());\n }\n var query = Query.create(\"\", exports.QUERY_DEFAULT_PAGE, ids.length)\n .disableAggregations()\n .disableSuggestions();\n query.filters._id = Filter_1.Filter.create(\"_id\", ids, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD);\n return query;\n };\n /**\n * Create by UUIDs\n *\n * @param queries\n *\n * @return {Query}\n */\n Query.createMultiquery = function (queries) {\n var query = Query.createMatchAll();\n query.subqueries = queries;\n return query;\n };\n /**\n * set fields\n *\n * @param fields\n *\n * @return {Query}\n */\n Query.prototype.setFields = function (fields) {\n this.fields = fields;\n return this;\n };\n /**\n * get fields\n *\n * @return {string[]}\n */\n Query.prototype.getFields = function () {\n return this.fields;\n };\n /**\n * Filter universe by types\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByTypes = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"type\");\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"type\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters.type;\n }\n return this;\n };\n /**\n * Filter by types\n *\n * @param values\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByTypes = function (values, aggregate, aggregationSort) {\n var _a, _b;\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(\"type\");\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"type\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters.type;\n }\n if (aggregate) {\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_b = {}, _b[\"type\"] = Aggregation_1.Aggregation.create(\"type\", fieldPath, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD, [], aggregationSort), _b));\n }\n return this;\n };\n /**\n * Filter universe by ids\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByIds = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"id\");\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"id\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters.id;\n }\n return this;\n };\n /**\n * Filter by ids\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterByIds = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"id\");\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"id\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters.id;\n }\n return this;\n };\n /**\n * Filter universe by\n *\n * @param field\n * @param values\n * @param applicationType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseBy = function (field, values, applicationType) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[field] = Filter_1.Filter.create(fieldPath, values, applicationType, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters[field];\n }\n return this;\n };\n /**\n * Filter by\n *\n * @param filterName\n * @param field\n * @param values\n * @param applicationType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterBy = function (filterName, field, values, applicationType, aggregate, aggregationSort) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[filterName] = Filter_1.Filter.create(fieldPath, values, applicationType, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters[filterName];\n }\n if (aggregate) {\n this.aggregateBy(filterName, field, applicationType, aggregationSort);\n }\n return this;\n };\n /**\n * Filter universe by range\n *\n * @param field\n * @param values\n * @param applicationType\n * @param rangeType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByRange = function (field, values, applicationType, rangeType) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[field] = Filter_1.Filter.create(fieldPath, values, applicationType, rangeType), _a));\n }\n else {\n delete this.universeFilters[field];\n }\n return this;\n };\n /**\n * Filter universe by date range\n *\n * @param field\n * @param values\n * @param applicationType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByDateRange = function (field, values, applicationType) {\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n return this.filterUniverseByRange(field, values, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE);\n };\n /**\n * Filter by range\n *\n * @param filterName\n * @param field\n * @param ranges\n * @param values\n * @param applicationType\n * @param rangeType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByRange = function (filterName, field, ranges, values, applicationType, rangeType, aggregate, aggregationSort) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length !== 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[filterName] = Filter_1.Filter.create(fieldPath, values, applicationType, rangeType), _a));\n }\n else {\n delete this.filters[filterName];\n }\n if (aggregate) {\n this.aggregateByRange(filterName, fieldPath, ranges, applicationType, rangeType, aggregationSort);\n }\n return this;\n };\n /**\n * Filter by date range\n *\n * @param filterName\n * @param field\n * @param options\n * @param values\n * @param applicationType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByDateRange = function (filterName, field, options, values, applicationType, aggregate, aggregationSort) {\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n return this.filterByRange(filterName, field, options, values, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE, aggregate, aggregationSort);\n };\n /**\n * Filter universe by location\n *\n * @param locationRange\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByLocation = function (locationRange) {\n var _a;\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"coordinate\"] = Filter_1.Filter.create(\"coordinate\", locationRange.toArray(), Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_GEO), _a));\n return this;\n };\n /**\n * Set filter fields\n *\n * @param searchableFields\n *\n * @return {Query}\n */\n Query.prototype.setSearchableFields = function (searchableFields) {\n this.searchableFields = searchableFields;\n return this;\n };\n /**\n * Get filter fields\n *\n * @return {string[]}\n */\n Query.prototype.getSearchableFields = function () {\n return this.searchableFields;\n };\n /**\n * Sort by\n *\n * @param sortBy\n *\n * @return {Query}\n */\n Query.prototype.sortBy = function (sortBy) {\n if (sortBy.isSortedByGeoDistance()) {\n if (!(this.coordinate instanceof Coordinate_1.Coordinate)) {\n throw InvalidFormatError_1.InvalidFormatError.querySortedByDistanceWithoutCoordinate();\n }\n sortBy.setCoordinate(this.coordinate);\n }\n this.sortByInstance = sortBy;\n return this;\n };\n /**\n * Aggregate by\n *\n * @param filterName\n * @param field\n * @param applicationType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateBy = function (filterName, field, applicationType, aggregationSort, limit, promoted) {\n var _a;\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_a = {}, _a[filterName] = Aggregation_1.Aggregation.create(filterName, Item_1.Item.getPathByField(field), applicationType, Filter_2.FILTER_TYPE_FIELD, [], aggregationSort, limit, promoted), _a));\n return this;\n };\n /**\n * Aggregate by range\n *\n * @param filterName\n * @param field\n * @param ranges\n * @param applicationType\n * @param rangeType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateByRange = function (filterName, field, ranges, applicationType, rangeType, aggregationSort, limit, promoted) {\n var _a;\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n if (ranges.length === 0) {\n return this;\n }\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_a = {}, _a[filterName] = Aggregation_1.Aggregation.create(filterName, Item_1.Item.getPathByField(field), applicationType, rangeType, ranges, aggregationSort, limit, promoted), _a));\n return this;\n };\n /**\n * Aggregate by date range\n *\n * @param filterName\n * @param field\n * @param options\n * @param applicationType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateByDateRange = function (filterName, field, options, applicationType, aggregationSort, limit, promoted) {\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n return this.aggregateByRange(filterName, field, options, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE, aggregationSort, limit, promoted);\n };\n /**\n * Get aggregations\n *\n * @return {{}}\n */\n Query.prototype.getAggregations = function () {\n return this.aggregations;\n };\n /**\n * Get aggregation by name\n *\n * @param aggregationName\n *\n * @return {Aggregation|null}\n */\n Query.prototype.getAggregation = function (aggregationName) {\n return this.aggregations[aggregationName] instanceof Aggregation_1.Aggregation\n ? this.aggregations[aggregationName]\n : null;\n };\n /**\n * Get query text\n *\n * @return {string}\n */\n Query.prototype.getQueryText = function () {\n var filter = this.filters._query;\n return filter instanceof Filter_1.Filter\n ? filter.getValues()[0]\n : \"\";\n };\n /**\n * Get universe filters\n *\n * @return {{}}\n */\n Query.prototype.getUniverseFilters = function () {\n return this.universeFilters;\n };\n /**\n * Get universe filter by name\n *\n * @param filterName\n *\n * @return {Filter|null}\n */\n Query.prototype.getUniverseFilter = function (filterName) {\n return this.universeFilters[filterName] instanceof Filter_1.Filter\n ? this.universeFilters[filterName]\n : null;\n };\n /**\n * Get filters\n *\n * @return {{}}\n */\n Query.prototype.getFilters = function () {\n return this.filters;\n };\n /**\n * Get filter by name\n *\n * @param filterName\n *\n * @return {Filter|null}\n */\n Query.prototype.getFilter = function (filterName) {\n return this.filters[filterName] instanceof Filter_1.Filter\n ? this.filters[filterName]\n : null;\n };\n /**\n * Get filter by field\n *\n * @param fieldName\n *\n * @return {Filter|null}\n */\n Query.prototype.getFilterByField = function (fieldName) {\n var fieldPath = Item_1.Item.getPathByField(fieldName);\n for (var i in this.filters) {\n if (this.filters[i].getField() == fieldPath) {\n return this.filters[i];\n }\n }\n return null;\n };\n /**\n * Get sort by\n *\n * @return {SortBy}\n */\n Query.prototype.getSortBy = function () {\n return this.sortByInstance;\n };\n /**\n * Get from\n *\n * @return {number}\n */\n Query.prototype.getFrom = function () {\n return this.from;\n };\n /**\n * Get size\n *\n * @return {number}\n */\n Query.prototype.getSize = function () {\n return this.size;\n };\n /**\n * Get page\n *\n * @return {number}\n */\n Query.prototype.getPage = function () {\n return this.page;\n };\n /**\n * Enable results\n *\n * @return {Query}\n */\n Query.prototype.enableResults = function () {\n this.resultsEnabled = true;\n return this;\n };\n /**\n * Disable results\n *\n * @return {Query}\n */\n Query.prototype.disableResults = function () {\n this.resultsEnabled = false;\n return this;\n };\n /**\n * Are results enabled\n *\n * @return {boolean}\n */\n Query.prototype.areResultsEnabled = function () {\n return this.resultsEnabled;\n };\n /**\n * Enable aggregations\n *\n * @return {Query}\n */\n Query.prototype.enableAggregations = function () {\n this.aggregationsEnabled = true;\n return this;\n };\n /**\n * Disable aggregations\n *\n * @return {Query}\n */\n Query.prototype.disableAggregations = function () {\n this.aggregationsEnabled = false;\n return this;\n };\n /**\n * Are aggregations enabled\n *\n * @return {boolean}\n */\n Query.prototype.areAggregationsEnabled = function () {\n return this.aggregationsEnabled;\n };\n /**\n * Set number of suggestions\n *\n * @param numberOfSuggestions\n *\n * @return {Query}\n */\n Query.prototype.setNumberOfSuggestions = function (numberOfSuggestions) {\n this.numberOfSuggestions = numberOfSuggestions;\n return this;\n };\n /**\n * Disable suggestions\n *\n * @return {Query}\n */\n Query.prototype.disableSuggestions = function () {\n this.numberOfSuggestions = 0;\n return this;\n };\n /**\n * Get number of suggestions\n *\n * @return {number}\n */\n Query.prototype.getNumberOfSuggestions = function () {\n return this.numberOfSuggestions;\n };\n /**\n * Enable autocomplete\n *\n * @return {Query}\n */\n Query.prototype.enableAutocomplete = function () {\n this.autocompleteEnabled = true;\n return this;\n };\n /**\n * Disable autocomplete\n *\n * @return {Query}\n */\n Query.prototype.disableAutocomplete = function () {\n this.autocompleteEnabled = false;\n return this;\n };\n /**\n * Are autocomplete enabled\n *\n * @return {boolean}\n */\n Query.prototype.areAutocompleteEnabled = function () {\n return this.autocompleteEnabled;\n };\n /**\n * Enable highlights\n *\n * @return {Query}\n */\n Query.prototype.enableHighlights = function () {\n this.highlightsEnabled = true;\n return this;\n };\n /**\n * Disable highlights\n *\n * @return {Query}\n */\n Query.prototype.disableHighlights = function () {\n this.highlightsEnabled = false;\n return this;\n };\n /**\n * Are highlights enabled\n *\n * @return {boolean}\n */\n Query.prototype.areHighlightsEnabled = function () {\n return this.highlightsEnabled;\n };\n /**\n * Promote uuid\n *\n * @param itemUUID\n *\n * @return {Query}\n */\n Query.prototype.promoteUUID = function (itemUUID) {\n this\n .itemsPromoted\n .push(itemUUID);\n return this;\n };\n /**\n * Promote UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.prototype.promoteUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n this.itemsPromoted = uuids;\n return this;\n };\n /**\n * Get promoted UUIDs\n *\n * @return {ItemUUID[]}\n */\n Query.prototype.getItemsPromoted = function () {\n return this.itemsPromoted;\n };\n /**\n * Exclude id\n *\n * @param itemUUID\n *\n * @return {Query}\n */\n Query.prototype.excludeUUID = function (itemUUID) {\n this.excludeUUIDs(itemUUID);\n return this;\n };\n /**\n * Exclude UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.prototype.excludeUUIDs = function () {\n var _a;\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"excluded_ids\"] = Filter_1.Filter.create(\"_id\", uuids.map(function (uuid) { return uuid.composedUUID(); }), Filter_2.FILTER_EXCLUDE, Filter_2.FILTER_TYPE_FIELD), _a));\n return this;\n };\n /**\n * Get score strategies\n *\n * @return {ScoreStrategies}\n */\n Query.prototype.getScoreStrategies = function () {\n return this.scoreStrategies;\n };\n /**\n * Set score strategies\n *\n * @param scoreStrategies\n */\n Query.prototype.setScoreStrategies = function (scoreStrategies) {\n this.scoreStrategies = scoreStrategies;\n return this;\n };\n /**\n * Get fuzziness\n *\n * @return any\n */\n Query.prototype.getFuzziness = function () {\n return this.fuzziness;\n };\n /**\n * Set fuzziness\n *\n * @param fuzziness\n *\n * @return {Query}\n */\n Query.prototype.setFuzziness = function (fuzziness) {\n this.fuzziness = fuzziness;\n return this;\n };\n /**\n * Set auto fuzziness\n *\n * @return {Query}\n */\n Query.prototype.setAutoFuzziness = function () {\n this.fuzziness = 'AUTO';\n return this;\n };\n /**\n * Get min score\n *\n * @return any\n */\n Query.prototype.getMinScore = function () {\n return this.minScore;\n };\n /**\n * Set min score\n *\n * @param minScore\n *\n * @return {Query}\n */\n Query.prototype.setMinScore = function (minScore) {\n this.minScore = minScore;\n return this;\n };\n /**\n * By user\n *\n * @param user\n *\n * @return {Query}\n */\n Query.prototype.byUser = function (user) {\n this.user = user;\n return this;\n };\n /**\n * By anyone\n *\n * @return {null}\n */\n Query.prototype.anonymously = function () {\n this.user = null;\n return null;\n };\n /**\n * Get user\n *\n * @return {User}\n */\n Query.prototype.getUser = function () {\n return this.user;\n };\n /**\n * set metadata value\n *\n * @param name\n * @param value\n *\n * @return {Query}\n */\n Query.prototype.setMetadataValue = function (name, value) {\n this.metadata[name] = value;\n return this;\n };\n /**\n * Get metadata\n *\n * @return any\n */\n Query.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Add subquery\n *\n * @param name\n * @param subquery\n *\n * @return {Query}\n */\n Query.prototype.addSubquery = function (name, subquery) {\n this.subqueries[name] = subquery;\n return this;\n };\n /**\n * Get subqueries\n *\n * @return {Object}\n */\n Query.prototype.getSubqueries = function () {\n return this.subqueries;\n };\n /**\n * Identify it\n *\n * @param UUID\n *\n * @return {Query}\n */\n Query.prototype.identifyWith = function (UUID) {\n this.UUID = UUID;\n return this;\n };\n /**\n * Get identification\n *\n * @return {string|null}\n */\n Query.prototype.getUUID = function () {\n return this.UUID;\n };\n /**\n * Force Index UUID.\n *\n * @param indexUUID\n *\n * @return {Query}\n */\n Query.prototype.forceIndexUUID = function (indexUUID) {\n this.indexUUID = indexUUID;\n return this;\n };\n /**\n * Get IndexUUID\n *\n * @return {IndexUUID|null}\n */\n Query.prototype.getIndexUUID = function () {\n return this.indexUUID;\n };\n Query.prototype.setQueryOperator = function (queryOperator) {\n this.queryOperator = queryOperator;\n return this;\n };\n Query.prototype.getQueryOperator = function () {\n return this.queryOperator;\n };\n Query.prototype.optimize = function () {\n var _a, _b;\n var copy = this.toArray();\n var extraFilters = [];\n var otherAggregations = {};\n Object.keys((_a = copy.aggregations) !== null && _a !== void 0 ? _a : {}).forEach(function (key) {\n if (copy.aggregations[key].field.startsWith(\"indexed_metadata._\")) {\n extraFilters.push(copy.aggregations[key].field.slice(18));\n }\n else {\n otherAggregations[key] = copy.aggregations[key];\n }\n });\n copy.aggregations = otherAggregations;\n copy.metadata = (_b = copy.metadata) !== null && _b !== void 0 ? _b : [];\n copy.metadata.ef = extraFilters;\n return Query.createFromArray(copy);\n };\n /**\n * To array\n *\n * @return {any}\n */\n Query.prototype.toArray = function () {\n var array = {};\n if (this.UUID !== null) {\n array.UUID = this.UUID;\n }\n if (this.getQueryText() !== \"\") {\n array.q = this.getQueryText();\n }\n if (this.coordinate instanceof Coordinate_1.Coordinate) {\n array.coordinate = this.coordinate.toArray();\n }\n /**\n * Fields\n */\n if (this.fields instanceof Array &&\n this.fields.length > 0) {\n array.fields = this.fields;\n }\n /**\n * Universe Filters\n */\n if (Object.keys(this.universeFilters).length) {\n array.universe_filters = {};\n for (var i in this.universeFilters) {\n var universeFilter = this.universeFilters[i];\n array.universe_filters[i] = universeFilter.toArray();\n }\n }\n /**\n * Filters\n */\n if (this.filters instanceof Object &&\n Object.keys(this.filters).length) {\n var filters = {};\n for (var i in this.filters) {\n var filter = this.filters[i];\n if (filter.getFilterType() !== Filter_3.FILTER_TYPE_QUERY) {\n filters[i] = filter.toArray();\n }\n }\n if (Object.keys(filters).length > 0) {\n array.filters = filters;\n }\n }\n /**\n * Aggregations\n */\n if (this.aggregations instanceof Object &&\n Object.keys(this.aggregations).length) {\n array.aggregations = {};\n for (var i in this.aggregations) {\n var aggregation = this.aggregations[i];\n array.aggregations[i] = aggregation.toArray();\n }\n }\n /**\n * Sort\n */\n var sort = this.sortByInstance.toArray();\n if (Object.keys(sort).length) {\n array.sort = sort;\n }\n /**\n * Page\n */\n var page = this.page;\n if (page !== exports.QUERY_DEFAULT_PAGE) {\n array.page = page;\n }\n /**\n * Size\n */\n var size = this.size;\n if (size !== exports.QUERY_DEFAULT_SIZE) {\n array.size = size;\n }\n /**\n * Booleans\n */\n if (this.resultsEnabled === false) {\n array.results_enabled = false;\n }\n if (this.autocompleteEnabled === true) {\n array.autocomplete_enabled = true;\n }\n if (this.numberOfSuggestions !== 0) {\n array.number_of_suggestions = this.numberOfSuggestions;\n }\n if (this.highlightsEnabled === true) {\n array.highlight_enabled = true;\n }\n if (this.aggregationsEnabled === false) {\n array.aggregations_enabled = false;\n }\n /**\n * Filter fields\n */\n if (this.searchableFields instanceof Array &&\n this.searchableFields.length > 0) {\n array.searchable_fields = this.searchableFields;\n }\n /**\n * Score strategies\n */\n if (this.scoreStrategies instanceof ScoreStrategies_1.ScoreStrategies) {\n var scoreStrategiesAsArray = this.scoreStrategies.toArray();\n if (Object.keys(scoreStrategiesAsArray).length > 0) {\n array.score_strategies = scoreStrategiesAsArray;\n }\n }\n if (this.fuzziness !== null) {\n array.fuzziness = this.fuzziness;\n }\n /**\n * Min score\n */\n var minScore = this.minScore;\n if (minScore !== exports.NO_MIN_SCORE) {\n array.min_score = minScore;\n }\n /**\n * User\n */\n if (this.user instanceof User_1.User) {\n array.user = this.user.toArray();\n }\n if (Object.keys(this.metadata).length > 0) {\n array.metadata = this.metadata;\n }\n if (this.subqueries instanceof Object &&\n Object.keys(this.subqueries).length) {\n array.subqueries = {};\n for (var i in this.subqueries) {\n var subquery = this.subqueries[i];\n array.subqueries[i] = subquery.toArray();\n }\n }\n if (this.indexUUID instanceof IndexUUID_1.IndexUUID) {\n array.index_uuid = this.indexUUID.toArray();\n }\n /**\n * items promoted\n */\n if (this.itemsPromoted.length > 0) {\n array.items_promoted = [];\n for (var i in this.itemsPromoted) {\n array\n .items_promoted\n .push(this.itemsPromoted[i].toArray());\n }\n }\n if (this.queryOperator !== \"or\" && this.queryOperator !== null) {\n array.query_operator = this.queryOperator;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Query}\n */\n Query.createFromArray = function (array) {\n var query = array.coordinate instanceof Object\n ? Query.createLocated(Coordinate_1.Coordinate.createFromArray(array.coordinate), array.q ? array.q : \"\", array.page ? array.page : exports.QUERY_DEFAULT_PAGE, array.size ? array.size : exports.QUERY_DEFAULT_SIZE)\n : Query.create(array.q ? array.q : \"\", array.page ? array.page : exports.QUERY_DEFAULT_PAGE, array.size ? array.size : exports.QUERY_DEFAULT_SIZE);\n query.UUID = typeof array.UUID === typeof \"\"\n ? array.UUID\n : undefined;\n /**\n * Fields\n */\n query.fields = array.fields instanceof Array\n ? array.fields\n : [];\n /**\n * Aggregations\n */\n var aggregationsAsArray = typeof array.aggregations === typeof {}\n ? array.aggregations\n : {};\n for (var i in aggregationsAsArray) {\n query.aggregations[i] = Aggregation_1.Aggregation.createFromArray(aggregationsAsArray[i]);\n }\n /**\n * Sort\n */\n var sortAsArray = typeof array.sort === typeof {}\n ? array.sort\n : {};\n if (Object.keys(sortAsArray).length > 0) {\n query.sortByInstance = SortBy_1.SortBy.createFromArray(sortAsArray);\n }\n /**\n * Filters\n */\n var filtersAsArray = typeof array.filters === typeof {}\n ? array.filters\n : {};\n for (var i in filtersAsArray) {\n query.filters[i] = Filter_1.Filter.createFromArray(filtersAsArray[i]);\n }\n /**\n * Universe Filters\n */\n var universeFiltersAsArray = typeof array.universe_filters === typeof {}\n ? array.universe_filters\n : {};\n for (var i in universeFiltersAsArray) {\n query.universeFilters[i] = Filter_1.Filter.createFromArray(universeFiltersAsArray[i]);\n }\n /**\n * Booleans\n */\n query.resultsEnabled = typeof array.results_enabled === \"boolean\"\n ? array.results_enabled\n : true;\n query.numberOfSuggestions = typeof array.number_of_suggestions === \"number\"\n ? array.number_of_suggestions\n : 0;\n query.autocompleteEnabled = typeof array.autocomplete_enabled === \"boolean\"\n ? array.autocomplete_enabled\n : false;\n query.aggregationsEnabled = typeof array.aggregations_enabled === \"boolean\"\n ? array.aggregations_enabled\n : true;\n query.highlightsEnabled = typeof array.highlight_enabled === \"boolean\"\n ? array.highlight_enabled\n : false;\n query.fuzziness = array.fuzziness ? array.fuzziness : null;\n query.minScore = array.min_score ? array.min_score : exports.NO_MIN_SCORE;\n /**\n * Items promoted\n */\n var itemsPromotedAsArray = typeof array.items_promoted === typeof {}\n ? array.items_promoted\n : {};\n for (var i in itemsPromotedAsArray) {\n query\n .itemsPromoted\n .push(ItemUUID_1.ItemUUID.createFromArray(itemsPromotedAsArray[i]));\n }\n /**\n * Subqueries\n */\n var subqueriesAsArray = typeof array.subqueries === typeof {}\n ? array.subqueries\n : {};\n for (var i in subqueriesAsArray) {\n query.subqueries[i] = Query.createFromArray(subqueriesAsArray[i]);\n }\n /**\n * Filter fields\n */\n query.metadata = typeof array.metadata === typeof {}\n ? array.metadata\n : {};\n query.searchableFields = array.searchable_fields instanceof Array\n ? array.searchable_fields\n : [];\n query.scoreStrategies = array.score_strategies instanceof Object\n ? ScoreStrategies_1.ScoreStrategies.createFromArray(array.score_strategies)\n : undefined;\n query.user = array.user instanceof Object\n ? User_1.User.createFromArray(array.user)\n : undefined;\n query.indexUUID = array.index_uuid instanceof Object\n ? IndexUUID_1.IndexUUID.createFromArray(array.index_uuid)\n : undefined;\n query.queryOperator = typeof array.query_operator === \"string\"\n ? array.query_operator\n : \"or\";\n return query;\n };\n return Query;\n}());\nexports.Query = Query;\n","\"use strict\";\nexports.__esModule = true;\nexports.Range = exports.RANGE_SEPARATOR = exports.RANGE_INFINITE = exports.RANGE_MINUS_INFINITE = void 0;\n/**\n * Aggregation constants\n */\nexports.RANGE_MINUS_INFINITE = null;\nexports.RANGE_INFINITE = null;\nexports.RANGE_SEPARATOR = \"..\";\n/**\n * Filter class\n */\nvar Range = /** @class */ (function () {\n function Range() {\n }\n /**\n * Strong to array\n *\n * @param string\n *\n * @returns {[number, number]}\n */\n Range.stringToArray = function (string) {\n var parts = string.split(exports.RANGE_SEPARATOR);\n var from = parts[0];\n var to = parts[1];\n var finalFrom = exports.RANGE_MINUS_INFINITE;\n var finalTo = exports.RANGE_INFINITE;\n if (from != \"\") {\n finalFrom = parseInt(from);\n }\n if (to != \"\") {\n finalTo = parseInt(to);\n }\n return [finalFrom, finalTo];\n };\n /**\n * Array to string\n *\n * @param values\n *\n * @return {string}\n */\n Range.arrayToString = function (values) {\n var finalValues = [\"\", \"\"];\n if (values[0] != exports.RANGE_MINUS_INFINITE) {\n finalValues[0] = String(values[0]);\n }\n if (values[1] != exports.RANGE_INFINITE) {\n finalValues[1] = String(values[1]);\n }\n return finalValues.join(exports.RANGE_SEPARATOR);\n };\n /**\n * Create ranges\n *\n * @param from\n * @param to\n * @param incremental\n */\n Range.createRanges = function (from, to, incremental) {\n var ranges = [];\n var nextTo;\n while (from < to) {\n nextTo = from + incremental;\n ranges.push(from + exports.RANGE_SEPARATOR + nextTo);\n from = nextTo;\n }\n return ranges;\n };\n return Range;\n}());\nexports.Range = Range;\n","\"use strict\";\nexports.__esModule = true;\nexports.ScoreStrategies = exports.MIN = exports.MAX = exports.AVG = exports.SUM = exports.MULTIPLY = void 0;\nvar ScoreStrategy_1 = require(\"./ScoreStrategy\");\n/**\n * ScoreStrategies constants\n */\nexports.MULTIPLY = 'multiply';\nexports.SUM = 'sum';\nexports.AVG = 'avg';\nexports.MAX = 'max';\nexports.MIN = 'min';\n/**\n * ScoreStrategies\n */\nvar ScoreStrategies = /** @class */ (function () {\n function ScoreStrategies() {\n this.scoreStrategies = [];\n }\n /**\n * Create empty\n *\n * @param scoreMode\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.createEmpty = function (scoreMode) {\n if (scoreMode === void 0) { scoreMode = exports.SUM; }\n var scoreStrategies = new ScoreStrategies;\n scoreStrategies.scoreMode = scoreMode;\n return scoreStrategies;\n };\n /**\n * Add score strategy\n *\n * @param scoreStrategy\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.prototype.addScoreStrategy = function (scoreStrategy) {\n this.scoreStrategies.push(scoreStrategy);\n return this;\n };\n /**\n * Get score strategies\n *\n * @return {ScoreStrategy[]}\n */\n ScoreStrategies.prototype.getScoreStrategies = function () {\n return this.scoreStrategies;\n };\n /**\n * Get score mode\n *\n * @return {string}\n */\n ScoreStrategies.prototype.getScoreMode = function () {\n return this.scoreMode;\n };\n /**\n * To array\n *\n * @return {{\n * score_mode: string,\n * score_strategies: any\n * }}\n */\n ScoreStrategies.prototype.toArray = function () {\n var scoreStrategiesAsArray = [];\n for (var i in this.scoreStrategies) {\n scoreStrategiesAsArray.push(this.scoreStrategies[i].toArray());\n }\n return {\n score_mode: this.scoreMode,\n score_strategies: scoreStrategiesAsArray\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var scoreStrategies = (typeof array.score_mode != \"undefined\")\n ? ScoreStrategies.createEmpty(array.score_mode)\n : ScoreStrategies.createEmpty();\n scoreStrategies.scoreStrategies = [];\n for (var i in array.score_strategies) {\n scoreStrategies\n .scoreStrategies\n .push(ScoreStrategy_1.ScoreStrategy.createFromArray(array.score_strategies[i]));\n }\n return scoreStrategies;\n };\n return ScoreStrategies;\n}());\nexports.ScoreStrategies = ScoreStrategies;\n","\"use strict\";\nexports.__esModule = true;\nexports.ScoreStrategy = exports.DEFAULT_FACTOR = exports.DEFAULT_MISSING = exports.SCORE_MODE_MIN = exports.SCORE_MODE_MAX = exports.SCORE_MODE_AVG = exports.SCORE_MODE_SUM = exports.SCORE_MODE_NONE = exports.MODIFIER_SQUARE = exports.MODIFIER_LN = exports.MODIFIER_LOG = exports.MODIFIER_SQRT = exports.MODIFIER_NONE = exports.DECAY_GAUSS = exports.DECAY_EXP = exports.DECAY_LINEAR = exports.DECAY = exports.CUSTOM_FUNCTION = exports.BOOSTING_FIELD_VALUE = exports.DEFAULT_WEIGHT = exports.DEFAULT_TYPE = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar Filter_1 = require(\"./Filter\");\n/**\n * ScoreStrategy constants\n */\nexports.DEFAULT_TYPE = 'default';\nexports.DEFAULT_WEIGHT = 1.0;\nexports.BOOSTING_FIELD_VALUE = 'field_value';\nexports.CUSTOM_FUNCTION = 'custom_function';\nexports.DECAY = 'decay';\nexports.DECAY_LINEAR = 'linear';\nexports.DECAY_EXP = 'exp';\nexports.DECAY_GAUSS = 'gauss';\nexports.MODIFIER_NONE = 'none';\nexports.MODIFIER_SQRT = 'sqrt';\nexports.MODIFIER_LOG = 'log';\nexports.MODIFIER_LN = 'ln';\nexports.MODIFIER_SQUARE = 'square';\nexports.SCORE_MODE_NONE = 'none';\nexports.SCORE_MODE_SUM = 'sum';\nexports.SCORE_MODE_AVG = 'avg';\nexports.SCORE_MODE_MAX = 'max';\nexports.SCORE_MODE_MIN = 'min';\nexports.DEFAULT_MISSING = 1.0;\nexports.DEFAULT_FACTOR = 1.0;\n/**\n * ScoreStrategy\n */\nvar ScoreStrategy = /** @class */ (function () {\n function ScoreStrategy() {\n this.type = exports.DEFAULT_TYPE;\n this.filter = null;\n this.weight = exports.DEFAULT_WEIGHT;\n this.scoreMode = exports.SCORE_MODE_AVG;\n this.configuration = {};\n }\n /**\n * Get type\n *\n * @returns {string}\n */\n ScoreStrategy.prototype.getType = function () {\n return this.type;\n };\n /**\n * Get configuration value\n *\n * @returns {string}\n */\n ScoreStrategy.prototype.getConfigurationValue = function (element) {\n if (typeof this.configuration[element] == \"undefined\") {\n return null;\n }\n return this.configuration[element];\n };\n /**\n * Get weight.\n *\n * @return {number}\n */\n ScoreStrategy.prototype.getWeight = function () {\n return this.weight;\n };\n /**\n * Get score mode.\n *\n * @return {string}\n */\n ScoreStrategy.prototype.getScoreMode = function () {\n return this.scoreMode;\n };\n /**\n * Get filter.\n *\n * @return {Filter}\n */\n ScoreStrategy.prototype.getFilter = function () {\n return this.filter;\n };\n /**\n * Create default\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createDefault = function () {\n return new ScoreStrategy();\n };\n /**\n * Create field boosting\n *\n * @param field\n * @param factor\n * @param missing\n * @param modifier\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createFieldBoosting = function (field, factor, missing, modifier, weight, filter, scoreMode) {\n if (factor === void 0) { factor = exports.DEFAULT_FACTOR; }\n if (missing === void 0) { missing = exports.DEFAULT_MISSING; }\n if (modifier === void 0) { modifier = exports.MODIFIER_NONE; }\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.BOOSTING_FIELD_VALUE;\n scoreStrategy.configuration['field'] = field;\n scoreStrategy.configuration['factor'] = factor;\n scoreStrategy.configuration['missing'] = missing;\n scoreStrategy.configuration['modifier'] = modifier;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Create custom function\n *\n * @param func\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createCustomFunction = function (func, weight, filter, scoreMode) {\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.CUSTOM_FUNCTION;\n scoreStrategy.configuration['function'] = func;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Create decay function\n *\n * @param type\n * @param field\n * @param origin\n * @param scale\n * @param offset\n * @param decay\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createDecayFunction = function (type, field, origin, scale, offset, decay, weight, filter, scoreMode) {\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.DECAY;\n scoreStrategy.configuration['type'] = type;\n scoreStrategy.configuration['field'] = field;\n scoreStrategy.configuration['origin'] = origin;\n scoreStrategy.configuration['scale'] = scale;\n scoreStrategy.configuration['offset'] = offset;\n scoreStrategy.configuration['decay'] = decay;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Fix filter path.\n *\n * @param filter\n *\n * @return {Filter}\n */\n ScoreStrategy.fixFilterFieldPath = function (filter) {\n if (filter == null) {\n return filter;\n }\n var filterAsArray = filter.toArray();\n filterAsArray['field'] = Item_1.Item.getPathByField(filterAsArray['field']);\n return Filter_1.Filter.createFromArray(filterAsArray);\n };\n /**\n * To array\n *\n * @return {{\n * type: string,\n * configuration: any,\n * weight: number,\n * score_mode: string,\n * filter: any\n * }}\n */\n ScoreStrategy.prototype.toArray = function () {\n return {\n type: this.type,\n configuration: this.configuration,\n weight: this.weight,\n score_mode: this.scoreMode,\n filter: this.filter instanceof Filter_1.Filter\n ? this.filter.toArray()\n : null\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var scoreStrategy = ScoreStrategy.createDefault();\n if (typeof array.type != \"undefined\") {\n scoreStrategy.type = array.type;\n }\n if (typeof array.configuration != \"undefined\") {\n scoreStrategy.configuration = array.configuration;\n }\n if (typeof array.weight != \"undefined\") {\n scoreStrategy.weight = array.weight;\n }\n if (typeof array.score_mode != \"undefined\") {\n scoreStrategy.scoreMode = array.score_mode;\n }\n if (typeof array.filter === 'object' && array.filter !== null) {\n scoreStrategy.filter = Filter_1.Filter.createFromArray(array.filter);\n }\n return scoreStrategy;\n };\n return ScoreStrategy;\n}());\nexports.ScoreStrategy = ScoreStrategy;\n","\"use strict\";\nexports.__esModule = true;\nexports.SortBy = exports.SORT_BY_LOCATION_MI_ASC = exports.SORT_BY_LOCATION_KM_ASC = exports.SORT_BY_TYPE_DESC = exports.SORT_BY_TYPE_ASC = exports.SORT_BY_ID_DESC = exports.SORT_BY_ID_ASC = exports.SORT_BY_AL_TUN_TUN = exports.SORT_BY_RANDOM = exports.SORT_BY_SCORE = exports.SORT_BY_MODE_MEDIAN = exports.SORT_BY_MODE_MAX = exports.SORT_BY_MODE_MIN = exports.SORT_BY_MODE_SUM = exports.SORT_BY_MODE_AVG = exports.SORT_BY_DESC = exports.SORT_BY_ASC = exports.SORT_BY_TYPE_RANDOM = exports.SORT_BY_TYPE_FUNCTION = exports.SORT_BY_TYPE_DISTANCE = exports.SORT_BY_TYPE_SCORE = exports.SORT_BY_TYPE_NESTED = exports.SORT_BY_TYPE_FIELD = void 0;\nvar __1 = require(\"..\");\nvar Filter_1 = require(\"./Filter\");\n/**\n export * Sort by constants\n */\nexports.SORT_BY_TYPE_FIELD = 'field';\nexports.SORT_BY_TYPE_NESTED = 'nested';\nexports.SORT_BY_TYPE_SCORE = 'score';\nexports.SORT_BY_TYPE_DISTANCE = 'distance';\nexports.SORT_BY_TYPE_FUNCTION = 'function';\nexports.SORT_BY_TYPE_RANDOM = 'random';\nexports.SORT_BY_ASC = \"asc\";\nexports.SORT_BY_DESC = \"desc\";\nexports.SORT_BY_MODE_AVG = \"avg\";\nexports.SORT_BY_MODE_SUM = \"sum\";\nexports.SORT_BY_MODE_MIN = \"min\";\nexports.SORT_BY_MODE_MAX = \"max\";\nexports.SORT_BY_MODE_MEDIAN = \"median\";\nexports.SORT_BY_SCORE = {\n type: exports.SORT_BY_TYPE_SCORE,\n};\nexports.SORT_BY_RANDOM = {\n type: exports.SORT_BY_TYPE_RANDOM,\n};\nexports.SORT_BY_AL_TUN_TUN = exports.SORT_BY_RANDOM;\nexports.SORT_BY_ID_ASC = {\n field: \"uuid.id\",\n order: exports.SORT_BY_ASC\n};\nexports.SORT_BY_ID_DESC = {\n field: \"uuid.id\",\n order: exports.SORT_BY_DESC\n};\nexports.SORT_BY_TYPE_ASC = {\n field: \"uuid.type\",\n order: exports.SORT_BY_ASC\n};\nexports.SORT_BY_TYPE_DESC = {\n field: \"uuid.type\",\n order: exports.SORT_BY_DESC\n};\nexports.SORT_BY_LOCATION_KM_ASC = {\n type: exports.SORT_BY_TYPE_DISTANCE,\n unit: \"km\"\n};\nexports.SORT_BY_LOCATION_MI_ASC = {\n type: exports.SORT_BY_TYPE_DISTANCE,\n unit: \"mi\"\n};\n/**\n * ScoreStrategy\n */\nvar SortBy = /** @class */ (function () {\n function SortBy() {\n this.sortsBy = [];\n }\n /**\n * Create\n *\n * @return {SortBy}\n */\n SortBy.create = function () {\n return new SortBy;\n };\n /**\n * Sort By fields values\n *\n * @param shortSortByElements\n *\n * @return {SortBy}\n */\n SortBy.byFieldsValues = function (shortSortByElements) {\n var sortBy = SortBy.create();\n for (var key in shortSortByElements) {\n sortBy.byFieldValue(key, shortSortByElements[key]);\n }\n return sortBy;\n };\n /**\n * All\n *\n * @return {Array}\n */\n SortBy.prototype.all = function () {\n return this.sortsBy.length > 0\n ? this.sortsBy\n : [exports.SORT_BY_SCORE];\n };\n /**\n * Sort by value\n *\n * @param value\n *\n * @return {SortBy}\n */\n SortBy.prototype.byValue = function (value) {\n if (exports.SORT_BY_SCORE != value &&\n exports.SORT_BY_RANDOM != value) {\n if (typeof value.type == \"undefined\") {\n value.type = exports.SORT_BY_TYPE_FIELD;\n }\n }\n if (exports.SORT_BY_SCORE != value) {\n this.sortsBy.push(value);\n }\n return this;\n };\n /**\n * Sort by field value\n *\n * @param field\n * @param order\n *\n * @return {SortBy}\n */\n SortBy.prototype.byFieldValue = function (field, order) {\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_FIELD,\n field: __1.Item.getPathByField(field),\n order: order\n });\n return this;\n };\n /**\n * Sort by nested field\n *\n * @param field\n * @param order\n * @param mode\n *\n * @return {SortBy}\n */\n SortBy.prototype.byNestedField = function (field, order, mode) {\n if (mode === void 0) { mode = exports.SORT_BY_MODE_AVG; }\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_NESTED,\n mode: mode,\n field: 'indexed_metadata.' + field,\n order: order\n });\n return this;\n };\n /**\n * Sort by nested field and filter\n *\n * @param field\n * @param order\n * @param filter\n * @param mode\n *\n * @return {SortBy}\n */\n SortBy.prototype.byNestedFieldAndFilter = function (field, order, filter, mode) {\n if (mode === void 0) { mode = exports.SORT_BY_MODE_AVG; }\n var fieldPath = __1.Item.getPathByField(filter.getField());\n var filterAsArray = filter.toArray();\n filterAsArray.field = fieldPath;\n filter = Filter_1.Filter.createFromArray(filterAsArray);\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_NESTED,\n mode: mode,\n filter: filter,\n field: 'indexed_metadata.' + field,\n order: order\n });\n return this;\n };\n /**\n * Sort by function\n *\n * @param func\n * @param order\n *\n * @return {SortBy}\n */\n SortBy.prototype.byFunction = function (func, order) {\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_FUNCTION,\n \"function\": func,\n order: order\n });\n return this;\n };\n /**\n * Is sorted by geo distance\n *\n * @return {boolean}\n */\n SortBy.prototype.isSortedByGeoDistance = function () {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_DISTANCE) {\n return true;\n }\n }\n return false;\n };\n /**\n * Set coordinate\n *\n * @param coordinate\n *\n * @return {SortBy}\n */\n SortBy.prototype.setCoordinate = function (coordinate) {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_DISTANCE) {\n this.sortsBy[i].coordinate = coordinate;\n }\n }\n return this;\n };\n /**\n * Has random sort\n *\n * @return {boolean}\n */\n SortBy.prototype.hasRandomSort = function () {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_RANDOM) {\n return true;\n }\n }\n return false;\n };\n /**\n * get first sort value as string\n *\n * @return {string}\n */\n SortBy.prototype.getFirstSortAsString = function () {\n if (this.sortsBy[0] === undefined) {\n return 'score';\n }\n var firstSortBy = this.sortsBy[0];\n if (firstSortBy.type === exports.SORT_BY_TYPE_RANDOM) {\n return 'random';\n }\n if (firstSortBy.type === exports.SORT_BY_TYPE_DISTANCE) {\n return firstSortBy.type + ':' + firstSortBy.unit;\n }\n if (firstSortBy.type === exports.SORT_BY_TYPE_SCORE) {\n return 'score';\n }\n var field = firstSortBy.field;\n var order = firstSortBy.order;\n var fieldParts = field.split('.');\n return fieldParts[1] + ':' + order;\n };\n /**\n * To array\n *\n * @return {[]}\n */\n SortBy.prototype.toArray = function () {\n var copySortBy = this.copy();\n var sortsByAsArray = copySortBy.sortsBy;\n for (var i in sortsByAsArray) {\n if (typeof sortsByAsArray[i].filter === typeof {} &&\n sortsByAsArray[i].filter != null) {\n sortsByAsArray[i].filter = sortsByAsArray[i].filter.toArray();\n }\n if (sortsByAsArray[i].coordinate !== null &&\n sortsByAsArray[i].coordinate instanceof __1.Coordinate) {\n sortsByAsArray[i].coordinate = sortsByAsArray[i].coordinate.toArray();\n }\n }\n return sortsByAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {SortBy}\n */\n SortBy.createFromArray = function (array) {\n var innerArray = JSON.parse(JSON.stringify(array));\n var sortBy = SortBy.create();\n for (var i in innerArray) {\n var element = innerArray[i];\n if (typeof element.type == \"undefined\") {\n element.type = exports.SORT_BY_TYPE_FIELD;\n }\n if (typeof element.filter === typeof {} &&\n element.filter != null) {\n element.filter = Filter_1.Filter.createFromArray(element.filter);\n }\n if (element.coordinate != null &&\n typeof element.coordinate === typeof {}) {\n element.coordinate = __1.Coordinate.createFromArray(element.coordinate);\n }\n sortBy.sortsBy.push(element);\n }\n return sortBy;\n };\n /**\n * Make a copy of this\n *\n * @returns {SortBy}\n */\n SortBy.prototype.copy = function () {\n var newSortBy = SortBy.create();\n for (var i in this.sortsBy) {\n var sortBy = this.sortsBy[i];\n if (typeof sortBy !== \"function\") {\n var sortByAsArray = JSON.parse(JSON.stringify(sortBy));\n if (typeof sortBy.filter === typeof {} &&\n sortBy.filter != null) {\n sortByAsArray.filter = Filter_1.Filter.createFromArray(sortBy.filter.toArray());\n }\n if (sortBy.coordinate != null &&\n typeof sortBy.coordinate == typeof {}) {\n sortByAsArray.coordinate = __1.Coordinate.createFromArray(sortBy.coordinate.toArray());\n }\n newSortBy.sortsBy.push(sortByAsArray);\n }\n }\n return newSortBy;\n };\n return SortBy;\n}());\nexports.SortBy = SortBy;\n","\"use strict\";\nexports.__esModule = true;\nexports.HttpRepository = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ConnectionError_1 = require(\"../Error/ConnectionError\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar InvalidTokenError_1 = require(\"../Error/InvalidTokenError\");\nvar ResourceExistsError_1 = require(\"../Error/ResourceExistsError\");\nvar ResourceNotAvailableError_1 = require(\"../Error/ResourceNotAvailableError\");\nvar UnknownError_1 = require(\"../Error/UnknownError\");\nvar Response_1 = require(\"../Http/Response\");\nvar Index_1 = require(\"../Model/Index\");\nvar Item_1 = require(\"../Model/Item\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\nvar Result_1 = require(\"../Result/Result\");\nvar Repository_1 = require(\"./Repository\");\n/**\n * Aggregation class\n */\nvar HttpRepository = /** @class */ (function (_super) {\n tslib_1.__extends(HttpRepository, _super);\n /**\n * Constructor\n *\n * @param httpClient\n * @param appId\n * @param indexId\n * @param token\n * @param transformer\n */\n function HttpRepository(httpClient, appId, indexId, token, transformer) {\n var _this = _super.call(this, appId, indexId, token) || this;\n _this.httpClient = httpClient;\n _this.transformer = transformer;\n return _this;\n }\n /**\n * Get transformer\n *\n * @return {Transformer}\n */\n HttpRepository.prototype.getTransformer = function () {\n return this.transformer;\n };\n /**\n * Generate item document by a simple object.\n *\n * @param object\n *\n * @returns {void}\n */\n HttpRepository.prototype.addObject = function (object) {\n var item = this\n .transformer\n .toItem(object);\n if (item instanceof Item_1.Item) {\n this.addItem(item);\n }\n };\n /**\n * Delete item document by uuid.\n *\n * @param object\n *\n * @returns {void}\n */\n HttpRepository.prototype.deleteObject = function (object) {\n var itemUUID = this\n .transformer\n .toItemUUID(object);\n if (itemUUID instanceof ItemUUID_1.ItemUUID) {\n this.deleteItem(itemUUID);\n }\n };\n /**\n * Flush update items\n *\n * @param {Item[]} itemsToUpdate\n *\n * @return {Promise}\n */\n HttpRepository.prototype.flushUpdateItems = function (itemsToUpdate) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_1;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (itemsToUpdate.length === 0) {\n return [2 /*return*/];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items\", \"put\", this.getCredentials(), {}, itemsToUpdate.map(function (item) {\n return item.toArray();\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_1 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_1);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Flush delete items\n *\n * @param {ItemUUID[]} itemsToDelete\n *\n * @return {Promise}\n */\n HttpRepository.prototype.flushDeleteItems = function (itemsToDelete) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_2;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (itemsToDelete.length === 0) {\n return [2 /*return*/];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items\", \"delete\", this.getCredentials(), {}, itemsToDelete.map(function (itemUUID) {\n return itemUUID.toArray();\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_2 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_2);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Query\n *\n * @param {Query} query\n *\n * @return {Promise}\n */\n HttpRepository.prototype.query = function (query) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_3, result, _a, _b;\n return tslib_1.__generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId, \"get\", this.getCredentials(), {\n query: JSON.stringify(query.optimize().toArray())\n .replace(/&/g, \"%26\"),\n }, {})];\n case 1:\n response = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n response_3 = _c.sent();\n throw HttpRepository.createErrorFromResponse(response_3);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n result = this.applyTransformersToResult(result);\n if (!(typeof globalThis !== \"undefined\" &&\n typeof globalThis.apisearchItemsTransformation === \"function\")) return [3 /*break*/, 5];\n _b = (_a = result).withItems;\n return [4 /*yield*/, globalThis.apisearchItemsTransformation(result.getItems())];\n case 4:\n _b.apply(_a, [_c.sent()]);\n _c.label = 5;\n case 5: return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Get similar items\n *\n * @param {Query} query\n * @param {ItemUUID[]} itemUUIDs\n * @param {number} similarity\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getSimilarItems = function (query, itemUUIDs, similarity) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_4, result;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + '/similar-items', \"get\", this.getCredentials(), {}, {\n query: query.toArray(),\n items_uuid: itemUUIDs.map(function (itemUUID) {\n return itemUUID.toArray();\n }),\n similarity: similarity,\n })];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_4 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_4);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n return [2 /*return*/, this.applyTransformersToResult(result)];\n }\n });\n });\n };\n /**\n * Get recommended items\n *\n * @param {Query} query\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getRecommendedItems = function (query) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_5, result;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + '/recommended-items', \"get\", this.getCredentials(), {}, query.toArray())];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_5 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_5);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n return [2 /*return*/, this.applyTransformersToResult(result)];\n }\n });\n });\n };\n /**\n * Update items\n *\n * @param {Query} query\n * @param {Changes} changes\n *\n * @return {Promise}\n */\n HttpRepository.prototype.updateItems = function (query, changes) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_6;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items/update-by-query\", \"put\", this.getCredentials(), {}, {\n changes: changes.toArray(),\n query: query.toArray(),\n })];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_6 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_6);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Create index\n *\n * @param {IndexUUID} indexUUID\n * @param {Config} config\n *\n * @return {Promise}\n */\n HttpRepository.prototype.createIndex = function (indexUUID, config) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_7;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"put\", this.getCredentials(), {}, config.toArray())];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_7 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_7);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Delete index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.deleteIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_8;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"delete\", this.getCredentials(), {}, {})];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_8 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_8);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Reset index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.resetIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_9;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/reset\", \"put\", this.getCredentials(), {}, {})];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_9 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_9);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Check index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.checkIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_10;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"head\", this.getCredentials(), {}, {})];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_10 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_10);\n case 3: return [2 /*return*/, response.getCode() === 200];\n }\n });\n });\n };\n /**\n * Check index\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getIndices = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_11, result, _i, _a, indexAsArray;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\", \"get\", this.getCredentials(), {}, {})];\n case 1:\n response = _b.sent();\n return [3 /*break*/, 3];\n case 2:\n response_11 = _b.sent();\n throw HttpRepository.createErrorFromResponse(response_11);\n case 3:\n result = [];\n for (_i = 0, _a = response.getBody(); _i < _a.length; _i++) {\n indexAsArray = _a[_i];\n result.push(Index_1.Index.createFromArray(indexAsArray));\n }\n return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Configure index\n *\n * @param {IndexUUID} indexUUID\n * @param {Config} config\n *\n * @return {Promise}\n */\n HttpRepository.prototype.configureIndex = function (indexUUID, config) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_12;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/configure\", \"put\", this.getCredentials(), {}, config.toArray())];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_12 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_12);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @param indexUUID\n * @param itemUUID\n * @param userId\n * @param queryString\n * @param interaction\n * @param site\n * @param device\n * @param position\n */\n HttpRepository.prototype.pushInteraction = function (indexUUID, itemUUID, userId, queryString, interaction, site, device, position) {\n if (site === void 0) { site = null; }\n if (device === void 0) { device = null; }\n if (position === void 0) { position = 0; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var parameters, response_13;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n parameters = {\n query_string: queryString,\n site: site,\n device: device,\n user_id: userId,\n position: position,\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/items/\" + itemUUID.composedUUID() + \"/interaction/\" + interaction, \"post\", {\n token: this.token,\n }, parameters, {})];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_13 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_13);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @param {IndexUUID} indexUUID\n * @param {string} userId\n * @param {ItemUUID[]} itemUUIDs\n * @param {string} site\n * @param {string} device\n *\n * @return {Promise}\n */\n HttpRepository.prototype.purchase = function (indexUUID, userId, itemUUIDs, site, device) {\n if (site === void 0) { site = null; }\n if (device === void 0) { device = null; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var parameters, response_14;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n parameters = {\n site: site,\n device: device,\n user_id: userId,\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/purchase\", \"post\", {\n token: this.token,\n }, parameters, {\n items_uuid: itemUUIDs.map(function (itemUUID) {\n return itemUUID.toArray();\n }),\n })];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_14 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_14);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n *\n */\n HttpRepository.prototype.getHttpClient = function () {\n return this.httpClient;\n };\n /**\n * Get query values\n *\n * @returns any\n */\n HttpRepository.prototype.getCredentials = function () {\n return {\n app_id: this.appId,\n token: this.token,\n };\n };\n /**\n * Apply transformers to results\n *\n * @param {Result} result\n *\n * @return {Result}\n */\n HttpRepository.prototype.applyTransformersToResult = function (result) {\n if (!this.transformer.hasReadTransformers()) {\n return result;\n }\n var subresults = result.getSubresults();\n if (Object.keys(subresults).length > 0) {\n Object.keys(subresults).map(function (key) {\n subresults[key] = this.applyTransformersToResult(subresults[key]);\n }.bind(this));\n return Result_1.Result.createMultiresults(subresults);\n }\n return Result_1.Result.create(result.getQueryUUID(), result.getTotalItems(), result.getTotalHits(), result.getAggregations(), result.getSuggestions(), this\n .transformer\n .fromItems(result.getItems()), result.getAutocomplete());\n };\n /**\n * @param response\n * @private\n */\n HttpRepository.createErrorFromResponse = function (response) {\n var error;\n if (response instanceof Response_1.Response) {\n switch (response.getCode()) {\n case ResourceNotAvailableError_1.ResourceNotAvailableError.getTransportableHTTPError():\n error = new ResourceNotAvailableError_1.ResourceNotAvailableError(response.getBody().message);\n break;\n case InvalidTokenError_1.InvalidTokenError.getTransportableHTTPError():\n error = new InvalidTokenError_1.InvalidTokenError(response.getBody().message);\n break;\n case InvalidFormatError_1.InvalidFormatError.getTransportableHTTPError():\n error = new InvalidFormatError_1.InvalidFormatError(response.getBody().message);\n break;\n case ResourceExistsError_1.ResourceExistsError.getTransportableHTTPError():\n error = new ResourceExistsError_1.ResourceExistsError(response.getBody().message);\n break;\n case ConnectionError_1.ConnectionError.getTransportableHTTPError():\n error = new ConnectionError_1.ConnectionError(response.getBody().message);\n break;\n }\n }\n return undefined === error\n ? UnknownError_1.UnknownError.createUnknownError()\n : error;\n };\n return HttpRepository;\n}(Repository_1.Repository));\nexports.HttpRepository = HttpRepository;\n","\"use strict\";\nexports.__esModule = true;\nexports.Repository = void 0;\nvar tslib_1 = require(\"tslib\");\n/**\n * Aggregation class\n */\nvar Repository = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param appId\n * @param indexId\n * @param token\n */\n function Repository(appId, indexId, token) {\n this.itemsToUpdate = [];\n this.itemsToDelete = [];\n this.appId = appId;\n this.indexId = indexId;\n this.token = token;\n }\n /**\n * Reset cached elements\n */\n Repository.prototype.resetCachedElements = function () {\n this.itemsToUpdate = [];\n this.itemsToDelete = [];\n };\n /**\n * Add element\n *\n * @param item\n */\n Repository.prototype.addItem = function (item) {\n this.itemsToUpdate.push(item);\n };\n /**\n * Add elements\n *\n * @param items\n */\n Repository.prototype.addItems = function (items) {\n for (var i in items) {\n this.addItem(items[i]);\n }\n };\n /**\n * Delete item\n *\n * @param itemUUID\n */\n Repository.prototype.deleteItem = function (itemUUID) {\n this.itemsToDelete.push(itemUUID);\n };\n /**\n * Delete items\n *\n * @param itemsUUID\n */\n Repository.prototype.deleteItems = function (itemsUUID) {\n for (var i in itemsUUID) {\n this.deleteItem(itemsUUID[i]);\n }\n };\n /**\n * flush\n *\n * @param bulkNumber\n * @param skipIfLess\n *\n * @return {Promise}\n */\n Repository.prototype.flush = function (bulkNumber, skipIfLess) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var promise, resetCachedElements;\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n if (!bulkNumber) {\n bulkNumber = 500;\n }\n if (!skipIfLess) {\n skipIfLess = false;\n }\n if (skipIfLess &&\n this.itemsToUpdate.length < bulkNumber) {\n return [2 /*return*/];\n }\n promise = Promise.all(Repository\n .chunkArray(this.itemsToUpdate, bulkNumber)\n .map(function (arrayOfItems) {\n return _this.flushUpdateItems(arrayOfItems);\n })\n .concat(Repository\n .chunkArray(this.itemsToDelete, bulkNumber)\n .map(function (arrayOfItemsUUID) {\n return _this.flushDeleteItems(arrayOfItemsUUID);\n })));\n resetCachedElements = function () {\n _this.resetCachedElements();\n };\n promise.then(resetCachedElements, resetCachedElements);\n return [2 /*return*/, promise];\n });\n });\n };\n /**\n * Make chunks of n elements\n *\n * @param array\n * @param chunk\n *\n * @return any[]\n */\n Repository.chunkArray = function (array, chunk) {\n var arrayChunked = [];\n for (var i = 0, j = array.length; i < j; i += chunk) {\n arrayChunked.push(array.slice(i, i + chunk));\n }\n return arrayChunked;\n };\n return Repository;\n}());\nexports.Repository = Repository;\n","\"use strict\";\nexports.__esModule = true;\nexports.Counter = void 0;\nvar Metadata_1 = require(\"../Model/Metadata\");\n/**\n * Aggregation class\n */\nvar Counter = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param values\n * @param used\n * @param n\n */\n function Counter(values, used, n) {\n this.values = values;\n this.used = used;\n this.n = n;\n }\n /**\n * Get id\n *\n * @return {string|null}\n */\n Counter.prototype.getId = function () {\n return typeof this.values.id == \"string\"\n ? this.values.id\n : null;\n };\n /**\n * Get name\n *\n * @return {string|null}\n */\n Counter.prototype.getName = function () {\n return typeof this.values.name == \"string\"\n ? this.values.name\n : null;\n };\n /**\n * Get slug\n *\n * @return {string|null}\n */\n Counter.prototype.getSlug = function () {\n return typeof this.values.slug == \"string\"\n ? this.values.slug\n : null;\n };\n /**\n * Get level\n *\n * @return {number}\n */\n Counter.prototype.getLevel = function () {\n return typeof this.values.level == \"number\"\n ? this.values.level\n : 0;\n };\n /**\n * Get values\n *\n * @returns {{}}\n */\n Counter.prototype.getValues = function () {\n return this.values;\n };\n /**\n * Is used\n *\n * @returns {boolean}\n */\n Counter.prototype.isUsed = function () {\n return this.used;\n };\n /**\n * Get N\n *\n * @returns {number}\n */\n Counter.prototype.getN = function () {\n return this.n;\n };\n /**\n * Create by active elements\n *\n * @param name\n * @param n\n * @param activeElements\n */\n Counter.createByActiveElements = function (name, n, activeElements) {\n var values = Metadata_1.Metadata.fromMetadata(name);\n if (values == null) {\n return null;\n }\n var i = activeElements.length;\n var inActiveElements = false;\n while (i--) {\n if (activeElements[i] == values.id) {\n inActiveElements = true;\n }\n }\n return new Counter(values, inActiveElements, n);\n };\n /**\n * To array\n *\n * @return {{}}\n */\n Counter.prototype.toArray = function () {\n var values = {\n values: this.values,\n n: this.n,\n };\n if (this.used === true) {\n values.used = true;\n }\n return values;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {Counter}\n */\n Counter.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new Counter(array.values, (typeof array.used == \"boolean\")\n ? array.used\n : false, array.n);\n };\n return Counter;\n}());\nexports.Counter = Counter;\n","\"use strict\";\nexports.__esModule = true;\nexports.Result = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar ResultAggregations_1 = require(\"./ResultAggregations\");\n/**\n * Result class\n */\nvar Result = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param queryUUID\n * @param totalItems\n * @param totalHits\n */\n function Result(queryUUID, totalItems, totalHits) {\n this.items = [];\n this.autocomplete = null;\n this.suggestions = [];\n this.subresults = {};\n this.metadata = {};\n this.queryUUID = queryUUID;\n this.totalItems = totalItems;\n this.totalHits = totalHits;\n }\n /**\n * @param queryUUID\n * @param totalItems\n * @param totalHits\n * @param aggregations\n * @param suggestions\n * @param items\n * @param autocomplete\n * @param metadata\n */\n Result.create = function (queryUUID, totalItems, totalHits, aggregations, suggestions, items, autocomplete, metadata) {\n if (autocomplete === void 0) { autocomplete = null; }\n if (metadata === void 0) { metadata = {}; }\n var result = new Result(queryUUID, totalItems, totalHits);\n result.aggregations = aggregations;\n result.suggestions = suggestions;\n result.items = items;\n result.autocomplete = autocomplete;\n result.metadata = metadata;\n return result;\n };\n /**\n * Create multi results\n *\n * @param subresults\n *\n * @returns {Result}\n */\n Result.createMultiresults = function (subresults) {\n var result = new Result('', 0, 0);\n result.subresults = subresults;\n return result;\n };\n /**\n * Add item\n *\n * @param item\n */\n Result.prototype.addItem = function (item) {\n this.items.push(item);\n };\n /**\n * Get items\n *\n * @return {Item[]}\n */\n Result.prototype.getItems = function () {\n return this.items;\n };\n /**\n * @param items\n */\n Result.prototype.withItems = function (items) {\n this.items = items;\n };\n /**\n * Get items grouped by types\n *\n * @return {any[]}\n */\n Result.prototype.getItemsGroupedByTypes = function () {\n if (this.itemsGroupedByTypeCache instanceof Object &&\n Object.keys(this.itemsGroupedByTypeCache).length > 0) {\n return this.itemsGroupedByTypeCache;\n }\n var itemsGroupedByTypes = {};\n for (var i in this.items) {\n var item = this.items[i];\n if (!(itemsGroupedByTypes[item.getType()] instanceof Array)) {\n itemsGroupedByTypes[item.getType()] = [];\n }\n itemsGroupedByTypes[item.getType()].push(item);\n }\n this.itemsGroupedByTypeCache = itemsGroupedByTypes;\n return itemsGroupedByTypes;\n };\n /**\n * Get items by type\n *\n * @param type\n *\n * @return {Array}\n */\n Result.prototype.getItemsByType = function (type) {\n var itemsGroupedByTypes = this.getItemsGroupedByTypes();\n return itemsGroupedByTypes[type] == null\n ? []\n : itemsGroupedByTypes[type];\n };\n /**\n * Get items by types\n *\n * @param types\n */\n Result.prototype.getItemsByTypes = function (types) {\n return this.items.filter(function (item) { return types.indexOf(item.getType()) >= 0; });\n };\n /**\n * Get first item\n *\n * @return {Item}\n */\n Result.prototype.getFirstItem = function () {\n return this.items.length > 0\n ? this.items[0]\n : null;\n };\n /**\n * Set aggregations\n *\n * @param aggregations\n */\n Result.prototype.setAggregations = function (aggregations) {\n this.aggregations = aggregations;\n };\n /**\n * Get aggregations\n *\n * @return {ResultAggregations}\n */\n Result.prototype.getAggregations = function () {\n return this.aggregations instanceof ResultAggregations_1.ResultAggregations\n ? this.aggregations\n : null;\n };\n /**\n * Get aggregation\n *\n * @param name\n *\n * @return {null}\n */\n Result.prototype.getAggregation = function (name) {\n return this.aggregations == null\n ? null\n : this.aggregations.getAggregation(name);\n };\n /**\n * Has no empty aggregation\n *\n * @param name\n *\n * @return {boolean}\n */\n Result.prototype.hasNotEmptyAggregation = function (name) {\n return this.aggregations == null\n ? false\n : this.aggregations.hasNotEmptyAggregation(name);\n };\n /**\n * Get suggestions\n *\n * @return {string[]}\n */\n Result.prototype.getSuggestions = function () {\n return this.suggestions;\n };\n /**\n * Get autocomplete\n *\n * @return {string|null}\n */\n Result.prototype.getAutocomplete = function () {\n return this.autocomplete;\n };\n /**\n * Get query uuid\n *\n * @return {string}\n */\n Result.prototype.getQueryUUID = function () {\n return this.queryUUID;\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n Result.prototype.getTotalItems = function () {\n return this.totalItems;\n };\n /**\n * Get total hits\n *\n * @return {number}\n */\n Result.prototype.getTotalHits = function () {\n return this.totalHits;\n };\n /**\n * Get subresults\n *\n * @return Object\n */\n Result.prototype.getSubresults = function () {\n return this.subresults;\n };\n /**\n * @return any\n */\n Result.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * @param name\n */\n Result.prototype.getMetadataValue = function (name) {\n var _a;\n return (_a = this.metadata[name]) !== null && _a !== void 0 ? _a : null;\n };\n /**\n * to array\n *\n * @return {{query: any, total_items: number, total_hits: number, items:any[], aggregations: any, suggestions: string[]}}\n */\n Result.prototype.toArray = function () {\n var array = {\n query_uuid: this.queryUUID,\n total_items: this.totalItems,\n total_hits: this.totalHits,\n items: this.items.map(function (item) { return item.toArray(); }),\n aggregations: this.aggregations == null\n ? null\n : this.aggregations.toArray(),\n suggests: this.suggestions,\n autocomplete: this.autocomplete === null\n ? undefined\n : this.autocomplete,\n metadata: this.metadata,\n };\n if (this.subresults instanceof Object &&\n Object.keys(this.subresults).length) {\n array.subresults = {};\n for (var i in this.subresults) {\n var subresult = this.subresults[i];\n array.subresults[i] = subresult.toArray();\n }\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {Result}\n */\n Result.createFromArray = function (array) {\n var result = Result.create(array.query_uuid\n ? array.query_uuid\n : '', array.total_items\n ? array.total_items\n : 0, array.total_hits\n ? array.total_hits\n : 0, array.aggregations instanceof Object\n ? ResultAggregations_1.ResultAggregations.createFromArray(array.aggregations)\n : null, array.suggests\n ? array.suggests\n : [], array.items instanceof Array\n ? array.items.map(function (itemAsArray) { return Item_1.Item.createFromArray(itemAsArray); })\n : [], array.autocomplete === undefined\n ? null\n : array.autocomplete, array.metadata === undefined\n ? {}\n : array.metadata);\n /**\n * Subqueries\n */\n var subresultsAsArray = typeof array.subresults === typeof {}\n ? array.subresults\n : {};\n for (var i in subresultsAsArray) {\n result.subresults[i] = Result.createFromArray(subresultsAsArray[i]);\n }\n return result;\n };\n return Result;\n}());\nexports.Result = Result;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResultAggregation = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Filter_1 = require(\"../Query/Filter\");\nvar Counter_1 = require(\"./Counter\");\n/**\n * ResultAggregation class\n */\nvar ResultAggregation = /** @class */ (function () {\n /**\n * @param name\n * @param applicationType\n * @param totalElements\n * @param activeElements\n * @param metadata\n */\n function ResultAggregation(name, applicationType, totalElements, activeElements, metadata) {\n if (metadata === void 0) { metadata = {}; }\n this.counters = {};\n this.highestActiveElement = 0;\n this.name = name;\n this.applicationType = applicationType;\n this.totalElements = totalElements;\n this.activeElements = {};\n this.metadata = metadata;\n for (var i in activeElements) {\n var activeElement = activeElements[i];\n this.activeElements[activeElement] = activeElement;\n }\n }\n /**\n * Add counter\n *\n * @param name\n * @param counter\n */\n ResultAggregation.prototype.addCounter = function (name, counter) {\n if (counter == 0) {\n return;\n }\n var counterInstance = Counter_1.Counter.createByActiveElements(name, counter, Object.keys(this.activeElements));\n if (!(counterInstance instanceof Counter_1.Counter)) {\n return;\n }\n if ((this.applicationType & Filter_1.FILTER_MUST_ALL_WITH_LEVELS) &&\n (this.applicationType & ~Filter_1.FILTER_MUST_ALL) &&\n counterInstance.isUsed()) {\n this.activeElements[counterInstance.getId()] = counterInstance;\n this.highestActiveElement = Math.max(counterInstance.getLevel(), this.highestActiveElement);\n return;\n }\n this.counters[counterInstance.getId()] = counterInstance;\n };\n /**\n * Get name\n *\n * @return {string}\n */\n ResultAggregation.prototype.getName = function () {\n return this.name;\n };\n /**\n * Get counter\n *\n * @return {any}\n */\n ResultAggregation.prototype.getCounters = function () {\n return this.counters;\n };\n /**\n *\n */\n ResultAggregation.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Return if the aggregation belongs to a filter.\n *\n * @return {boolean}\n */\n ResultAggregation.prototype.isFilter = function () {\n return (this.applicationType & Filter_1.FILTER_MUST_ALL) > 0;\n };\n /**\n * Aggregation has levels.\n *\n * @return {boolean}\n */\n ResultAggregation.prototype.hasLevels = function () {\n return (this.applicationType & Filter_1.FILTER_MUST_ALL_WITH_LEVELS) > 0;\n };\n /**\n * Get counter by name\n *\n * @param name\n *\n * @return {null}\n */\n ResultAggregation.prototype.getCounter = function (name) {\n return this.counters[name] instanceof Counter_1.Counter\n ? this.counters[name]\n : null;\n };\n /**\n * Get all elements\n *\n * @return {{}}\n */\n ResultAggregation.prototype.getAllElements = function () {\n return tslib_1.__assign(tslib_1.__assign({}, this.activeElements), this.counters);\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n ResultAggregation.prototype.getTotalElements = function () {\n return this.totalElements;\n };\n /**\n * Get active elements\n *\n * @return {any}\n */\n ResultAggregation.prototype.getActiveElements = function () {\n if (Object.keys(this.activeElements).length === 0) {\n return {};\n }\n if (this.applicationType === Filter_1.FILTER_MUST_ALL_WITH_LEVELS) {\n var value = null;\n for (var i in this.activeElements) {\n var activeElement = this.activeElements[i];\n if (!(activeElement instanceof Counter_1.Counter)) {\n continue;\n }\n if (value == null) {\n value = activeElement;\n }\n value = value.getLevel() > activeElement.getLevel()\n ? value\n : activeElement;\n }\n return value instanceof Counter_1.Counter\n ? { 0: value }\n : null;\n }\n return this.activeElements;\n };\n /**\n * Clean results by level and remove all levels higher than the lowest.\n */\n ResultAggregation.prototype.cleanCountersByLevel = function () {\n for (var i in this.counters) {\n var counter = this.counters[i];\n if (counter.getLevel() !== this.highestActiveElement + 1) {\n delete this.counters[i];\n }\n }\n };\n /**\n * Is empty\n *\n * @returns {boolean}\n */\n ResultAggregation.prototype.isEmpty = function () {\n return Object.keys(this.activeElements).length == 0 &&\n Object.keys(this.counters).length == 0;\n };\n /**\n * To array\n *\n * @return {any}\n */\n ResultAggregation.prototype.toArray = function () {\n var array = {\n name: this.name,\n counters: [],\n active_elements: [],\n metadata: this.metadata\n };\n for (var i in this.counters) {\n array.counters.push(this.counters[i].toArray());\n }\n if (this.applicationType !== Filter_1.FILTER_AT_LEAST_ONE) {\n array.application_type = this.applicationType;\n }\n if (this.totalElements > 0) {\n array.total_elements = this.totalElements;\n }\n for (var i in this.activeElements) {\n var activeElement = this.activeElements[i];\n array.active_elements.push(activeElement instanceof Counter_1.Counter\n ? activeElement.toArray()\n : activeElement);\n }\n if (this.highestActiveElement > 0) {\n array.highest_active_level = this.highestActiveElement;\n }\n if (array.counters.length === 0) {\n delete array.counters;\n }\n if (array.active_elements.length === 0) {\n delete array.active_elements;\n }\n if (Object.keys(array.metadata).length === 0) {\n delete array.metadata;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n */\n ResultAggregation.createFromArray = function (array) {\n var activeElements = [];\n var activeElementsAsArray = array.active_elements;\n activeElementsAsArray = typeof activeElementsAsArray === typeof []\n ? activeElementsAsArray\n : [];\n for (var i in activeElementsAsArray) {\n var activeElementAsArray = activeElementsAsArray[i];\n activeElements.push(typeof activeElementAsArray === typeof {}\n ? Counter_1.Counter.createFromArray(activeElementAsArray)\n : activeElementAsArray);\n }\n var aggregation = new ResultAggregation(array.name, parseInt(array.application_type ? array.application_type : Filter_1.FILTER_AT_LEAST_ONE), parseInt(array.total_elements ? array.total_elements : 0), []);\n aggregation.activeElements = activeElements;\n var countersAsArray = typeof array.counters === typeof []\n ? array.counters\n : [];\n for (var i in countersAsArray) {\n var counterAsArray = countersAsArray[i];\n if (typeof counterAsArray !== \"function\") {\n var counter = Counter_1.Counter.createFromArray(counterAsArray);\n aggregation.counters['_' + counter.getId()] = counter;\n }\n }\n aggregation.highestActiveElement = typeof array.highest_active_level === \"number\"\n ? array.highest_active_level\n : 0;\n aggregation.metadata = typeof array.metadata === typeof {}\n ? array.metadata\n : {};\n return aggregation;\n };\n return ResultAggregation;\n}());\nexports.ResultAggregation = ResultAggregation;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResultAggregations = void 0;\nvar ResultAggregation_1 = require(\"./ResultAggregation\");\n/**\n * ResultAggregation class\n */\nvar ResultAggregations = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param totalElements\n */\n function ResultAggregations(totalElements) {\n this.aggregations = {};\n this.totalElements = totalElements;\n }\n /**\n * Add aggregation\n *\n * @param name\n * @param aggregation\n */\n ResultAggregations.prototype.addAggregation = function (name, aggregation) {\n this.aggregations[name] = aggregation;\n };\n /**\n * Get aggregations\n *\n * @returns {{}}\n */\n ResultAggregations.prototype.getAggregations = function () {\n return this.aggregations;\n };\n /**\n * Get aggregation\n *\n * @param name\n *\n * @returns {Aggregation|null}\n */\n ResultAggregations.prototype.getAggregation = function (name) {\n return this.aggregations[name] instanceof ResultAggregation_1.ResultAggregation\n ? this.aggregations[name]\n : null;\n };\n /**\n * Has not empty aggregation\n *\n * @param name\n *\n * @returns {boolean}\n */\n ResultAggregations.prototype.hasNotEmptyAggregation = function (name) {\n var aggregation = this.getAggregation(name);\n return (aggregation instanceof ResultAggregation_1.ResultAggregation) &&\n (!aggregation.isEmpty());\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n ResultAggregations.prototype.getTotalElements = function () {\n return this.totalElements;\n };\n /**\n * To array\n *\n * @return {{total_elements?: number, aggregations?: {}}}\n */\n ResultAggregations.prototype.toArray = function () {\n var aggregationCollection = {};\n for (var i in this.aggregations) {\n aggregationCollection[i] = this.aggregations[i].toArray();\n }\n var array = {};\n if (this.totalElements > 0) {\n array.total_elements = this.totalElements;\n }\n if (Object.keys(aggregationCollection).length > 0) {\n array.aggregations = aggregationCollection;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ResultAggregations}\n */\n ResultAggregations.createFromArray = function (array) {\n var aggregations = new ResultAggregations(typeof array.total_elements === \"number\"\n ? array.total_elements\n : 0);\n if (typeof array.aggregations === typeof {}) {\n for (var i in array.aggregations) {\n aggregations.addAggregation(i, ResultAggregation_1.ResultAggregation.createFromArray(array.aggregations[i]));\n }\n }\n return aggregations;\n };\n return ResultAggregations;\n}());\nexports.ResultAggregations = ResultAggregations;\n","\"use strict\";\nexports.__esModule = true;\n","\"use strict\";\nexports.__esModule = true;\nexports.Transformer = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\n/**\n * Transformer\n */\nvar Transformer = /** @class */ (function () {\n function Transformer() {\n this.readTransformers = [];\n this.writeTransformers = [];\n }\n /**\n * Add read transformer\n *\n * @param readTransformer\n */\n Transformer.prototype.addReadTransformer = function (readTransformer) {\n this\n .readTransformers\n .push(readTransformer);\n };\n /**\n * @return {boolean}\n */\n Transformer.prototype.hasReadTransformers = function () {\n return this.readTransformers.length > 0;\n };\n /**\n * Add write transformer\n *\n * @param writeTransformer\n */\n Transformer.prototype.addWriteTransformer = function (writeTransformer) {\n this\n .writeTransformers\n .push(writeTransformer);\n };\n /**\n * Items to objects\n *\n * @param items\n *\n * @returns {any[]}\n */\n Transformer.prototype.fromItems = function (items) {\n var objects = [];\n for (var i in items) {\n objects.push(this.fromItem(items[i]));\n }\n return objects;\n };\n /**\n * Item to object\n *\n * @param item\n *\n * @returns {any}\n */\n Transformer.prototype.fromItem = function (item) {\n for (var i in this.readTransformers) {\n var transformer = this.readTransformers[i];\n if (transformer.isValidItem(item)) {\n return transformer.fromItem(item);\n }\n }\n return item;\n };\n /**\n * Objects to items\n *\n * @param objects\n *\n * @returns {Item[]}\n */\n Transformer.prototype.toItems = function (objects) {\n var items = [];\n for (var i in objects) {\n var item = this.toItem(objects[i]);\n if (item instanceof Item_1.Item) {\n items.push(item);\n }\n }\n return items;\n };\n /**\n * Object to item\n *\n * @param object\n *\n * @returns {any}\n */\n Transformer.prototype.toItem = function (object) {\n for (var i in this.writeTransformers) {\n var transformer = this.writeTransformers[i];\n if (transformer.isValidObject(object)) {\n return transformer.toItem(object);\n }\n }\n return object;\n };\n /**\n * Objects to items\n *\n * @param objects\n *\n * @returns {ItemUUID[]}\n */\n Transformer.prototype.toItemUUIDs = function (objects) {\n var itemUUIDs = [];\n for (var i in objects) {\n var itemUUID = this.toItemUUID(objects[i]);\n if (itemUUID instanceof ItemUUID_1.ItemUUID) {\n itemUUIDs.push(itemUUID);\n }\n }\n return itemUUIDs;\n };\n /**\n * Object to item\n *\n * @param object\n *\n * @returns {any}\n */\n Transformer.prototype.toItemUUID = function (object) {\n for (var i in this.writeTransformers) {\n var transformer = this.writeTransformers[i];\n if (transformer.isValidObject(object)) {\n return transformer.toItemUUID(object);\n }\n }\n return object;\n };\n return Transformer;\n}());\nexports.Transformer = Transformer;\n","\"use strict\";\nexports.__esModule = true;\n","\"use strict\";\nexports.__esModule = true;\nvar tslib_1 = require(\"tslib\");\nvar Apisearch_1 = require(\"./Apisearch\");\nexports[\"default\"] = Apisearch_1[\"default\"];\ntslib_1.__exportStar(require(\"./Config/Config\"), exports);\ntslib_1.__exportStar(require(\"./Config/Synonym\"), exports);\ntslib_1.__exportStar(require(\"./Error/ConnectionError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ErrorWithMessage\"), exports);\ntslib_1.__exportStar(require(\"./Error/EventError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ForbiddenError\"), exports);\ntslib_1.__exportStar(require(\"./Error/InvalidFormatError\"), exports);\ntslib_1.__exportStar(require(\"./Error/InvalidTokenError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ResourceExistsError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ResourceNotAvailableError\"), exports);\ntslib_1.__exportStar(require(\"./Error/UnsupportedContentTypeError\"), exports);\ntslib_1.__exportStar(require(\"./Geo/LocationRange\"), exports);\ntslib_1.__exportStar(require(\"./Http/AxiosClient\"), exports);\ntslib_1.__exportStar(require(\"./Http/Client\"), exports);\ntslib_1.__exportStar(require(\"./Http/HttpClient\"), exports);\ntslib_1.__exportStar(require(\"./Http/Response\"), exports);\ntslib_1.__exportStar(require(\"./Http/CacheClient\"), exports);\ntslib_1.__exportStar(require(\"./Model/Changes\"), exports);\ntslib_1.__exportStar(require(\"./Model/Coordinate\"), exports);\ntslib_1.__exportStar(require(\"./Model/Item\"), exports);\ntslib_1.__exportStar(require(\"./Model/ItemUUID\"), exports);\ntslib_1.__exportStar(require(\"./Model/Metadata\"), exports);\ntslib_1.__exportStar(require(\"./Model/User\"), exports);\ntslib_1.__exportStar(require(\"./Query/Aggregation\"), exports);\ntslib_1.__exportStar(require(\"./Query/Filter\"), exports);\ntslib_1.__exportStar(require(\"./Query/Query\"), exports);\ntslib_1.__exportStar(require(\"./Query/Range\"), exports);\ntslib_1.__exportStar(require(\"./Query/ScoreStrategies\"), exports);\ntslib_1.__exportStar(require(\"./Query/ScoreStrategy\"), exports);\ntslib_1.__exportStar(require(\"./Query/SortBy\"), exports);\ntslib_1.__exportStar(require(\"./Repository/HttpRepository\"), exports);\ntslib_1.__exportStar(require(\"./Repository/Repository\"), exports);\ntslib_1.__exportStar(require(\"./Result/ResultAggregation\"), exports);\ntslib_1.__exportStar(require(\"./Result/ResultAggregations\"), exports);\ntslib_1.__exportStar(require(\"./Result/Counter\"), exports);\ntslib_1.__exportStar(require(\"./Result/Result\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/ReadTransformer\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/Transformer\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/WriteTransformer\"), exports);\n","\"use strict\";\n/*\n\nTypeScript Md5\n==============\n\nBased on work by\n* Joseph Myers: http://www.myersdaily.org/joseph/javascript/md5-text.html\n* André Cruz: https://github.com/satazor/SparkMD5\n* Raymond Hill: https://github.com/gorhill/yamd5.js\n\nEffectively a TypeScrypt re-write of Raymond Hill JS Library\n\nThe MIT License (MIT)\n\nCopyright (C) 2014 Raymond Hill\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n Version 2, December 2004\n\n Copyright (C) 2015 André Cruz \n\n Everyone is permitted to copy and distribute verbatim or modified\n copies of this license document, and changing it is allowed as long\n as the name is changed.\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. You just DO WHAT YOU WANT TO.\n\n\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar Md5 = /** @class */ (function () {\n function Md5() {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state = new Int32Array(4);\n this._buffer = new ArrayBuffer(68);\n this._buffer8 = new Uint8Array(this._buffer, 0, 68);\n this._buffer32 = new Uint32Array(this._buffer, 0, 17);\n this.start();\n }\n Md5.hashStr = function (str, raw) {\n if (raw === void 0) { raw = false; }\n return this.onePassHasher\n .start()\n .appendStr(str)\n .end(raw);\n };\n Md5.hashAsciiStr = function (str, raw) {\n if (raw === void 0) { raw = false; }\n return this.onePassHasher\n .start()\n .appendAsciiStr(str)\n .end(raw);\n };\n Md5._hex = function (x) {\n var hc = Md5.hexChars;\n var ho = Md5.hexOut;\n var n;\n var offset;\n var j;\n var i;\n for (i = 0; i < 4; i += 1) {\n offset = i * 8;\n n = x[i];\n for (j = 0; j < 8; j += 2) {\n ho[offset + 1 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n ho[offset + 0 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n }\n }\n return ho.join('');\n };\n Md5._md5cycle = function (x, k) {\n var a = x[0];\n var b = x[1];\n var c = x[2];\n var d = x[3];\n // ff()\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n // gg()\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n // hh()\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n // ii()\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n };\n Md5.prototype.start = function () {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state.set(Md5.stateIdentity);\n return this;\n };\n // Char to code point to to array conversion:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n // #Example.3A_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown\n Md5.prototype.appendStr = function (str) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var code;\n var i;\n for (i = 0; i < str.length; i += 1) {\n code = str.charCodeAt(i);\n if (code < 128) {\n buf8[bufLen++] = code;\n }\n else if (code < 0x800) {\n buf8[bufLen++] = (code >>> 6) + 0xC0;\n buf8[bufLen++] = code & 0x3F | 0x80;\n }\n else if (code < 0xD800 || code > 0xDBFF) {\n buf8[bufLen++] = (code >>> 12) + 0xE0;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n else {\n code = ((code - 0xD800) * 0x400) + (str.charCodeAt(++i) - 0xDC00) + 0x10000;\n if (code > 0x10FFFF) {\n throw new Error('Unicode standard supports code points up to U+10FFFF');\n }\n buf8[bufLen++] = (code >>> 18) + 0xF0;\n buf8[bufLen++] = (code >>> 12 & 0x3F) | 0x80;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n if (bufLen >= 64) {\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen -= 64;\n buf32[0] = buf32[16];\n }\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.appendAsciiStr = function (str) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var i;\n var j = 0;\n for (;;) {\n i = Math.min(str.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = str.charCodeAt(j++);\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.appendByteArray = function (input) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var i;\n var j = 0;\n for (;;) {\n i = Math.min(input.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = input[j++];\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.getState = function () {\n var s = this._state;\n return {\n buffer: String.fromCharCode.apply(null, Array.from(this._buffer8)),\n buflen: this._bufferLength,\n length: this._dataLength,\n state: [s[0], s[1], s[2], s[3]]\n };\n };\n Md5.prototype.setState = function (state) {\n var buf = state.buffer;\n var x = state.state;\n var s = this._state;\n var i;\n this._dataLength = state.length;\n this._bufferLength = state.buflen;\n s[0] = x[0];\n s[1] = x[1];\n s[2] = x[2];\n s[3] = x[3];\n for (i = 0; i < buf.length; i += 1) {\n this._buffer8[i] = buf.charCodeAt(i);\n }\n };\n Md5.prototype.end = function (raw) {\n if (raw === void 0) { raw = false; }\n var bufLen = this._bufferLength;\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var i = (bufLen >> 2) + 1;\n this._dataLength += bufLen;\n var dataBitsLen = this._dataLength * 8;\n buf8[bufLen] = 0x80;\n buf8[bufLen + 1] = buf8[bufLen + 2] = buf8[bufLen + 3] = 0;\n buf32.set(Md5.buffer32Identity.subarray(i), i);\n if (bufLen > 55) {\n Md5._md5cycle(this._state, buf32);\n buf32.set(Md5.buffer32Identity);\n }\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n if (dataBitsLen <= 0xFFFFFFFF) {\n buf32[14] = dataBitsLen;\n }\n else {\n var matches = dataBitsLen.toString(16).match(/(.*?)(.{0,8})$/);\n if (matches === null) {\n return;\n }\n var lo = parseInt(matches[2], 16);\n var hi = parseInt(matches[1], 16) || 0;\n buf32[14] = lo;\n buf32[15] = hi;\n }\n Md5._md5cycle(this._state, buf32);\n return raw ? this._state : Md5._hex(this._state);\n };\n // Private Static Variables\n Md5.stateIdentity = new Int32Array([1732584193, -271733879, -1732584194, 271733878]);\n Md5.buffer32Identity = new Int32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\n Md5.hexChars = '0123456789abcdef';\n Md5.hexOut = [];\n // Permanent instance is to use for one-call hashing\n Md5.onePassHasher = new Md5();\n return Md5;\n}());\nexports.Md5 = Md5;\nif (Md5.hashStr('hello') !== '5d41402abc4b2a76b9719d911017c592') {\n throw new Error('Md5 self test failed.');\n}\n//# sourceMappingURL=md5.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n",""],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/dist/apisearch.min.js b/dist/apisearch.min.js index c422fcd..ac16341 100644 --- a/dist/apisearch.min.js +++ b/dist/apisearch.min.js @@ -1,3 +1,3 @@ /*! For license information please see apisearch.min.js.LICENSE.txt */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.apisearch=e():t.apisearch=e()}(self,(()=>(()=>{var t={9669:(t,e,r)=>{t.exports=r(1609)},5448:(t,e,r)=>{"use strict";var n=r(4867),i=r(6026),o=r(4372),s=r(5327),a=r(4097),u=r(4109),c=r(7985),l=r(7874),p=r(2648),d=r(644),f=r(205);t.exports=function(t){return new Promise((function(e,r){var h,_=t.data,g=t.headers,y=t.responseType;function E(){t.cancelToken&&t.cancelToken.unsubscribe(h),t.signal&&t.signal.removeEventListener("abort",h)}n.isFormData(_)&&n.isStandardBrowserEnv()&&delete g["Content-Type"];var m=new XMLHttpRequest;if(t.auth){var v=t.auth.username||"",T=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";g.Authorization="Basic "+btoa(v+":"+T)}var A=a(t.baseURL,t.url);function I(){if(m){var n="getAllResponseHeaders"in m?u(m.getAllResponseHeaders()):null,o={data:y&&"text"!==y&&"json"!==y?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:n,config:t,request:m};i((function(t){e(t),E()}),(function(t){r(t),E()}),o),m=null}}if(m.open(t.method.toUpperCase(),s(A,t.params,t.paramsSerializer),!0),m.timeout=t.timeout,"onloadend"in m?m.onloadend=I:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(I)},m.onabort=function(){m&&(r(new p("Request aborted",p.ECONNABORTED,t,m)),m=null)},m.onerror=function(){r(new p("Network Error",p.ERR_NETWORK,t,m,m)),m=null},m.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",n=t.transitional||l;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),r(new p(e,n.clarifyTimeoutError?p.ETIMEDOUT:p.ECONNABORTED,t,m)),m=null},n.isStandardBrowserEnv()){var S=(t.withCredentials||c(A))&&t.xsrfCookieName?o.read(t.xsrfCookieName):void 0;S&&(g[t.xsrfHeaderName]=S)}"setRequestHeader"in m&&n.forEach(g,(function(t,e){void 0===_&&"content-type"===e.toLowerCase()?delete g[e]:m.setRequestHeader(e,t)})),n.isUndefined(t.withCredentials)||(m.withCredentials=!!t.withCredentials),y&&"json"!==y&&(m.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&m.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&m.upload&&m.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(h=function(t){m&&(r(!t||t&&t.type?new d:t),m.abort(),m=null)},t.cancelToken&&t.cancelToken.subscribe(h),t.signal&&(t.signal.aborted?h():t.signal.addEventListener("abort",h))),_||(_=null);var b=f(A);b&&-1===["http","https","file"].indexOf(b)?r(new p("Unsupported protocol "+b+":",p.ERR_BAD_REQUEST,t)):m.send(_)}))}},1609:(t,e,r)=>{"use strict";var n=r(4867),i=r(1849),o=r(321),s=r(7185),a=function t(e){var r=new o(e),a=i(o.prototype.request,r);return n.extend(a,o.prototype,r),n.extend(a,r),a.create=function(r){return t(s(e,r))},a}(r(5546));a.Axios=o,a.CanceledError=r(644),a.CancelToken=r(4972),a.isCancel=r(6502),a.VERSION=r(7288).version,a.toFormData=r(7675),a.AxiosError=r(2648),a.Cancel=a.CanceledError,a.all=function(t){return Promise.all(t)},a.spread=r(8713),a.isAxiosError=r(6268),t.exports=a,t.exports.default=a},4972:(t,e,r)=>{"use strict";var n=r(644);function i(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var r=this;this.promise.then((function(t){if(r._listeners){var e,n=r._listeners.length;for(e=0;e{"use strict";var n=r(2648);function i(t){n.call(this,null==t?"canceled":t,n.ERR_CANCELED),this.name="CanceledError"}r(4867).inherits(i,n,{__CANCEL__:!0}),t.exports=i},6502:t=>{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,r)=>{"use strict";var n=r(4867),i=r(5327),o=r(782),s=r(3572),a=r(7185),u=r(4097),c=r(4875),l=c.validators;function p(t){this.defaults=t,this.interceptors={request:new o,response:new o}}p.prototype.request=function(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},(e=a(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;void 0!==r&&c.assertOptions(r,{silentJSONParsing:l.transitional(l.boolean),forcedJSONParsing:l.transitional(l.boolean),clarifyTimeoutError:l.transitional(l.boolean)},!1);var n=[],i=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(i=i&&t.synchronous,n.unshift(t.fulfilled,t.rejected))}));var o,u=[];if(this.interceptors.response.forEach((function(t){u.push(t.fulfilled,t.rejected)})),!i){var p=[s,void 0];for(Array.prototype.unshift.apply(p,n),p=p.concat(u),o=Promise.resolve(e);p.length;)o=o.then(p.shift(),p.shift());return o}for(var d=e;n.length;){var f=n.shift(),h=n.shift();try{d=f(d)}catch(t){h(t);break}}try{o=s(d)}catch(t){return Promise.reject(t)}for(;u.length;)o=o.then(u.shift(),u.shift());return o},p.prototype.getUri=function(t){t=a(this.defaults,t);var e=u(t.baseURL,t.url);return i(e,t.params,t.paramsSerializer)},n.forEach(["delete","get","head","options"],(function(t){p.prototype[t]=function(e,r){return this.request(a(r||{},{method:t,url:e,data:(r||{}).data}))}})),n.forEach(["post","put","patch"],(function(t){function e(e){return function(r,n,i){return this.request(a(i||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}p.prototype[t]=e(),p.prototype[t+"Form"]=e(!0)})),t.exports=p},2648:(t,e,r)=>{"use strict";var n=r(4867);function i(t,e,r,n,i){Error.call(this),this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i)}n.inherits(i,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var o=i.prototype,s={};["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"].forEach((function(t){s[t]={value:t}})),Object.defineProperties(i,s),Object.defineProperty(o,"isAxiosError",{value:!0}),i.from=function(t,e,r,s,a,u){var c=Object.create(o);return n.toFlatObject(t,c,(function(t){return t!==Error.prototype})),i.call(c,t.message,e,r,s,a),c.name=t.name,u&&Object.assign(c,u),c},t.exports=i},782:(t,e,r)=>{"use strict";var n=r(4867);function i(){this.handlers=[]}i.prototype.use=function(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.forEach=function(t){n.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=i},4097:(t,e,r)=>{"use strict";var n=r(1793),i=r(7303);t.exports=function(t,e){return t&&!n(e)?i(t,e):e}},3572:(t,e,r)=>{"use strict";var n=r(4867),i=r(8527),o=r(6502),s=r(5546),a=r(644);function u(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new a}t.exports=function(t){return u(t),t.headers=t.headers||{},t.data=i.call(t,t.data,t.headers,t.transformRequest),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||s.adapter)(t).then((function(e){return u(t),e.data=i.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return o(e)||(u(t),e&&e.response&&(e.response.data=i.call(t,e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},7185:(t,e,r)=>{"use strict";var n=r(4867);t.exports=function(t,e){e=e||{};var r={};function i(t,e){return n.isPlainObject(t)&&n.isPlainObject(e)?n.merge(t,e):n.isPlainObject(e)?n.merge({},e):n.isArray(e)?e.slice():e}function o(r){return n.isUndefined(e[r])?n.isUndefined(t[r])?void 0:i(void 0,t[r]):i(t[r],e[r])}function s(t){if(!n.isUndefined(e[t]))return i(void 0,e[t])}function a(r){return n.isUndefined(e[r])?n.isUndefined(t[r])?void 0:i(void 0,t[r]):i(void 0,e[r])}function u(r){return r in e?i(t[r],e[r]):r in t?i(void 0,t[r]):void 0}var c={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:u};return n.forEach(Object.keys(t).concat(Object.keys(e)),(function(t){var e=c[t]||o,i=e(t);n.isUndefined(i)&&e!==u||(r[t]=i)})),r}},6026:(t,e,r)=>{"use strict";var n=r(2648);t.exports=function(t,e,r){var i=r.config.validateStatus;r.status&&i&&!i(r.status)?e(new n("Request failed with status code "+r.status,[n.ERR_BAD_REQUEST,n.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):t(r)}},8527:(t,e,r)=>{"use strict";var n=r(4867),i=r(5546);t.exports=function(t,e,r){var o=this||i;return n.forEach(r,(function(r){t=r.call(o,t,e)})),t}},5546:(t,e,r)=>{"use strict";var n=r(4867),i=r(6016),o=r(2648),s=r(7874),a=r(7675),u={"Content-Type":"application/x-www-form-urlencoded"};function c(t,e){!n.isUndefined(t)&&n.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var l,p={transitional:s,adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(l=r(5448)),l),transformRequest:[function(t,e){if(i(e,"Accept"),i(e,"Content-Type"),n.isFormData(t)||n.isArrayBuffer(t)||n.isBuffer(t)||n.isStream(t)||n.isFile(t)||n.isBlob(t))return t;if(n.isArrayBufferView(t))return t.buffer;if(n.isURLSearchParams(t))return c(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var r,o=n.isObject(t),s=e&&e["Content-Type"];if((r=n.isFileList(t))||o&&"multipart/form-data"===s){var u=this.env&&this.env.FormData;return a(r?{"files[]":t}:t,u&&new u)}return o||"application/json"===s?(c(e,"application/json"),function(t,e,r){if(n.isString(t))try{return(0,JSON.parse)(t),n.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||p.transitional,r=e&&e.silentJSONParsing,i=e&&e.forcedJSONParsing,s=!r&&"json"===this.responseType;if(s||i&&n.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(s){if("SyntaxError"===t.name)throw o.from(t,o.ERR_BAD_RESPONSE,this,null,this.response);throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:r(1623)},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};n.forEach(["delete","get","head"],(function(t){p.headers[t]={}})),n.forEach(["post","put","patch"],(function(t){p.headers[t]=n.merge(u)})),t.exports=p},7874:t=>{"use strict";t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},7288:t=>{t.exports={version:"0.27.2"}},1849:t=>{"use strict";t.exports=function(t,e){return function(){for(var r=new Array(arguments.length),n=0;n{"use strict";var n=r(4867);function i(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,r){if(!e)return t;var o;if(r)o=r(e);else if(n.isURLSearchParams(e))o=e.toString();else{var s=[];n.forEach(e,(function(t,e){null!=t&&(n.isArray(t)?e+="[]":t=[t],n.forEach(t,(function(t){n.isDate(t)?t=t.toISOString():n.isObject(t)&&(t=JSON.stringify(t)),s.push(i(e)+"="+i(t))})))})),o=s.join("&")}if(o){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+o}return t}},7303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},4372:(t,e,r)=>{"use strict";var n=r(4867);t.exports=n.isStandardBrowserEnv()?{write:function(t,e,r,i,o,s){var a=[];a.push(t+"="+encodeURIComponent(e)),n.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),n.isString(i)&&a.push("path="+i),n.isString(o)&&a.push("domain="+o),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}},6268:(t,e,r)=>{"use strict";var n=r(4867);t.exports=function(t){return n.isObject(t)&&!0===t.isAxiosError}},7985:(t,e,r)=>{"use strict";var n=r(4867);t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function i(t){var n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=i(window.location.href),function(e){var r=n.isString(e)?i(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0}},6016:(t,e,r)=>{"use strict";var n=r(4867);t.exports=function(t,e){n.forEach(t,(function(r,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=r,delete t[n])}))}},1623:t=>{t.exports=null},4109:(t,e,r)=>{"use strict";var n=r(4867),i=["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"];t.exports=function(t){var e,r,o,s={};return t?(n.forEach(t.split("\n"),(function(t){if(o=t.indexOf(":"),e=n.trim(t.substr(0,o)).toLowerCase(),r=n.trim(t.substr(o+1)),e){if(s[e]&&i.indexOf(e)>=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([r]):s[e]?s[e]+", "+r:r}})),s):s}},205:t=>{"use strict";t.exports=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}},8713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},7675:(t,e,r)=>{"use strict";var n=r(4867);t.exports=function(t,e){e=e||new FormData;var r=[];function i(t){return null===t?"":n.isDate(t)?t.toISOString():n.isArrayBuffer(t)||n.isTypedArray(t)?"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}return function t(o,s){if(n.isPlainObject(o)||n.isArray(o)){if(-1!==r.indexOf(o))throw Error("Circular reference detected in "+s);r.push(o),n.forEach(o,(function(r,o){if(!n.isUndefined(r)){var a,u=s?s+"."+o:o;if(r&&!s&&"object"==typeof r)if(n.endsWith(o,"{}"))r=JSON.stringify(r);else if(n.endsWith(o,"[]")&&(a=n.toArray(r)))return void a.forEach((function(t){!n.isUndefined(t)&&e.append(u,i(t))}));t(r,u)}})),r.pop()}else e.append(s,i(o))}(t),e}},4875:(t,e,r)=>{"use strict";var n=r(7288).version,i=r(2648),o={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){o[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}}));var s={};o.transitional=function(t,e,r){function o(t,e){return"[Axios v"+n+"] Transitional option '"+t+"'"+e+(r?". "+r:"")}return function(r,n,a){if(!1===t)throw new i(o(n," has been removed"+(e?" in "+e:"")),i.ERR_DEPRECATED);return e&&!s[n]&&(s[n]=!0,console.warn(o(n," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(r,n,a)}},t.exports={assertOptions:function(t,e,r){if("object"!=typeof t)throw new i("options must be an object",i.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(t),o=n.length;o-- >0;){var s=n[o],a=e[s];if(a){var u=t[s],c=void 0===u||a(u,s,t);if(!0!==c)throw new i("option "+s+" must be "+c,i.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new i("Unknown option "+s,i.ERR_BAD_OPTION)}},validators:o}},4867:(t,e,r)=>{"use strict";var n,i=r(1849),o=Object.prototype.toString,s=(n=Object.create(null),function(t){var e=o.call(t);return n[e]||(n[e]=e.slice(8,-1).toLowerCase())});function a(t){return t=t.toLowerCase(),function(e){return s(e)===t}}function u(t){return Array.isArray(t)}function c(t){return void 0===t}var l=a("ArrayBuffer");function p(t){return null!==t&&"object"==typeof t}function d(t){if("object"!==s(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}var f=a("Date"),h=a("File"),_=a("Blob"),g=a("FileList");function y(t){return"[object Function]"===o.call(t)}var E=a("URLSearchParams");function m(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),u(t))for(var r=0,n=t.length;r0;)s[o=n[i]]||(e[o]=t[o],s[o]=!0);t=Object.getPrototypeOf(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:s,kindOfTest:a,endsWith:function(t,e,r){t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;var n=t.indexOf(e,r);return-1!==n&&n===r},toArray:function(t){if(!t)return null;var e=t.length;if(c(e))return null;for(var r=new Array(e);e-- >0;)r[e]=t[e];return r},isTypedArray:T,isFileList:g}},697:(t,e,r)=>{"use strict";e.__esModule=!0;var n=r(655),i=r(2430),o=r(4481),s=r(4481),a=r(4481),u=r(41),c=r(4637),l=r(734),p=r(9915),d=r(4283),f=r(5006),h=function(){function t(){}return t.createRepository=function(e){t.ensureRepositoryConfigIsValid(e),e.options=n.__assign({api_version:"v1",override_queries:!0,timeout:3e3},e.options);var r=void 0!==e.options.http_client?e.options.http_client:new i.AxiosClient(e.options.endpoint,e.options.api_version,e.options.timeout,e.options.override_queries);return e.options.use_cache&&(r=new f.CacheClient(r)),new c.HttpRepository(r,e.app_id,e.index_id,e.token,new d.Transformer)},t.ensureRepositoryConfigIsValid=function(e){t.ensureIsDefined(e.app_id,"app_id"),t.ensureIsDefined(e.index_id,"index_id"),t.ensureIsDefined(e.token,"token"),t.ensureIsDefined(e.options.endpoint,"options.endpoint")},t.ensureIsDefined=function(t,e){if(void 0===t)throw new TypeError(e+" parameter must be defined.")},t.createQueryLocated=function(t,e,r,n){return void 0===r&&(r=o.QUERY_DEFAULT_PAGE),void 0===n&&(n=s.QUERY_DEFAULT_SIZE),a.Query.createLocated(t,e,r,n)},t.createQuery=function(t,e,r){return void 0===e&&(e=o.QUERY_DEFAULT_PAGE),void 0===r&&(r=s.QUERY_DEFAULT_SIZE),a.Query.create(t,e,r)},t.createQueryMatchAll=function(){return a.Query.createMatchAll()},t.createQueryByUUID=function(t){return a.Query.createByUUID(t)},t.createQueryByUUIDs=function(){for(var t=[],e=0;e{"use strict";e.__esModule=!0,e.Config=e.DEFAULT_REPLICAS=e.DEFAULT_SHARDS=void 0;var n=r(9653);e.DEFAULT_SHARDS=1,e.DEFAULT_REPLICAS=0;var i=function(){function t(t,r,n,i){void 0===t&&(t=null),void 0===r&&(r=!0),void 0===n&&(n=e.DEFAULT_SHARDS),void 0===i&&(i=e.DEFAULT_REPLICAS),this.synonyms=[],this.language=t,this.storeSearchableMetadata=r,this.shards=n,this.replicas=i}return t.prototype.getLanguage=function(){return this.language},t.prototype.shouldSearchableMetadataBeStored=function(){return this.storeSearchableMetadata},t.prototype.addSynonym=function(t){this.synonyms.push(t)},t.prototype.getSynonyms=function(){return this.synonyms},t.prototype.getShards=function(){return this.shards},t.prototype.getReplicas=function(){return this.replicas},t.prototype.toArray=function(){return{language:this.language,store_searchable_metadata:this.storeSearchableMetadata,synonyms:this.synonyms.map((function(t){return t.toArray()})),shards:this.shards,replicas:this.replicas}},t.createFromArray=function(r){var i=new t(r.language?r.language:null,"boolean"!=typeof r.store_searchable_metadata||r.store_searchable_metadata);return r.synonyms instanceof Array&&r.synonyms.length>0&&(i.synonyms=r.synonyms.map((function(t){return n.Synonym.createFromArray(t)}))),i.shards="number"==typeof r.shards?r.shards:e.DEFAULT_SHARDS,i.replicas="number"==typeof r.replicas?r.replicas:e.DEFAULT_REPLICAS,i},t}();e.Config=i},9653:(t,e)=>{"use strict";e.__esModule=!0,e.Synonym=void 0;var r=function(){function t(t){this.words=t}return t.prototype.getWords=function(){return this.words},t.createbyWords=function(e){return new t(e)},t.prototype.toArray=function(){return{words:this.words}},t.createFromArray=function(e){return new t(e.words instanceof Object?e.words:[])},t.prototype.expand=function(){return this.words.join(",")},t}();e.Synonym=r},6017:(t,e,r)=>{"use strict";e.__esModule=!0,e.ConnectionError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 500},e}(r(3138).ErrorWithMessage);e.ConnectionError=i},3138:(t,e)=>{"use strict";e.__esModule=!0,e.ErrorWithMessage=void 0;e.ErrorWithMessage=function(t){this.message=t}},7380:(t,e,r)=>{"use strict";e.__esModule=!0,e.EventError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.throwEndpointNotAvailable=function(){return new e("Endpoint not available")},e}(r(3138).ErrorWithMessage);e.EventError=i},175:(t,e,r)=>{"use strict";e.__esModule=!0,e.ForbiddenError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 403},e.createAppIdIsRequiredException=function(){return new e("AppId query parameter MUST be defined with a valid value")},e.createIndexIsRequiredException=function(){return new e("Index query parameter MUST be defined with a valid value")},e.createTokenIsRequiredException=function(){return new e("Token query parameter MUST be defined with a valid value")},e}(r(3138).ErrorWithMessage);e.ForbiddenError=i},9081:(t,e,r)=>{"use strict";e.__esModule=!0,e.InvalidFormatError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 400},e.itemRepresentationNotValid=function(){return new e("Item representation not valid. Expecting Item array serialized but found malformed data")},e.itemUUIDRepresentationNotValid=function(){return new e("Item UUID representation not valid. Expecting UUID array serialized but found malformed data")},e.composedItemUUIDNotValid=function(){return new e("A composed UUID should always follow this format: {id}~{type}.")},e.querySortedByDistanceWithoutCoordinate=function(){return new e("In order to be able to sort by coordinates, you need to create a Query by using Query::createLocated() instead of Query::create()")},e.queryFormatNotValid=function(){return new e("Query Format not valid. Expecting a Query serialized but found malformed data")},e.coordinateFormatNotValid=function(){return new e("A Coordinate should always contain a lat (Latitude) and a lon (Longitude)")},e.configFormatNotValid=function(){return new e("Config Format not valid. Expecting a Config serialized but found malformed data")},e.tokenFormatNotValid=function(){return new e("Token Format not valid. Expecting a Token serialized but found malformed data")},e.indexFormatNotValid=function(){return new e("Index Format not valid. Expecting an Index serialized but found malformed data")},e.indexUUIDFormatNotValid=function(){return new e("IndexUUID Format not valid. Expecting an IndexUUID serialized but found malformed data")},e.appUUIDFormatNotValid=function(){return new e("AppUUID Format not valid. Expecting an AppUUID serialized but found malformed data")},e.campaignFormatNotValid=function(){return new e("Campaign Format not valid. Expecting a Campaign serialized but found malformed data")},e.changesFormatNotValid=function(){return new e("Changes Format not valid. Expecting a Changes serialized but found malformed data")},e.boostClauseFormatNotValid=function(){return new e("Boost clause Format not valid. Expecting a Boost clause serialized but found malformed data")},e.tokenUUIDFormatNotValid=function(){return new e("Token UUID Format not valid. Expecting a TokenUUID serialized but found malformed data")},e.userFormatNotValid=function(){return new e("User Format not valid. Expecting a User serialized but found malformed data")},e}(r(3138).ErrorWithMessage);e.InvalidFormatError=i},9134:(t,e,r)=>{"use strict";e.__esModule=!0,e.InvalidTokenError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 401},e.createInvalidTokenPermissions=function(t){return new e("Token "+t+"not valid")},e.createInvalidTokenMaxHitsPerQuery=function(t,r){return new e("Token "+t+"not valid. Max "+r+" hits allowed")},e}(r(3138).ErrorWithMessage);e.InvalidTokenError=i},8257:(t,e,r)=>{"use strict";e.__esModule=!0,e.ResourceExistsError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 409},e.indexAvailable=function(){return new e("Index exists and cannot be created again")},e.eventsIndexAvailable=function(){return new e("Events index exists and cannot be created again")},e.logsIndexAvailable=function(){return new e("Logs index exists and cannot be created again")},e}(r(3138).ErrorWithMessage);e.ResourceExistsError=i},273:(t,e,r)=>{"use strict";e.__esModule=!0,e.ResourceNotAvailableError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 404},e.indexNotAvailable=function(t){return new e("Index not available - "+t)},e.eventsIndexNotAvailable=function(t){return new e("Events not available - "+t)},e.logsIndexNotAvailable=function(t){return new e("Logs not available - "+t)},e.engineNotAvailable=function(t){return new e("Engine not available - "+t)},e}(r(3138).ErrorWithMessage);e.ResourceNotAvailableError=i},4587:(t,e,r)=>{"use strict";e.__esModule=!0,e.UnknownError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.createUnknownError=function(){return new this("Unknown error.")},e}(r(3138).ErrorWithMessage);e.UnknownError=i},52:(t,e,r)=>{"use strict";e.__esModule=!0,e.UnsupportedContentTypeError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 415},e.createUnsupportedContentTypeException=function(){return new e("This content type is not accepted. Please use application/json")},e}(r(3138).ErrorWithMessage);e.UnsupportedContentTypeError=i},9878:(t,e,r)=>{"use strict";e.__esModule=!0,e.Square=e.Polygon=e.CoordinateAndDistance=e.LocationRange=void 0;var n=r(655),i=r(5343),o=function(){function t(){}return t.fromFilterObject=function(t){throw TypeError("Method not valid")},t.prototype.toArray=function(){return{type:this.getName(),data:this.toFilterObject()}},t.createFromArray=function(t){return"CoordinateAndDistance"==t.type?s.fromFilterObject(t.data):"Polygon"==t.type?a.fromFilterObject(t.data):"Square"==t.type?u.fromFilterObject(t.data):void 0},t}();e.LocationRange=o;var s=function(t){function e(e,r){var n=t.call(this)||this;return n.coordinate=e,n.distance=r,n}return n.__extends(e,t),e.prototype.toFilterObject=function(){return{coordinate:this.coordinate.toArray(),distance:this.distance}},e.prototype.getName=function(){return"CoordinateAndDistance"},e.fromFilterObject=function(t){return new e(i.Coordinate.createFromArray(t.coordinate),t.distance)},e}(o);e.CoordinateAndDistance=s;var a=function(t){function e(e){var r=t.call(this)||this;if(e.length<3)throw new Error("A polygon needs more than two coordinates.");return r.coordinates=e,r}return n.__extends(e,t),e.prototype.toFilterObject=function(){var t=[];for(var e in this.coordinates)t.push(this.coordinates[e].toArray());return{coordinates:t}},e.prototype.getName=function(){return"Polygon"},e.fromFilterObject=function(t){var r=[];for(var n in t.coordinates)r.push(i.Coordinate.createFromArray(t.coordinates[n]));return new e(r)},e}(o);e.Polygon=a;var u=function(t){function e(e,r){var n=t.call(this)||this;return n.topLeftCoordinate=e,n.bottomRightCoordinate=r,n}return n.__extends(e,t),e.prototype.toFilterObject=function(){return{top_left:this.topLeftCoordinate.toArray(),bottom_right:this.bottomRightCoordinate.toArray()}},e.prototype.getName=function(){return"Square"},e.fromFilterObject=function(t){return new e(i.Coordinate.createFromArray(t.top_left),i.Coordinate.createFromArray(t.bottom_right))},e}(o);e.Square=u},2430:(t,e,r)=>{"use strict";e.__esModule=!0,e.AxiosClient=void 0;var n=r(655),i=r(9669),o=r(3607),s=r(6563),a=r(9313),u=function(t){function e(e,r,n,i){var o=t.call(this,r)||this;return o.host=e,o.timeout=n,o.overrideQueries=i,o.abortControllers={},o}return n.__extends(e,t),e.prototype.get=function(t,e,r,i,u){return void 0===i&&(i={}),void 0===u&&(u={}),n.__awaiter(this,void 0,void 0,(function(){var c,l,p,d;return n.__generator(this,(function(f){switch(f.label){case 0:t=t.replace(/^\/*|\/*$/g,""),t="/"+(this.version+"/"+t).replace(/^\/*|\/*$/g,""),"get"===(e=e.toLowerCase())&&this.overrideQueries&&this.abort(t,!0),c="get"===e?{}:{"Content-Encoding":"gzip","Content-Type":"application/json"},l={baseURL:this.host.replace(/\/*$/g,""),data:u,headers:c,method:e,timeout:this.timeout,transformRequest:[function(t){return JSON.stringify(t)}],url:t+"?"+s.Client.objectToUrlParameters(n.__assign(n.__assign({},i),{token:r.token})).replace(/#/g,"%23")},void 0!==this.abortControllers[t]&&(l.signal=this.abortControllers[t].signal),f.label=1;case 1:return f.trys.push([1,3,,4]),[4,this.fetch(t,l,3)];case 2:return p=f.sent(),[2,new a.Response(p.status,p.data)];case 3:throw(d=f.sent()).response?new a.Response(d.response.status,d.response.data):new a.Response(o.ConnectionError.getTransportableHTTPError(),{message:d.message});case 4:return[2]}}))}))},e.prototype.abort=function(t,e){e||(t=t.replace(/^\/*|\/*$/g,""),t="/"+(this.version+"/"+t).replace(/^\/*|\/*$/g,"")),void 0!==this.abortControllers[t]&&this.abortControllers[t].abort(),this.generateAbortController(t)},e.prototype.generateAbortController=function(t){this.abortControllers[t]=new AbortController},e.prototype.fetch=function(t,e,r){return n.__awaiter(this,void 0,void 0,(function(){var o=this;return n.__generator(this,(function(n){switch(n.label){case 0:return[4,i.default.request(e).then((function(t){return{data:t.data,status:t.status}})).catch((function(n){var i=n.response;if(void 0!==n.code&&"ECONNREFUSED"!==n.code&&"ECONNABORTED"!==n.code&&"ERR_BAD_REQUEST"!==n.code&&"Network Error"!==n.message)return{data:i.data,status:i.status};if(r<=0)throw n;return r-=1,o.fetch(t,e,r)}))];case 1:return[2,n.sent()]}}))}))},e}(s.Client);e.AxiosClient=u},5006:(t,e,r)=>{"use strict";e.__esModule=!0,e.CacheClient=void 0;var n=r(655),i=r(4758),o=function(){function t(t){this.cache={},this.hits=0,this.httpClient=t}return t.prototype.flushCache=function(){this.cache={}},t.prototype.size=function(){return Object.keys(this.cache).length},t.prototype.getNumberOfHits=function(){return this.hits},t.prototype.get=function(t,e,r,o,s){return void 0===o&&(o={}),void 0===s&&(s={}),n.__awaiter(this,void 0,void 0,(function(){var a,u,c;return n.__generator(this,(function(n){switch(n.label){case 0:return"get"!==e?[2,this.httpClient.get(t,e,r,o,s)]:(a=i.Md5.hashStr(JSON.stringify({u:t,c:r,p:o,d:s})).toString(),this.cache[a]?[3,2]:(u=this.cache,c=a,[4,this.httpClient.get(t,e,r,o,s)]));case 1:return u[c]=n.sent(),[3,3];case 2:this.httpClient.abort(t,!1),this.hits++,n.label=3;case 3:return[2,this.cache[a]]}}))}))},t.prototype.abort=function(t,e){},t}();e.CacheClient=o},6563:(t,e)=>{"use strict";e.__esModule=!0,e.Client=void 0;var r=function(){function t(t){this.version=t.replace(/^\/*|\/*$/g,"")}return t.objectToUrlParameters=function(t){var e=[];for(var r in t)e.push(r+"="+t[r]);return e.join("&")},t}();e.Client=r},4885:(t,e)=>{"use strict";e.__esModule=!0,e.HttpClient=void 0;e.HttpClient=function(){}},9313:(t,e)=>{"use strict";e.__esModule=!0,e.Response=void 0;var r=function(){function t(t,e){this.code=t,this.body=e}return t.prototype.getCode=function(){return this.code},t.prototype.getBody=function(){return this.body},t}();e.Response=r},1382:(t,e,r)=>{"use strict";e.__esModule=!0,e.AppUUID=void 0;var n=r(9081),i=function(){function t(t){if(t.indexOf("_")>=0)throw n.InvalidFormatError.appUUIDFormatNotValid();this.id=t}return t.createById=function(e){return new t(e)},t.prototype.getId=function(){return this.id},t.prototype.toArray=function(){return{id:this.id}},t.createFromArray=function(e){return new t((e=JSON.parse(JSON.stringify(e))).id)},t.prototype.composedUUID=function(){return this.id},t}();e.AppUUID=i},4026:(t,e)=>{"use strict";e.__esModule=!0,e.Changes=e.TYPE_ARRAY=e.TYPE_ARRAY_EXPECTS_ELEMENT=e.TYPE_ARRAY_ELEMENT_DELETE=e.TYPE_ARRAY_ELEMENT_ADD=e.TYPE_ARRAY_ELEMENT_UPDATE=e.TYPE_LITERAL=e.TYPE_VALUE=void 0,e.TYPE_VALUE=1,e.TYPE_LITERAL=4,e.TYPE_ARRAY_ELEMENT_UPDATE=8,e.TYPE_ARRAY_ELEMENT_ADD=16,e.TYPE_ARRAY_ELEMENT_DELETE=32,e.TYPE_ARRAY_EXPECTS_ELEMENT=24,e.TYPE_ARRAY=56;var r=function(){function t(){this.changes=[]}return t.prototype.addChange=function(t,r,n){void 0===n&&(n=e.TYPE_VALUE),this.changes.push({field:t,type:n,value:r})},t.prototype.updateElementFromList=function(t,r,n,i){this.changes.push({field:t,type:i|e.TYPE_ARRAY_ELEMENT_UPDATE,condition:r,value:n})},t.prototype.addElementInList=function(t,r,n){this.changes.push({field:t,type:n|e.TYPE_ARRAY_ELEMENT_ADD,value:r})},t.prototype.deleteElementFromList=function(t,r){this.changes.push({field:t,type:e.TYPE_ARRAY_ELEMENT_DELETE,condition:r})},t.prototype.getChanges=function(){return this.changes},t.create=function(){return new t},t.prototype.toArray=function(){return JSON.parse(JSON.stringify(this.changes))},t.createFromArray=function(e){e=JSON.parse(JSON.stringify(e));var r=t.create();return r.changes=e,r},t}();e.Changes=r},5343:(t,e,r)=>{"use strict";e.__esModule=!0,e.Coordinate=void 0;var n=r(9081),i=function(){function t(t,e){this.lat=t,this.lon=e}return t.prototype.getLatitude=function(){return this.lat},t.prototype.getLongitude=function(){return this.lon},t.prototype.toArray=function(){return{lat:this.lat,lon:this.lon}},t.createFromArray=function(e){if(void 0===e.lat||void 0===e.lon)throw n.InvalidFormatError.coordinateFormatNotValid();return new t(e.lat,e.lon)},t}();e.Coordinate=i},4855:(t,e,r)=>{"use strict";e.__esModule=!0,e.Index=void 0;var n=r(9081),i=r(2312),o=r(1382),s=function(){function t(t,e,r,n,i){void 0===r&&(r=!1),void 0===n&&(n=0),void 0===i&&(i="0kb"),this.uuid=t,this.appUUID=e,this.isOK=r,this.docCount=n,this.size=i}return t.prototype.getUUID=function(){return this.uuid},t.prototype.getAppUUID=function(){return this.appUUID},t.prototype.isOk=function(){return this.isOK},t.prototype.getDocCount=function(){return this.docCount},t.prototype.getSize=function(){return this.size},t.prototype.toArray=function(){return{uuid:this.uuid.toArray(),app_id:this.appUUID.toArray(),is_ok:this.isOK,doc_count:this.docCount,size:this.size}},t.createFromArray=function(e){if(void 0===e.uuid||void 0===e.app_id)throw n.InvalidFormatError.indexFormatNotValid();return new t(i.IndexUUID.createFromArray(e.uuid),o.AppUUID.createFromArray(e.app_id),void 0!==e.is_ok&&e.is_ok,void 0===e.doc_count?0:e.doc_count,void 0===e.size?"0kb":e.size)},t}();e.Index=s},2312:(t,e,r)=>{"use strict";e.__esModule=!0,e.IndexUUID=void 0;var n=r(9081),i=function(){function t(t){if(t.indexOf("_")>=0)throw n.InvalidFormatError.indexUUIDFormatNotValid();this.id=t}return t.createById=function(e){return new t(e)},t.prototype.getId=function(){return this.id},t.prototype.toArray=function(){return{id:this.id}},t.createFromArray=function(e){return new t((e=JSON.parse(JSON.stringify(e))).id)},t.prototype.composedUUID=function(){return this.id},t}();e.IndexUUID=i},4232:(t,e,r)=>{"use strict";e.__esModule=!0,e.Item=void 0;var n=r(655),i=r(9081),o=r(5343),s=r(3683),a=r(1382),u=r(2312),c=function(){function t(t,e,r,n,i,o,s){this.metadata={},this.indexedMetadata={},this.searchableMetadata={},this.exactMatchingMetadata=[],this.suggest=[],this.highlights={},this.promoted=!1,this.uuid=t,this.coordinate=e,this.metadata=r,this.indexedMetadata=n,this.searchableMetadata=i,this.exactMatchingMetadata=o,this.suggest=s}return t.create=function(e,r,n,i,o,s){return void 0===r&&(r={}),void 0===n&&(n={}),void 0===i&&(i={}),void 0===o&&(o=[]),void 0===s&&(s=[]),new t(e,null,r,n,i,o,s)},t.createLocated=function(e,r,n,i,o,s,a){return void 0===n&&(n={}),void 0===i&&(i={}),void 0===o&&(o={}),void 0===s&&(s=[]),void 0===a&&(a=[]),new t(e,r,n,i,o,s,a)},t.prototype.getUUID=function(){return this.uuid},t.prototype.getId=function(){return this.uuid.getId()},t.prototype.getType=function(){return this.uuid.getType()},t.prototype.getCoordinate=function(){return this.coordinate},t.prototype.getDistance=function(){return this.distance},t.prototype.getMetadata=function(){return this.metadata},t.prototype.setMetadata=function(t){this.metadata=t},t.prototype.addMetadata=function(t,e){this.metadata[t]=e},t.prototype.getIndexedMetadata=function(){return this.indexedMetadata},t.prototype.setIndexedMetadata=function(t){this.indexedMetadata=t},t.prototype.addIndexedMetadata=function(t,e){this.indexedMetadata[t]=e},t.prototype.getSearchableMetadata=function(){return this.searchableMetadata},t.prototype.setSearchableMetadata=function(t){this.searchableMetadata=t},t.prototype.addSearchableMetadata=function(t,e){this.searchableMetadata[t]=e},t.prototype.getExactMatchingMetadata=function(){return this.exactMatchingMetadata},t.prototype.setExactMatchingMetadata=function(t){this.exactMatchingMetadata=t},t.prototype.addExactMatchingMetadata=function(t){this.exactMatchingMetadata.push(t)},t.prototype.getAllMetadata=function(){return n.__assign(n.__assign({},this.metadata),this.indexedMetadata)},t.prototype.get=function(t){var e=this.getAllMetadata();return void 0!==e[t]?e[t]:null},t.prototype.getSuggest=function(){return this.suggest},t.prototype.getHighlights=function(){return this.highlights},t.prototype.getHighlight=function(t){return void 0!==this.highlights[t]?this.highlights[t]:null},t.prototype.isPromoted=function(){return this.promoted},t.prototype.setScore=function(t){return this.score=t,this},t.prototype.getScore=function(){return this.score},t.prototype.getAppUUID=function(){return this.appUUID},t.prototype.getIndexUUID=function(){return this.indexUUID},t.prototype.toArray=function(){var t={uuid:this.uuid.toArray()};return this.coordinate instanceof o.Coordinate&&(t.coordinate=this.coordinate.toArray()),Object.keys(this.metadata).length>0&&(t.metadata=this.metadata),Object.keys(this.indexedMetadata).length>0&&(t.indexed_metadata=this.indexedMetadata),Object.keys(this.searchableMetadata).length>0&&(t.searchable_metadata=this.searchableMetadata),this.exactMatchingMetadata.length>0&&(t.exact_matching_metadata=this.exactMatchingMetadata),this.suggest.length>0&&(t.suggest=this.suggest),Object.keys(this.highlights).length>0&&(t.highlights=this.highlights),this.isPromoted()&&(t.is_promoted=!0),void 0!==this.distance&&(t.distance=this.distance),void 0!==this.score&&(t.score=this.score),void 0!==this.appUUID&&(t.app_uuid=this.appUUID.toArray()),void 0!==this.indexUUID&&(t.index_uuid=this.indexUUID.toArray()),t},t.createFromArray=function(e){if("object"!=typeof(e=JSON.parse(JSON.stringify(e))).uuid)throw i.InvalidFormatError.itemUUIDRepresentationNotValid();if(void 0!==e.coordinate&&"object"!=typeof e.coordinate)throw i.InvalidFormatError.coordinateFormatNotValid();var r="object"==typeof e.coordinate&&null!=e.coordinate?t.createLocated(s.ItemUUID.createFromArray(e.uuid),o.Coordinate.createFromArray(e.coordinate),void 0===e.metadata?{}:e.metadata,void 0===e.indexed_metadata?{}:e.indexed_metadata,void 0===e.searchable_metadata?{}:e.searchable_metadata,void 0===e.exact_matching_metadata?[]:e.exact_matching_metadata,void 0===e.suggest?[]:e.suggest):t.create(s.ItemUUID.createFromArray(e.uuid),void 0===e.metadata?{}:e.metadata,void 0===e.indexed_metadata?{}:e.indexed_metadata,void 0===e.searchable_metadata?{}:e.searchable_metadata,void 0===e.exact_matching_metadata?[]:e.exact_matching_metadata,void 0===e.suggest?[]:e.suggest);return void 0!==e.distance&&null!=e.distance&&(r.distance=e.distance),"object"==typeof e.highlights&&null!=e.highlights&&(r.highlights=e.highlights),void 0!==e.is_promoted&&null!=e.is_promoted&&(r.promoted=e.is_promoted),void 0!==e.score&&null!=e.score&&(r.score=e.score),void 0!==e.app_uuid&&null!=e.app_uuid&&(r.appUUID=a.AppUUID.createFromArray(e.app_uuid)),void 0!==e.index_uuid&&null!=e.index_uuid&&(r.indexUUID=u.IndexUUID.createFromArray(e.index_uuid)),r},t.prototype.composeUUID=function(){return this.uuid.composedUUID()},t.getPathByField=function(t){return["id","type"].indexOf(t)>-1?"uuid."+t:"indexed_metadata."+t},t}();e.Item=c},3683:(t,e,r)=>{"use strict";e.__esModule=!0,e.ItemUUID=void 0;var n=r(9081),i=function(){function t(t,e){this.id=t,this.type=e}return t.createByComposedUUID=function(e){var r=e.split("~");if(2!=r.length)throw n.InvalidFormatError.composedItemUUIDNotValid();return new t(r[0],r[1])},t.prototype.getId=function(){return this.id},t.prototype.getType=function(){return this.type},t.prototype.toArray=function(){return{id:this.id,type:this.type}},t.createFromArray=function(e){return new t((e=JSON.parse(JSON.stringify(e))).id,e.type)},t.prototype.composedUUID=function(){return this.id+"~"+this.type},t}();e.ItemUUID=i},7031:(t,e)=>{"use strict";e.__esModule=!0,e.Metadata=void 0;var r=function(){function t(){}return t.toMetadata=function(t){t=JSON.parse(JSON.stringify(t));var e=[];for(var r in t)e.push(r+"##"+t[r]);return e.join("~~")},t.fromMetadata=function(t){var e={},r=t.split("~~"),n=0,i=0,o=null;for(var s in r){var a=r[s],u=a.split("##");u.length>1?(o=u[1],e[u[0]]=o):(o=a,e[n++]=o),i++}return 1==i&&(e={id:o,name:o}),void 0===e.id?null:e},t}();e.Metadata=r},559:(t,e,r)=>{"use strict";e.__esModule=!0,e.User=void 0;var n=r(9081),i=function(){function t(t,e){void 0===e&&(e={}),this.id=t,this.attributes=e}return t.prototype.getId=function(){return this.id},t.prototype.getAttributes=function(){return this.attributes},t.prototype.toArray=function(){var t={id:this.id};return Object.keys(this.attributes).length>0&&(t.attributes=this.attributes),t},t.createFromArray=function(e){if(null==e||void 0===e.id||null==e.id)throw n.InvalidFormatError.userFormatNotValid();var r=typeof e.attributes==typeof{}?e.attributes:{};return new t(e.id,r)},t}();e.User=i},1341:(t,e,r)=>{"use strict";e.__esModule=!0,e.Aggregation=e.AGGREGATION_NO_LIMIT=e.AGGREGATION_SORT_BY_NAME_DESC=e.AGGREGATION_SORT_BY_NAME_ASC=e.AGGREGATION_SORT_BY_COUNT_DESC=e.AGGREGATION_SORT_BY_COUNT_ASC=void 0;var n=r(5908);e.AGGREGATION_SORT_BY_COUNT_ASC=["_count","asc"],e.AGGREGATION_SORT_BY_COUNT_DESC=["_count","desc"],e.AGGREGATION_SORT_BY_NAME_ASC=["_term","asc"],e.AGGREGATION_SORT_BY_NAME_DESC=["_term","desc"],e.AGGREGATION_NO_LIMIT=0;var i=function(){function t(t,e,r,n,i,o,s,a){this.subgroup=[],this.name=t,this.field=e,this.applicationType=r,this.filterType=n,this.subgroup=i,this.sort=o,this.limit=s,this.promoted=a}return t.prototype.getName=function(){return this.name},t.prototype.getField=function(){return this.field},t.prototype.getApplicationType=function(){return this.applicationType},t.prototype.getFilterType=function(){return this.filterType},t.prototype.getSubgroup=function(){return this.subgroup},t.prototype.getSort=function(){return this.sort},t.prototype.getLimit=function(){return this.limit},t.prototype.getPromoted=function(){return this.promoted},t.create=function(r,n,i,o,s,a,u,c){return void 0===s&&(s=[]),void 0===a&&(a=e.AGGREGATION_SORT_BY_COUNT_DESC),void 0===u&&(u=e.AGGREGATION_NO_LIMIT),void 0===c&&(c=[]),new t(r,n,i,o,s,a,u,c)},t.prototype.toArray=function(){var t={name:this.name};return"uuid.type"!==this.field&&(t.field=this.field),this.applicationType!==n.FILTER_AT_LEAST_ONE&&(t.application_type=this.applicationType),this.filterType!==n.FILTER_TYPE_FIELD&&(t.filter_type=this.filterType),this.subgroup.length>0&&(t.subgroup=this.subgroup),JSON.stringify(this.sort)!==JSON.stringify(e.AGGREGATION_SORT_BY_COUNT_DESC)&&(t.sort=this.sort),this.limit!==e.AGGREGATION_NO_LIMIT&&(t.limit=this.limit),this.promoted.length>0&&(t.promoted=this.promoted),t},t.createFromArray=function(r){return void 0===(r=JSON.parse(JSON.stringify(r))).field&&(r.field="uuid.type"),void 0===r.application_type&&(r.application_type=n.FILTER_AT_LEAST_ONE),void 0===r.filter_type&&(r.filter_type=n.FILTER_TYPE_FIELD),void 0===r.subgroup&&(r.subgroup=[]),void 0===r.sort&&(r.sort=e.AGGREGATION_SORT_BY_COUNT_DESC),void 0===r.limit&&(r.limit=e.AGGREGATION_NO_LIMIT),void 0===r.promoted&&(r.promoted=[]),t.create(r.name,r.field,r.application_type,r.filter_type,r.subgroup,r.sort,r.limit,r.promoted)},t}();e.Aggregation=i},5908:(t,e)=>{"use strict";e.__esModule=!0,e.Filter=e.FILTER_TYPE_QUERY=e.FILTER_TYPE_GEO=e.FILTER_TYPE_DATE_RANGE=e.FILTER_TYPE_RANGE=e.FILTER_TYPE_FIELD=e.FILTER_PROMOTE=e.FILTER_EXCLUDE=e.FILTER_AT_LEAST_ONE=e.FILTER_MUST_ALL_WITH_LEVELS=e.FILTER_MUST_ALL=void 0,e.FILTER_MUST_ALL=4,e.FILTER_MUST_ALL_WITH_LEVELS=5,e.FILTER_AT_LEAST_ONE=8,e.FILTER_EXCLUDE=16,e.FILTER_PROMOTE=32,e.FILTER_TYPE_FIELD="field",e.FILTER_TYPE_RANGE="range",e.FILTER_TYPE_DATE_RANGE="date_range",e.FILTER_TYPE_GEO="geo",e.FILTER_TYPE_QUERY="query";var r=function(){function t(t,e,r,n,i){this.field=t,this.values=e,this.applicationType=r,this.filterType=n,this.filterTerms=i}return t.prototype.getField=function(){return this.field},t.prototype.getValues=function(){return this.values},t.prototype.hasValue=function(t){return void 0===this.values[t]},t.prototype.getApplicationType=function(){return this.applicationType},t.prototype.getFilterType=function(){return this.filterType},t.prototype.getFilterTerms=function(){return this.filterTerms},t.create=function(e,r,n,i,o){return void 0===o&&(o=[]),new t(e,r,n,i,o)},t.prototype.toArray=function(){var t={};return"uuid.type"!=this.field&&(t.field=this.field),(this.values.length>0||Object.keys(this.values).length>0)&&(t.values=this.values),this.applicationType!=e.FILTER_AT_LEAST_ONE&&(t.application_type=this.applicationType),this.filterType!=e.FILTER_TYPE_FIELD&&(t.filter_type=this.filterType),this.filterTerms.length>0&&(t.filter_terms=this.filterTerms),t},t.createFromArray=function(r){return void 0===(r=JSON.parse(JSON.stringify(r))).field&&(r.field="uuid.type"),void 0===r.values&&(r.values=[]),void 0===r.application_type&&(r.application_type=e.FILTER_AT_LEAST_ONE),void 0===r.filter_type&&(r.filter_type=e.FILTER_TYPE_FIELD),void 0===r.filter_terms&&(r.filter_terms=[]),t.create(r.field,r.values,r.application_type,r.filter_type,r.filter_terms)},t}();e.Filter=r},4481:(t,e,r)=>{"use strict";e.__esModule=!0,e.Query=e.NO_MIN_SCORE=e.QUERY_DEFAULT_SIZE=e.QUERY_DEFAULT_PAGE=void 0;var n=r(655),i=r(5343),o=r(3683),s=r(4232),a=r(559),u=r(1341),c=r(5908),l=r(5908),p=r(1341),d=r(9081),f=r(5908),h=r(318),_=r(41),g=r(2312);e.QUERY_DEFAULT_PAGE=1,e.QUERY_DEFAULT_SIZE=10,e.NO_MIN_SCORE=0;var y=function(){function t(t){this.UUID=null,this.fields=[],this.universeFilters={},this.filters={},this.itemsPromoted=[],this.aggregations={},this.resultsEnabled=!0,this.aggregationsEnabled=!0,this.numberOfSuggestions=0,this.highlightsEnabled=!1,this.autocompleteEnabled=!1,this.searchableFields=[],this.fuzziness=null,this.minScore=e.NO_MIN_SCORE,this.metadata={},this.subqueries={},this.queryOperator=null,this.sortByInstance=_.SortBy.create(),this.filters._query=c.Filter.create("",[t],0,f.FILTER_TYPE_QUERY)}return t.createLocated=function(r,n,i,o){void 0===i&&(i=e.QUERY_DEFAULT_PAGE),void 0===o&&(o=e.QUERY_DEFAULT_SIZE);var s=t.create(n,i,o);return s.coordinate=r,s},t.create=function(r,n,i){void 0===n&&(n=e.QUERY_DEFAULT_PAGE),void 0===i&&(i=e.QUERY_DEFAULT_SIZE),n=Math.max(1,n);var o=new t(r);return o.from=(n-1)*i,o.size=i,o.page=n,o},t.createMatchAll=function(){return t.create("",e.QUERY_DEFAULT_PAGE,e.QUERY_DEFAULT_SIZE)},t.createByUUID=function(e){return t.createByUUIDs(e)},t.createByUUIDs=function(){for(var r=[],n=0;n0?this.universeFilters=n.__assign(n.__assign({},this.universeFilters),((e={}).type=c.Filter.create(r,t,l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_FIELD),e)):delete this.universeFilters.type,this},t.prototype.filterByTypes=function(t,e,r){var i,o;void 0===e&&(e=!0),void 0===r&&(r=p.AGGREGATION_SORT_BY_COUNT_DESC);var a=s.Item.getPathByField("type");return t.length>0?this.filters=n.__assign(n.__assign({},this.filters),((i={}).type=c.Filter.create(a,t,l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_FIELD),i)):delete this.filters.type,e&&(this.aggregations=n.__assign(n.__assign({},this.aggregations),((o={}).type=u.Aggregation.create("type",a,l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_FIELD,[],r),o))),this},t.prototype.filterUniverseByIds=function(t){var e,r=s.Item.getPathByField("id");return t.length>0?this.universeFilters=n.__assign(n.__assign({},this.universeFilters),((e={}).id=c.Filter.create(r,t,l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_FIELD),e)):delete this.universeFilters.id,this},t.prototype.filterByIds=function(t){var e,r=s.Item.getPathByField("id");return t.length>0?this.filters=n.__assign(n.__assign({},this.filters),((e={}).id=c.Filter.create(r,t,l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_FIELD),e)):delete this.filters.id,this},t.prototype.filterUniverseBy=function(t,e,r){var i;void 0===r&&(r=l.FILTER_AT_LEAST_ONE);var o=s.Item.getPathByField(t);return e.length>0?this.universeFilters=n.__assign(n.__assign({},this.universeFilters),((i={})[t]=c.Filter.create(o,e,r,l.FILTER_TYPE_FIELD),i)):delete this.universeFilters[t],this},t.prototype.filterBy=function(t,e,r,i,o,a){var u;void 0===i&&(i=l.FILTER_AT_LEAST_ONE),void 0===o&&(o=!0),void 0===a&&(a=p.AGGREGATION_SORT_BY_COUNT_DESC);var d=s.Item.getPathByField(e);return r.length>0?this.filters=n.__assign(n.__assign({},this.filters),((u={})[t]=c.Filter.create(d,r,i,l.FILTER_TYPE_FIELD),u)):delete this.filters[t],o&&this.aggregateBy(t,e,i,a),this},t.prototype.filterUniverseByRange=function(t,e,r,i){var o;void 0===r&&(r=l.FILTER_AT_LEAST_ONE),void 0===i&&(i=l.FILTER_TYPE_RANGE);var a=s.Item.getPathByField(t);return e.length>0?this.universeFilters=n.__assign(n.__assign({},this.universeFilters),((o={})[t]=c.Filter.create(a,e,r,i),o)):delete this.universeFilters[t],this},t.prototype.filterUniverseByDateRange=function(t,e,r){return void 0===r&&(r=l.FILTER_AT_LEAST_ONE),this.filterUniverseByRange(t,e,r,l.FILTER_TYPE_DATE_RANGE)},t.prototype.filterByRange=function(t,e,r,i,o,a,u,d){var f;void 0===o&&(o=l.FILTER_AT_LEAST_ONE),void 0===a&&(a=l.FILTER_TYPE_RANGE),void 0===u&&(u=!0),void 0===d&&(d=p.AGGREGATION_SORT_BY_COUNT_DESC);var h=s.Item.getPathByField(e);return 0!==i.length?this.filters=n.__assign(n.__assign({},this.filters),((f={})[t]=c.Filter.create(h,i,o,a),f)):delete this.filters[t],u&&this.aggregateByRange(t,h,r,o,a,d),this},t.prototype.filterByDateRange=function(t,e,r,n,i,o,s){return void 0===i&&(i=l.FILTER_AT_LEAST_ONE),void 0===o&&(o=!0),void 0===s&&(s=p.AGGREGATION_SORT_BY_COUNT_DESC),this.filterByRange(t,e,r,n,i,l.FILTER_TYPE_DATE_RANGE,o,s)},t.prototype.filterUniverseByLocation=function(t){var e;return this.universeFilters=n.__assign(n.__assign({},this.universeFilters),((e={}).coordinate=c.Filter.create("coordinate",t.toArray(),l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_GEO),e)),this},t.prototype.setSearchableFields=function(t){return this.searchableFields=t,this},t.prototype.getSearchableFields=function(){return this.searchableFields},t.prototype.sortBy=function(t){if(t.isSortedByGeoDistance()){if(!(this.coordinate instanceof i.Coordinate))throw d.InvalidFormatError.querySortedByDistanceWithoutCoordinate();t.setCoordinate(this.coordinate)}return this.sortByInstance=t,this},t.prototype.aggregateBy=function(t,e,r,i,o,a){var c;return void 0===i&&(i=p.AGGREGATION_SORT_BY_COUNT_DESC),void 0===o&&(o=p.AGGREGATION_NO_LIMIT),void 0===a&&(a=[]),this.aggregations=n.__assign(n.__assign({},this.aggregations),((c={})[t]=u.Aggregation.create(t,s.Item.getPathByField(e),r,l.FILTER_TYPE_FIELD,[],i,o,a),c)),this},t.prototype.aggregateByRange=function(t,e,r,i,o,a,c,d){var f;return void 0===o&&(o=l.FILTER_TYPE_RANGE),void 0===a&&(a=p.AGGREGATION_SORT_BY_COUNT_DESC),void 0===c&&(c=p.AGGREGATION_NO_LIMIT),void 0===d&&(d=[]),0===r.length||(this.aggregations=n.__assign(n.__assign({},this.aggregations),((f={})[t]=u.Aggregation.create(t,s.Item.getPathByField(e),i,o,r,a,c,d),f))),this},t.prototype.aggregateByDateRange=function(t,e,r,n,i,o,s){return void 0===i&&(i=p.AGGREGATION_SORT_BY_COUNT_DESC),void 0===o&&(o=p.AGGREGATION_NO_LIMIT),void 0===s&&(s=[]),this.aggregateByRange(t,e,r,n,l.FILTER_TYPE_DATE_RANGE,i,o,s)},t.prototype.getAggregations=function(){return this.aggregations},t.prototype.getAggregation=function(t){return this.aggregations[t]instanceof u.Aggregation?this.aggregations[t]:null},t.prototype.getQueryText=function(){var t=this.filters._query;return t instanceof c.Filter?t.getValues()[0]:""},t.prototype.getUniverseFilters=function(){return this.universeFilters},t.prototype.getUniverseFilter=function(t){return this.universeFilters[t]instanceof c.Filter?this.universeFilters[t]:null},t.prototype.getFilters=function(){return this.filters},t.prototype.getFilter=function(t){return this.filters[t]instanceof c.Filter?this.filters[t]:null},t.prototype.getFilterByField=function(t){var e=s.Item.getPathByField(t);for(var r in this.filters)if(this.filters[r].getField()==e)return this.filters[r];return null},t.prototype.getSortBy=function(){return this.sortByInstance},t.prototype.getFrom=function(){return this.from},t.prototype.getSize=function(){return this.size},t.prototype.getPage=function(){return this.page},t.prototype.enableResults=function(){return this.resultsEnabled=!0,this},t.prototype.disableResults=function(){return this.resultsEnabled=!1,this},t.prototype.areResultsEnabled=function(){return this.resultsEnabled},t.prototype.enableAggregations=function(){return this.aggregationsEnabled=!0,this},t.prototype.disableAggregations=function(){return this.aggregationsEnabled=!1,this},t.prototype.areAggregationsEnabled=function(){return this.aggregationsEnabled},t.prototype.setNumberOfSuggestions=function(t){return this.numberOfSuggestions=t,this},t.prototype.disableSuggestions=function(){return this.numberOfSuggestions=0,this},t.prototype.getNumberOfSuggestions=function(){return this.numberOfSuggestions},t.prototype.enableAutocomplete=function(){return this.autocompleteEnabled=!0,this},t.prototype.disableAutocomplete=function(){return this.autocompleteEnabled=!1,this},t.prototype.areAutocompleteEnabled=function(){return this.autocompleteEnabled},t.prototype.enableHighlights=function(){return this.highlightsEnabled=!0,this},t.prototype.disableHighlights=function(){return this.highlightsEnabled=!1,this},t.prototype.areHighlightsEnabled=function(){return this.highlightsEnabled},t.prototype.promoteUUID=function(t){return this.itemsPromoted.push(t),this},t.prototype.promoteUUIDs=function(){for(var t=[],e=0;e0&&(t.fields=this.fields),Object.keys(this.universeFilters).length)for(var r in t.universe_filters={},this.universeFilters){var n=this.universeFilters[r];t.universe_filters[r]=n.toArray()}if(this.filters instanceof Object&&Object.keys(this.filters).length){var o={};for(var r in this.filters){var s=this.filters[r];s.getFilterType()!==f.FILTER_TYPE_QUERY&&(o[r]=s.toArray())}Object.keys(o).length>0&&(t.filters=o)}if(this.aggregations instanceof Object&&Object.keys(this.aggregations).length)for(var r in t.aggregations={},this.aggregations){var u=this.aggregations[r];t.aggregations[r]=u.toArray()}var c=this.sortByInstance.toArray();Object.keys(c).length&&(t.sort=c);var l=this.page;l!==e.QUERY_DEFAULT_PAGE&&(t.page=l);var p=this.size;if(p!==e.QUERY_DEFAULT_SIZE&&(t.size=p),!1===this.resultsEnabled&&(t.results_enabled=!1),!0===this.autocompleteEnabled&&(t.autocomplete_enabled=!0),0!==this.numberOfSuggestions&&(t.number_of_suggestions=this.numberOfSuggestions),!0===this.highlightsEnabled&&(t.highlight_enabled=!0),!1===this.aggregationsEnabled&&(t.aggregations_enabled=!1),this.searchableFields instanceof Array&&this.searchableFields.length>0&&(t.searchable_fields=this.searchableFields),this.scoreStrategies instanceof h.ScoreStrategies){var d=this.scoreStrategies.toArray();Object.keys(d).length>0&&(t.score_strategies=d)}null!==this.fuzziness&&(t.fuzziness=this.fuzziness);var _=this.minScore;if(_!==e.NO_MIN_SCORE&&(t.min_score=_),this.user instanceof a.User&&(t.user=this.user.toArray()),Object.keys(this.metadata).length>0&&(t.metadata=this.metadata),this.subqueries instanceof Object&&Object.keys(this.subqueries).length)for(var r in t.subqueries={},this.subqueries){var y=this.subqueries[r];t.subqueries[r]=y.toArray()}if(this.indexUUID instanceof g.IndexUUID&&(t.index_uuid=this.indexUUID.toArray()),this.itemsPromoted.length>0)for(var r in t.items_promoted=[],this.itemsPromoted)t.items_promoted.push(this.itemsPromoted[r].toArray());return"or"!==this.queryOperator&&null!==this.queryOperator&&(t.query_operator=this.queryOperator),t},t.createFromArray=function(r){var n=r.coordinate instanceof Object?t.createLocated(i.Coordinate.createFromArray(r.coordinate),r.q?r.q:"",r.page?r.page:e.QUERY_DEFAULT_PAGE,r.size?r.size:e.QUERY_DEFAULT_SIZE):t.create(r.q?r.q:"",r.page?r.page:e.QUERY_DEFAULT_PAGE,r.size?r.size:e.QUERY_DEFAULT_SIZE);n.UUID="string"==typeof r.UUID?r.UUID:void 0,n.fields=r.fields instanceof Array?r.fields:[];var s=typeof r.aggregations==typeof{}?r.aggregations:{};for(var l in s)n.aggregations[l]=u.Aggregation.createFromArray(s[l]);var p=typeof r.sort==typeof{}?r.sort:{};Object.keys(p).length>0&&(n.sortByInstance=_.SortBy.createFromArray(p));var d=typeof r.filters==typeof{}?r.filters:{};for(var l in d)n.filters[l]=c.Filter.createFromArray(d[l]);var f=typeof r.universe_filters==typeof{}?r.universe_filters:{};for(var l in f)n.universeFilters[l]=c.Filter.createFromArray(f[l]);n.resultsEnabled="boolean"!=typeof r.results_enabled||r.results_enabled,n.numberOfSuggestions="number"==typeof r.number_of_suggestions?r.number_of_suggestions:0,n.autocompleteEnabled="boolean"==typeof r.autocomplete_enabled&&r.autocomplete_enabled,n.aggregationsEnabled="boolean"!=typeof r.aggregations_enabled||r.aggregations_enabled,n.highlightsEnabled="boolean"==typeof r.highlight_enabled&&r.highlight_enabled,n.fuzziness=r.fuzziness?r.fuzziness:null,n.minScore=r.min_score?r.min_score:e.NO_MIN_SCORE;var y=typeof r.items_promoted==typeof{}?r.items_promoted:{};for(var l in y)n.itemsPromoted.push(o.ItemUUID.createFromArray(y[l]));var E=typeof r.subqueries==typeof{}?r.subqueries:{};for(var l in E)n.subqueries[l]=t.createFromArray(E[l]);return n.metadata=typeof r.metadata==typeof{}?r.metadata:{},n.searchableFields=r.searchable_fields instanceof Array?r.searchable_fields:[],n.scoreStrategies=r.score_strategies instanceof Object?h.ScoreStrategies.createFromArray(r.score_strategies):void 0,n.user=r.user instanceof Object?a.User.createFromArray(r.user):void 0,n.indexUUID=r.index_uuid instanceof Object?g.IndexUUID.createFromArray(r.index_uuid):void 0,n.queryOperator="string"==typeof r.query_operator?r.query_operator:"or",n},t}();e.Query=y},6196:(t,e)=>{"use strict";e.__esModule=!0,e.Range=e.RANGE_SEPARATOR=e.RANGE_INFINITE=e.RANGE_MINUS_INFINITE=void 0,e.RANGE_MINUS_INFINITE=null,e.RANGE_INFINITE=null,e.RANGE_SEPARATOR="..";var r=function(){function t(){}return t.stringToArray=function(t){var r=t.split(e.RANGE_SEPARATOR),n=r[0],i=r[1],o=e.RANGE_MINUS_INFINITE,s=e.RANGE_INFINITE;return""!=n&&(o=parseInt(n)),""!=i&&(s=parseInt(i)),[o,s]},t.arrayToString=function(t){var r=["",""];return t[0]!=e.RANGE_MINUS_INFINITE&&(r[0]=String(t[0])),t[1]!=e.RANGE_INFINITE&&(r[1]=String(t[1])),r.join(e.RANGE_SEPARATOR)},t.createRanges=function(t,r,n){for(var i,o=[];t{"use strict";e.__esModule=!0,e.ScoreStrategies=e.MIN=e.MAX=e.AVG=e.SUM=e.MULTIPLY=void 0;var n=r(8207);e.MULTIPLY="multiply",e.SUM="sum",e.AVG="avg",e.MAX="max",e.MIN="min";var i=function(){function t(){this.scoreStrategies=[]}return t.createEmpty=function(r){void 0===r&&(r=e.SUM);var n=new t;return n.scoreMode=r,n},t.prototype.addScoreStrategy=function(t){return this.scoreStrategies.push(t),this},t.prototype.getScoreStrategies=function(){return this.scoreStrategies},t.prototype.getScoreMode=function(){return this.scoreMode},t.prototype.toArray=function(){var t=[];for(var e in this.scoreStrategies)t.push(this.scoreStrategies[e].toArray());return{score_mode:this.scoreMode,score_strategies:t}},t.createFromArray=function(e){var r=void 0!==(e=JSON.parse(JSON.stringify(e))).score_mode?t.createEmpty(e.score_mode):t.createEmpty();for(var i in r.scoreStrategies=[],e.score_strategies)r.scoreStrategies.push(n.ScoreStrategy.createFromArray(e.score_strategies[i]));return r},t}();e.ScoreStrategies=i},8207:(t,e,r)=>{"use strict";e.__esModule=!0,e.ScoreStrategy=e.DEFAULT_FACTOR=e.DEFAULT_MISSING=e.SCORE_MODE_MIN=e.SCORE_MODE_MAX=e.SCORE_MODE_AVG=e.SCORE_MODE_SUM=e.SCORE_MODE_NONE=e.MODIFIER_SQUARE=e.MODIFIER_LN=e.MODIFIER_LOG=e.MODIFIER_SQRT=e.MODIFIER_NONE=e.DECAY_GAUSS=e.DECAY_EXP=e.DECAY_LINEAR=e.DECAY=e.CUSTOM_FUNCTION=e.BOOSTING_FIELD_VALUE=e.DEFAULT_WEIGHT=e.DEFAULT_TYPE=void 0;var n=r(4232),i=r(5908);e.DEFAULT_TYPE="default",e.DEFAULT_WEIGHT=1,e.BOOSTING_FIELD_VALUE="field_value",e.CUSTOM_FUNCTION="custom_function",e.DECAY="decay",e.DECAY_LINEAR="linear",e.DECAY_EXP="exp",e.DECAY_GAUSS="gauss",e.MODIFIER_NONE="none",e.MODIFIER_SQRT="sqrt",e.MODIFIER_LOG="log",e.MODIFIER_LN="ln",e.MODIFIER_SQUARE="square",e.SCORE_MODE_NONE="none",e.SCORE_MODE_SUM="sum",e.SCORE_MODE_AVG="avg",e.SCORE_MODE_MAX="max",e.SCORE_MODE_MIN="min",e.DEFAULT_MISSING=1,e.DEFAULT_FACTOR=1;var o=function(){function t(){this.type=e.DEFAULT_TYPE,this.filter=null,this.weight=e.DEFAULT_WEIGHT,this.scoreMode=e.SCORE_MODE_AVG,this.configuration={}}return t.prototype.getType=function(){return this.type},t.prototype.getConfigurationValue=function(t){return void 0===this.configuration[t]?null:this.configuration[t]},t.prototype.getWeight=function(){return this.weight},t.prototype.getScoreMode=function(){return this.scoreMode},t.prototype.getFilter=function(){return this.filter},t.createDefault=function(){return new t},t.createFieldBoosting=function(r,n,i,o,s,a,u){void 0===n&&(n=e.DEFAULT_FACTOR),void 0===i&&(i=e.DEFAULT_MISSING),void 0===o&&(o=e.MODIFIER_NONE),void 0===s&&(s=e.DEFAULT_WEIGHT),void 0===a&&(a=null),void 0===u&&(u=e.SCORE_MODE_AVG);var c=t.createDefault();return c.type=e.BOOSTING_FIELD_VALUE,c.configuration.field=r,c.configuration.factor=n,c.configuration.missing=i,c.configuration.modifier=o,c.weight=s,c.filter=t.fixFilterFieldPath(a),c.scoreMode=u,c},t.createCustomFunction=function(r,n,i,o){void 0===n&&(n=e.DEFAULT_WEIGHT),void 0===i&&(i=null),void 0===o&&(o=e.SCORE_MODE_AVG);var s=t.createDefault();return s.type=e.CUSTOM_FUNCTION,s.configuration.function=r,s.weight=n,s.filter=t.fixFilterFieldPath(i),s.scoreMode=o,s},t.createDecayFunction=function(r,n,i,o,s,a,u,c,l){void 0===u&&(u=e.DEFAULT_WEIGHT),void 0===c&&(c=null),void 0===l&&(l=e.SCORE_MODE_AVG);var p=t.createDefault();return p.type=e.DECAY,p.configuration.type=r,p.configuration.field=n,p.configuration.origin=i,p.configuration.scale=o,p.configuration.offset=s,p.configuration.decay=a,p.weight=u,p.filter=t.fixFilterFieldPath(c),p.scoreMode=l,p},t.fixFilterFieldPath=function(t){if(null==t)return t;var e=t.toArray();return e.field=n.Item.getPathByField(e.field),i.Filter.createFromArray(e)},t.prototype.toArray=function(){return{type:this.type,configuration:this.configuration,weight:this.weight,score_mode:this.scoreMode,filter:this.filter instanceof i.Filter?this.filter.toArray():null}},t.createFromArray=function(e){e=JSON.parse(JSON.stringify(e));var r=t.createDefault();return void 0!==e.type&&(r.type=e.type),void 0!==e.configuration&&(r.configuration=e.configuration),void 0!==e.weight&&(r.weight=e.weight),void 0!==e.score_mode&&(r.scoreMode=e.score_mode),"object"==typeof e.filter&&null!==e.filter&&(r.filter=i.Filter.createFromArray(e.filter)),r},t}();e.ScoreStrategy=o},41:(t,e,r)=>{"use strict";e.__esModule=!0,e.SortBy=e.SORT_BY_LOCATION_MI_ASC=e.SORT_BY_LOCATION_KM_ASC=e.SORT_BY_TYPE_DESC=e.SORT_BY_TYPE_ASC=e.SORT_BY_ID_DESC=e.SORT_BY_ID_ASC=e.SORT_BY_AL_TUN_TUN=e.SORT_BY_RANDOM=e.SORT_BY_SCORE=e.SORT_BY_MODE_MEDIAN=e.SORT_BY_MODE_MAX=e.SORT_BY_MODE_MIN=e.SORT_BY_MODE_SUM=e.SORT_BY_MODE_AVG=e.SORT_BY_DESC=e.SORT_BY_ASC=e.SORT_BY_TYPE_RANDOM=e.SORT_BY_TYPE_FUNCTION=e.SORT_BY_TYPE_DISTANCE=e.SORT_BY_TYPE_SCORE=e.SORT_BY_TYPE_NESTED=e.SORT_BY_TYPE_FIELD=void 0;var n=r(3607),i=r(5908);e.SORT_BY_TYPE_FIELD="field",e.SORT_BY_TYPE_NESTED="nested",e.SORT_BY_TYPE_SCORE="score",e.SORT_BY_TYPE_DISTANCE="distance",e.SORT_BY_TYPE_FUNCTION="function",e.SORT_BY_TYPE_RANDOM="random",e.SORT_BY_ASC="asc",e.SORT_BY_DESC="desc",e.SORT_BY_MODE_AVG="avg",e.SORT_BY_MODE_SUM="sum",e.SORT_BY_MODE_MIN="min",e.SORT_BY_MODE_MAX="max",e.SORT_BY_MODE_MEDIAN="median",e.SORT_BY_SCORE={type:e.SORT_BY_TYPE_SCORE},e.SORT_BY_RANDOM={type:e.SORT_BY_TYPE_RANDOM},e.SORT_BY_AL_TUN_TUN=e.SORT_BY_RANDOM,e.SORT_BY_ID_ASC={field:"uuid.id",order:e.SORT_BY_ASC},e.SORT_BY_ID_DESC={field:"uuid.id",order:e.SORT_BY_DESC},e.SORT_BY_TYPE_ASC={field:"uuid.type",order:e.SORT_BY_ASC},e.SORT_BY_TYPE_DESC={field:"uuid.type",order:e.SORT_BY_DESC},e.SORT_BY_LOCATION_KM_ASC={type:e.SORT_BY_TYPE_DISTANCE,unit:"km"},e.SORT_BY_LOCATION_MI_ASC={type:e.SORT_BY_TYPE_DISTANCE,unit:"mi"};var o=function(){function t(){this.sortsBy=[]}return t.create=function(){return new t},t.byFieldsValues=function(e){var r=t.create();for(var n in e)r.byFieldValue(n,e[n]);return r},t.prototype.all=function(){return this.sortsBy.length>0?this.sortsBy:[e.SORT_BY_SCORE]},t.prototype.byValue=function(t){return e.SORT_BY_SCORE!=t&&e.SORT_BY_RANDOM!=t&&void 0===t.type&&(t.type=e.SORT_BY_TYPE_FIELD),e.SORT_BY_SCORE!=t&&this.sortsBy.push(t),this},t.prototype.byFieldValue=function(t,r){return this.sortsBy.push({type:e.SORT_BY_TYPE_FIELD,field:n.Item.getPathByField(t),order:r}),this},t.prototype.byNestedField=function(t,r,n){return void 0===n&&(n=e.SORT_BY_MODE_AVG),this.sortsBy.push({type:e.SORT_BY_TYPE_NESTED,mode:n,field:"indexed_metadata."+t,order:r}),this},t.prototype.byNestedFieldAndFilter=function(t,r,o,s){void 0===s&&(s=e.SORT_BY_MODE_AVG);var a=n.Item.getPathByField(o.getField()),u=o.toArray();return u.field=a,o=i.Filter.createFromArray(u),this.sortsBy.push({type:e.SORT_BY_TYPE_NESTED,mode:s,filter:o,field:"indexed_metadata."+t,order:r}),this},t.prototype.byFunction=function(t,r){return this.sortsBy.push({type:e.SORT_BY_TYPE_FUNCTION,function:t,order:r}),this},t.prototype.isSortedByGeoDistance=function(){for(var t in this.sortsBy)if(this.sortsBy[t].type===e.SORT_BY_TYPE_DISTANCE)return!0;return!1},t.prototype.setCoordinate=function(t){for(var r in this.sortsBy)this.sortsBy[r].type===e.SORT_BY_TYPE_DISTANCE&&(this.sortsBy[r].coordinate=t);return this},t.prototype.hasRandomSort=function(){for(var t in this.sortsBy)if(this.sortsBy[t].type===e.SORT_BY_TYPE_RANDOM)return!0;return!1},t.prototype.getFirstSortAsString=function(){if(void 0===this.sortsBy[0])return"score";var t=this.sortsBy[0];if(t.type===e.SORT_BY_TYPE_RANDOM)return"random";if(t.type===e.SORT_BY_TYPE_DISTANCE)return t.type+":"+t.unit;if(t.type===e.SORT_BY_TYPE_SCORE)return"score";var r=t.field,n=t.order;return r.split(".")[1]+":"+n},t.prototype.toArray=function(){var t=this.copy().sortsBy;for(var e in t)typeof t[e].filter==typeof{}&&null!=t[e].filter&&(t[e].filter=t[e].filter.toArray()),null!==t[e].coordinate&&t[e].coordinate instanceof n.Coordinate&&(t[e].coordinate=t[e].coordinate.toArray());return t},t.createFromArray=function(r){var o=JSON.parse(JSON.stringify(r)),s=t.create();for(var a in o){var u=o[a];void 0===u.type&&(u.type=e.SORT_BY_TYPE_FIELD),typeof u.filter==typeof{}&&null!=u.filter&&(u.filter=i.Filter.createFromArray(u.filter)),null!=u.coordinate&&typeof u.coordinate==typeof{}&&(u.coordinate=n.Coordinate.createFromArray(u.coordinate)),s.sortsBy.push(u)}return s},t.prototype.copy=function(){var e=t.create();for(var r in this.sortsBy){var o=this.sortsBy[r];if("function"!=typeof o){var s=JSON.parse(JSON.stringify(o));typeof o.filter==typeof{}&&null!=o.filter&&(s.filter=i.Filter.createFromArray(o.filter.toArray())),null!=o.coordinate&&typeof o.coordinate==typeof{}&&(s.coordinate=n.Coordinate.createFromArray(o.coordinate.toArray())),e.sortsBy.push(s)}}return e},t}();e.SortBy=o},4637:(t,e,r)=>{"use strict";e.__esModule=!0,e.HttpRepository=void 0;var n=r(655),i=r(6017),o=r(9081),s=r(9134),a=r(8257),u=r(273),c=r(4587),l=r(9313),p=r(4855),d=r(4232),f=r(3683),h=r(734),_=function(t){function e(e,r,n,i,o){var s=t.call(this,r,n,i)||this;return s.httpClient=e,s.transformer=o,s}return n.__extends(e,t),e.prototype.getTransformer=function(){return this.transformer},e.prototype.addObject=function(t){var e=this.transformer.toItem(t);e instanceof d.Item&&this.addItem(e)},e.prototype.deleteObject=function(t){var e=this.transformer.toItemUUID(t);e instanceof f.ItemUUID&&this.deleteItem(e)},e.prototype.flushUpdateItems=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:if(0===t.length)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId+"/items","put",this.getCredentials(),{},t.map((function(t){return t.toArray()})))];case 2:return n.sent(),[3,4];case 3:throw r=n.sent(),e.createErrorFromResponse(r);case 4:return[2]}}))}))},e.prototype.flushDeleteItems=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:if(0===t.length)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId+"/items","delete",this.getCredentials(),{},t.map((function(t){return t.toArray()})))];case 2:return n.sent(),[3,4];case 3:throw r=n.sent(),e.createErrorFromResponse(r);case 4:return[2]}}))}))},e.prototype.query=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r,i,o,s,a;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId,"get",this.getCredentials(),{query:JSON.stringify(t.optimize().toArray()).replace(/&/g,"%26")},{})];case 1:return r=n.sent(),[3,3];case 2:throw i=n.sent(),e.createErrorFromResponse(i);case 3:return o=h.Result.createFromArray(r.getBody()),o=this.applyTransformersToResult(o),"undefined"==typeof globalThis||"function"!=typeof globalThis.apisearchItemsTransformation?[3,5]:(a=(s=o).withItems,[4,globalThis.apisearchItemsTransformation(o.getItems())]);case 4:a.apply(s,[n.sent()]),n.label=5;case 5:return[2,o]}}))}))},e.prototype.getSimilarItems=function(t,r,i){return n.__awaiter(this,void 0,void 0,(function(){var o,s,a;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId+"/similar-items","get",this.getCredentials(),{},{query:t.toArray(),items_uuid:r.map((function(t){return t.toArray()})),similarity:i})];case 1:return o=n.sent(),[3,3];case 2:throw s=n.sent(),e.createErrorFromResponse(s);case 3:return a=h.Result.createFromArray(o.getBody()),[2,this.applyTransformersToResult(a)]}}))}))},e.prototype.getRecommendedItems=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r,i,o;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId+"/recommended-items","get",this.getCredentials(),{},t.toArray())];case 1:return r=n.sent(),[3,3];case 2:throw i=n.sent(),e.createErrorFromResponse(i);case 3:return o=h.Result.createFromArray(r.getBody()),[2,this.applyTransformersToResult(o)]}}))}))},e.prototype.updateItems=function(t,r){return n.__awaiter(this,void 0,void 0,(function(){var i;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId+"/items/update-by-query","put",this.getCredentials(),{},{changes:r.toArray(),query:t.toArray()})];case 1:return n.sent(),[3,3];case 2:throw i=n.sent(),e.createErrorFromResponse(i);case 3:return[2]}}))}))},e.prototype.createIndex=function(t,r){return n.__awaiter(this,void 0,void 0,(function(){var i;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+t.composedUUID(),"put",this.getCredentials(),{},r.toArray())];case 1:return n.sent(),[3,3];case 2:throw i=n.sent(),e.createErrorFromResponse(i);case 3:return[2]}}))}))},e.prototype.deleteIndex=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+t.composedUUID(),"delete",this.getCredentials(),{},{})];case 1:return n.sent(),[3,3];case 2:throw r=n.sent(),e.createErrorFromResponse(r);case 3:return[2]}}))}))},e.prototype.resetIndex=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+t.composedUUID()+"/reset","put",this.getCredentials(),{},{})];case 1:return n.sent(),[3,3];case 2:throw r=n.sent(),e.createErrorFromResponse(r);case 3:return[2]}}))}))},e.prototype.checkIndex=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r,i;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+t.composedUUID(),"head",this.getCredentials(),{},{})];case 1:return r=n.sent(),[3,3];case 2:throw i=n.sent(),e.createErrorFromResponse(i);case 3:return[2,200===r.getCode()]}}))}))},e.prototype.getIndices=function(){return n.__awaiter(this,void 0,void 0,(function(){var t,r,i,o,s,a;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/","get",this.getCredentials(),{},{})];case 1:return t=n.sent(),[3,3];case 2:throw r=n.sent(),e.createErrorFromResponse(r);case 3:for(i=[],o=0,s=t.getBody();o0?(Object.keys(e).map(function(t){e[t]=this.applyTransformersToResult(e[t])}.bind(this)),h.Result.createMultiresults(e)):h.Result.create(t.getQueryUUID(),t.getTotalItems(),t.getTotalHits(),t.getAggregations(),t.getSuggestions(),this.transformer.fromItems(t.getItems()),t.getAutocomplete())},e.createErrorFromResponse=function(t){var e;if(t instanceof l.Response)switch(t.getCode()){case u.ResourceNotAvailableError.getTransportableHTTPError():e=new u.ResourceNotAvailableError(t.getBody().message);break;case s.InvalidTokenError.getTransportableHTTPError():e=new s.InvalidTokenError(t.getBody().message);break;case o.InvalidFormatError.getTransportableHTTPError():e=new o.InvalidFormatError(t.getBody().message);break;case a.ResourceExistsError.getTransportableHTTPError():e=new a.ResourceExistsError(t.getBody().message);break;case i.ConnectionError.getTransportableHTTPError():e=new i.ConnectionError(t.getBody().message)}return void 0===e?c.UnknownError.createUnknownError():e},e}(r(6339).Repository);e.HttpRepository=_},6339:(t,e,r)=>{"use strict";e.__esModule=!0,e.Repository=void 0;var n=r(655),i=function(){function t(t,e,r){this.itemsToUpdate=[],this.itemsToDelete=[],this.appId=t,this.indexId=e,this.token=r}return t.prototype.resetCachedElements=function(){this.itemsToUpdate=[],this.itemsToDelete=[]},t.prototype.addItem=function(t){this.itemsToUpdate.push(t)},t.prototype.addItems=function(t){for(var e in t)this.addItem(t[e])},t.prototype.deleteItem=function(t){this.itemsToDelete.push(t)},t.prototype.deleteItems=function(t){for(var e in t)this.deleteItem(t[e])},t.prototype.flush=function(e,r){return n.__awaiter(this,void 0,void 0,(function(){var i,o,s=this;return n.__generator(this,(function(n){return e||(e=500),r||(r=!1),r&&this.itemsToUpdate.length{"use strict";e.__esModule=!0,e.Counter=void 0;var n=r(7031),i=function(){function t(t,e,r){this.values=t,this.used=e,this.n=r}return t.prototype.getId=function(){return"string"==typeof this.values.id?this.values.id:null},t.prototype.getName=function(){return"string"==typeof this.values.name?this.values.name:null},t.prototype.getSlug=function(){return"string"==typeof this.values.slug?this.values.slug:null},t.prototype.getLevel=function(){return"number"==typeof this.values.level?this.values.level:0},t.prototype.getValues=function(){return this.values},t.prototype.isUsed=function(){return this.used},t.prototype.getN=function(){return this.n},t.createByActiveElements=function(e,r,i){var o=n.Metadata.fromMetadata(e);if(null==o)return null;for(var s=i.length,a=!1;s--;)i[s]==o.id&&(a=!0);return new t(o,a,r)},t.prototype.toArray=function(){var t={values:this.values,n:this.n};return!0===this.used&&(t.used=!0),t},t.createFromArray=function(e){return new t((e=JSON.parse(JSON.stringify(e))).values,"boolean"==typeof e.used&&e.used,e.n)},t}();e.Counter=i},734:(t,e,r)=>{"use strict";e.__esModule=!0,e.Result=void 0;var n=r(4232),i=r(9915),o=function(){function t(t,e,r){this.items=[],this.autocomplete=null,this.suggestions=[],this.subresults={},this.metadata={},this.queryUUID=t,this.totalItems=e,this.totalHits=r}return t.create=function(e,r,n,i,o,s,a,u){void 0===a&&(a=null),void 0===u&&(u={});var c=new t(e,r,n);return c.aggregations=i,c.suggestions=o,c.items=s,c.autocomplete=a,c.metadata=u,c},t.createMultiresults=function(e){var r=new t("",0,0);return r.subresults=e,r},t.prototype.addItem=function(t){this.items.push(t)},t.prototype.getItems=function(){return this.items},t.prototype.withItems=function(t){this.items=t},t.prototype.getItemsGroupedByTypes=function(){if(this.itemsGroupedByTypeCache instanceof Object&&Object.keys(this.itemsGroupedByTypeCache).length>0)return this.itemsGroupedByTypeCache;var t={};for(var e in this.items){var r=this.items[e];t[r.getType()]instanceof Array||(t[r.getType()]=[]),t[r.getType()].push(r)}return this.itemsGroupedByTypeCache=t,t},t.prototype.getItemsByType=function(t){var e=this.getItemsGroupedByTypes();return null==e[t]?[]:e[t]},t.prototype.getItemsByTypes=function(t){return this.items.filter((function(e){return t.indexOf(e.getType())>=0}))},t.prototype.getFirstItem=function(){return this.items.length>0?this.items[0]:null},t.prototype.setAggregations=function(t){this.aggregations=t},t.prototype.getAggregations=function(){return this.aggregations instanceof i.ResultAggregations?this.aggregations:null},t.prototype.getAggregation=function(t){return null==this.aggregations?null:this.aggregations.getAggregation(t)},t.prototype.hasNotEmptyAggregation=function(t){return null!=this.aggregations&&this.aggregations.hasNotEmptyAggregation(t)},t.prototype.getSuggestions=function(){return this.suggestions},t.prototype.getAutocomplete=function(){return this.autocomplete},t.prototype.getQueryUUID=function(){return this.queryUUID},t.prototype.getTotalItems=function(){return this.totalItems},t.prototype.getTotalHits=function(){return this.totalHits},t.prototype.getSubresults=function(){return this.subresults},t.prototype.getMetadata=function(){return this.metadata},t.prototype.getMetadataValue=function(t){var e;return null!==(e=this.metadata[t])&&void 0!==e?e:null},t.prototype.toArray=function(){var t={query_uuid:this.queryUUID,total_items:this.totalItems,total_hits:this.totalHits,items:this.items.map((function(t){return t.toArray()})),aggregations:null==this.aggregations?null:this.aggregations.toArray(),suggests:this.suggestions,autocomplete:null===this.autocomplete?void 0:this.autocomplete,metadata:this.metadata};if(this.subresults instanceof Object&&Object.keys(this.subresults).length)for(var e in t.subresults={},this.subresults){var r=this.subresults[e];t.subresults[e]=r.toArray()}return t},t.createFromArray=function(e){var r=t.create(e.query_uuid?e.query_uuid:"",e.total_items?e.total_items:0,e.total_hits?e.total_hits:0,e.aggregations instanceof Object?i.ResultAggregations.createFromArray(e.aggregations):null,e.suggests?e.suggests:[],e.items instanceof Array?e.items.map((function(t){return n.Item.createFromArray(t)})):[],void 0===e.autocomplete?null:e.autocomplete,void 0===e.metadata?{}:e.metadata),o=typeof e.subresults==typeof{}?e.subresults:{};for(var s in o)r.subresults[s]=t.createFromArray(o[s]);return r},t}();e.Result=o},4738:(t,e,r)=>{"use strict";e.__esModule=!0,e.ResultAggregation=void 0;var n=r(655),i=r(5908),o=r(1777),s=function(){function t(t,e,r,n,i){for(var o in void 0===i&&(i={}),this.counters={},this.highestActiveElement=0,this.name=t,this.applicationType=e,this.totalElements=r,this.activeElements={},this.metadata=i,n){var s=n[o];this.activeElements[s]=s}}return t.prototype.addCounter=function(t,e){if(0!=e){var r=o.Counter.createByActiveElements(t,e,Object.keys(this.activeElements));if(r instanceof o.Counter)return this.applicationType&i.FILTER_MUST_ALL_WITH_LEVELS&&this.applicationType&~i.FILTER_MUST_ALL&&r.isUsed()?(this.activeElements[r.getId()]=r,void(this.highestActiveElement=Math.max(r.getLevel(),this.highestActiveElement))):void(this.counters[r.getId()]=r)}},t.prototype.getName=function(){return this.name},t.prototype.getCounters=function(){return this.counters},t.prototype.getMetadata=function(){return this.metadata},t.prototype.isFilter=function(){return(this.applicationType&i.FILTER_MUST_ALL)>0},t.prototype.hasLevels=function(){return(this.applicationType&i.FILTER_MUST_ALL_WITH_LEVELS)>0},t.prototype.getCounter=function(t){return this.counters[t]instanceof o.Counter?this.counters[t]:null},t.prototype.getAllElements=function(){return n.__assign(n.__assign({},this.activeElements),this.counters)},t.prototype.getTotalElements=function(){return this.totalElements},t.prototype.getActiveElements=function(){if(0===Object.keys(this.activeElements).length)return{};if(this.applicationType===i.FILTER_MUST_ALL_WITH_LEVELS){var t=null;for(var e in this.activeElements){var r=this.activeElements[e];r instanceof o.Counter&&(null==t&&(t=r),t=t.getLevel()>r.getLevel()?t:r)}return t instanceof o.Counter?{0:t}:null}return this.activeElements},t.prototype.cleanCountersByLevel=function(){for(var t in this.counters)this.counters[t].getLevel()!==this.highestActiveElement+1&&delete this.counters[t]},t.prototype.isEmpty=function(){return 0==Object.keys(this.activeElements).length&&0==Object.keys(this.counters).length},t.prototype.toArray=function(){var t={name:this.name,counters:[],active_elements:[],metadata:this.metadata};for(var e in this.counters)t.counters.push(this.counters[e].toArray());for(var e in this.applicationType!==i.FILTER_AT_LEAST_ONE&&(t.application_type=this.applicationType),this.totalElements>0&&(t.total_elements=this.totalElements),this.activeElements){var r=this.activeElements[e];t.active_elements.push(r instanceof o.Counter?r.toArray():r)}return this.highestActiveElement>0&&(t.highest_active_level=this.highestActiveElement),0===t.counters.length&&delete t.counters,0===t.active_elements.length&&delete t.active_elements,0===Object.keys(t.metadata).length&&delete t.metadata,t},t.createFromArray=function(e){var r=[],n=e.active_elements;for(var s in n=typeof n==typeof[]?n:[]){var a=n[s];r.push(typeof a==typeof{}?o.Counter.createFromArray(a):a)}var u=new t(e.name,parseInt(e.application_type?e.application_type:i.FILTER_AT_LEAST_ONE),parseInt(e.total_elements?e.total_elements:0),[]);u.activeElements=r;var c=typeof e.counters==typeof[]?e.counters:[];for(var s in c){var l=c[s];if("function"!=typeof l){var p=o.Counter.createFromArray(l);u.counters["_"+p.getId()]=p}}return u.highestActiveElement="number"==typeof e.highest_active_level?e.highest_active_level:0,u.metadata=typeof e.metadata==typeof{}?e.metadata:{},u},t}();e.ResultAggregation=s},9915:(t,e,r)=>{"use strict";e.__esModule=!0,e.ResultAggregations=void 0;var n=r(4738),i=function(){function t(t){this.aggregations={},this.totalElements=t}return t.prototype.addAggregation=function(t,e){this.aggregations[t]=e},t.prototype.getAggregations=function(){return this.aggregations},t.prototype.getAggregation=function(t){return this.aggregations[t]instanceof n.ResultAggregation?this.aggregations[t]:null},t.prototype.hasNotEmptyAggregation=function(t){var e=this.getAggregation(t);return e instanceof n.ResultAggregation&&!e.isEmpty()},t.prototype.getTotalElements=function(){return this.totalElements},t.prototype.toArray=function(){var t={};for(var e in this.aggregations)t[e]=this.aggregations[e].toArray();var r={};return this.totalElements>0&&(r.total_elements=this.totalElements),Object.keys(t).length>0&&(r.aggregations=t),r},t.createFromArray=function(e){var r=new t("number"==typeof e.total_elements?e.total_elements:0);if(typeof e.aggregations==typeof{})for(var i in e.aggregations)r.addAggregation(i,n.ResultAggregation.createFromArray(e.aggregations[i]));return r},t}();e.ResultAggregations=i},2166:(t,e)=>{"use strict";e.__esModule=!0},4283:(t,e,r)=>{"use strict";e.__esModule=!0,e.Transformer=void 0;var n=r(4232),i=r(3683),o=function(){function t(){this.readTransformers=[],this.writeTransformers=[]}return t.prototype.addReadTransformer=function(t){this.readTransformers.push(t)},t.prototype.hasReadTransformers=function(){return this.readTransformers.length>0},t.prototype.addWriteTransformer=function(t){this.writeTransformers.push(t)},t.prototype.fromItems=function(t){var e=[];for(var r in t)e.push(this.fromItem(t[r]));return e},t.prototype.fromItem=function(t){for(var e in this.readTransformers){var r=this.readTransformers[e];if(r.isValidItem(t))return r.fromItem(t)}return t},t.prototype.toItems=function(t){var e=[];for(var r in t){var i=this.toItem(t[r]);i instanceof n.Item&&e.push(i)}return e},t.prototype.toItem=function(t){for(var e in this.writeTransformers){var r=this.writeTransformers[e];if(r.isValidObject(t))return r.toItem(t)}return t},t.prototype.toItemUUIDs=function(t){var e=[];for(var r in t){var n=this.toItemUUID(t[r]);n instanceof i.ItemUUID&&e.push(n)}return e},t.prototype.toItemUUID=function(t){for(var e in this.writeTransformers){var r=this.writeTransformers[e];if(r.isValidObject(t))return r.toItemUUID(t)}return t},t}();e.Transformer=o},700:(t,e)=>{"use strict";e.__esModule=!0},3607:(t,e,r)=>{"use strict";e.__esModule=!0;var n=r(655),i=r(697);e.default=i.default,n.__exportStar(r(4289),e),n.__exportStar(r(9653),e),n.__exportStar(r(6017),e),n.__exportStar(r(3138),e),n.__exportStar(r(7380),e),n.__exportStar(r(175),e),n.__exportStar(r(9081),e),n.__exportStar(r(9134),e),n.__exportStar(r(8257),e),n.__exportStar(r(273),e),n.__exportStar(r(52),e),n.__exportStar(r(9878),e),n.__exportStar(r(2430),e),n.__exportStar(r(6563),e),n.__exportStar(r(4885),e),n.__exportStar(r(9313),e),n.__exportStar(r(5006),e),n.__exportStar(r(4026),e),n.__exportStar(r(5343),e),n.__exportStar(r(4232),e),n.__exportStar(r(3683),e),n.__exportStar(r(7031),e),n.__exportStar(r(559),e),n.__exportStar(r(1341),e),n.__exportStar(r(5908),e),n.__exportStar(r(4481),e),n.__exportStar(r(6196),e),n.__exportStar(r(318),e),n.__exportStar(r(8207),e),n.__exportStar(r(41),e),n.__exportStar(r(4637),e),n.__exportStar(r(6339),e),n.__exportStar(r(4738),e),n.__exportStar(r(9915),e),n.__exportStar(r(1777),e),n.__exportStar(r(734),e),n.__exportStar(r(2166),e),n.__exportStar(r(4283),e),n.__exportStar(r(700),e)},4758:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(){this._dataLength=0,this._bufferLength=0,this._state=new Int32Array(4),this._buffer=new ArrayBuffer(68),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}return t.hashStr=function(t,e){return void 0===e&&(e=!1),this.onePassHasher.start().appendStr(t).end(e)},t.hashAsciiStr=function(t,e){return void 0===e&&(e=!1),this.onePassHasher.start().appendAsciiStr(t).end(e)},t._hex=function(e){var r,n,i,o,s=t.hexChars,a=t.hexOut;for(o=0;o<4;o+=1)for(n=8*o,r=e[o],i=0;i<8;i+=2)a[n+1+i]=s.charAt(15&r),r>>>=4,a[n+0+i]=s.charAt(15&r),r>>>=4;return a.join("")},t._md5cycle=function(t,e){var r=t[0],n=t[1],i=t[2],o=t[3];n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+e[0]-680876936|0)<<7|r>>>25)+n|0)&n|~r&i)+e[1]-389564586|0)<<12|o>>>20)+r|0)&r|~o&n)+e[2]+606105819|0)<<17|i>>>15)+o|0)&o|~i&r)+e[3]-1044525330|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+e[4]-176418897|0)<<7|r>>>25)+n|0)&n|~r&i)+e[5]+1200080426|0)<<12|o>>>20)+r|0)&r|~o&n)+e[6]-1473231341|0)<<17|i>>>15)+o|0)&o|~i&r)+e[7]-45705983|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+e[8]+1770035416|0)<<7|r>>>25)+n|0)&n|~r&i)+e[9]-1958414417|0)<<12|o>>>20)+r|0)&r|~o&n)+e[10]-42063|0)<<17|i>>>15)+o|0)&o|~i&r)+e[11]-1990404162|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+e[12]+1804603682|0)<<7|r>>>25)+n|0)&n|~r&i)+e[13]-40341101|0)<<12|o>>>20)+r|0)&r|~o&n)+e[14]-1502002290|0)<<17|i>>>15)+o|0)&o|~i&r)+e[15]+1236535329|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+e[1]-165796510|0)<<5|r>>>27)+n|0)&i|n&~i)+e[6]-1069501632|0)<<9|o>>>23)+r|0)&n|r&~n)+e[11]+643717713|0)<<14|i>>>18)+o|0)&r|o&~r)+e[0]-373897302|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+e[5]-701558691|0)<<5|r>>>27)+n|0)&i|n&~i)+e[10]+38016083|0)<<9|o>>>23)+r|0)&n|r&~n)+e[15]-660478335|0)<<14|i>>>18)+o|0)&r|o&~r)+e[4]-405537848|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+e[9]+568446438|0)<<5|r>>>27)+n|0)&i|n&~i)+e[14]-1019803690|0)<<9|o>>>23)+r|0)&n|r&~n)+e[3]-187363961|0)<<14|i>>>18)+o|0)&r|o&~r)+e[8]+1163531501|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+e[13]-1444681467|0)<<5|r>>>27)+n|0)&i|n&~i)+e[2]-51403784|0)<<9|o>>>23)+r|0)&n|r&~n)+e[7]+1735328473|0)<<14|i>>>18)+o|0)&r|o&~r)+e[12]-1926607734|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+e[5]-378558|0)<<4|r>>>28)+n|0)^n^i)+e[8]-2022574463|0)<<11|o>>>21)+r|0)^r^n)+e[11]+1839030562|0)<<16|i>>>16)+o|0)^o^r)+e[14]-35309556|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+e[1]-1530992060|0)<<4|r>>>28)+n|0)^n^i)+e[4]+1272893353|0)<<11|o>>>21)+r|0)^r^n)+e[7]-155497632|0)<<16|i>>>16)+o|0)^o^r)+e[10]-1094730640|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+e[13]+681279174|0)<<4|r>>>28)+n|0)^n^i)+e[0]-358537222|0)<<11|o>>>21)+r|0)^r^n)+e[3]-722521979|0)<<16|i>>>16)+o|0)^o^r)+e[6]+76029189|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+e[9]-640364487|0)<<4|r>>>28)+n|0)^n^i)+e[12]-421815835|0)<<11|o>>>21)+r|0)^r^n)+e[15]+530742520|0)<<16|i>>>16)+o|0)^o^r)+e[2]-995338651|0)<<23|n>>>9)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+e[0]-198630844|0)<<6|r>>>26)+n|0)|~i))+e[7]+1126891415|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+e[14]-1416354905|0)<<15|i>>>17)+o|0)|~r))+e[5]-57434055|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+e[12]+1700485571|0)<<6|r>>>26)+n|0)|~i))+e[3]-1894986606|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+e[10]-1051523|0)<<15|i>>>17)+o|0)|~r))+e[1]-2054922799|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+e[8]+1873313359|0)<<6|r>>>26)+n|0)|~i))+e[15]-30611744|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+e[6]-1560198380|0)<<15|i>>>17)+o|0)|~r))+e[13]+1309151649|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+e[4]-145523070|0)<<6|r>>>26)+n|0)|~i))+e[11]-1120210379|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+e[2]+718787259|0)<<15|i>>>17)+o|0)|~r))+e[9]-343485551|0)<<21|n>>>11)+i|0,t[0]=r+t[0]|0,t[1]=n+t[1]|0,t[2]=i+t[2]|0,t[3]=o+t[3]|0},t.prototype.start=function(){return this._dataLength=0,this._bufferLength=0,this._state.set(t.stateIdentity),this},t.prototype.appendStr=function(e){var r,n,i=this._buffer8,o=this._buffer32,s=this._bufferLength;for(n=0;n>>6),i[s++]=63&r|128;else if(r<55296||r>56319)i[s++]=224+(r>>>12),i[s++]=r>>>6&63|128,i[s++]=63&r|128;else{if((r=1024*(r-55296)+(e.charCodeAt(++n)-56320)+65536)>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");i[s++]=240+(r>>>18),i[s++]=r>>>12&63|128,i[s++]=r>>>6&63|128,i[s++]=63&r|128}s>=64&&(this._dataLength+=64,t._md5cycle(this._state,o),s-=64,o[0]=o[16])}return this._bufferLength=s,this},t.prototype.appendAsciiStr=function(e){for(var r,n=this._buffer8,i=this._buffer32,o=this._bufferLength,s=0;;){for(r=Math.min(e.length-s,64-o);r--;)n[o++]=e.charCodeAt(s++);if(o<64)break;this._dataLength+=64,t._md5cycle(this._state,i),o=0}return this._bufferLength=o,this},t.prototype.appendByteArray=function(e){for(var r,n=this._buffer8,i=this._buffer32,o=this._bufferLength,s=0;;){for(r=Math.min(e.length-s,64-o);r--;)n[o++]=e[s++];if(o<64)break;this._dataLength+=64,t._md5cycle(this._state,i),o=0}return this._bufferLength=o,this},t.prototype.getState=function(){var t=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[t[0],t[1],t[2],t[3]]}},t.prototype.setState=function(t){var e,r=t.buffer,n=t.state,i=this._state;for(this._dataLength=t.length,this._bufferLength=t.buflen,i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=n[3],e=0;e>2);this._dataLength+=r;var s=8*this._dataLength;if(n[r]=128,n[r+1]=n[r+2]=n[r+3]=0,i.set(t.buffer32Identity.subarray(o),o),r>55&&(t._md5cycle(this._state,i),i.set(t.buffer32Identity)),s<=4294967295)i[14]=s;else{var a=s.toString(16).match(/(.*?)(.{0,8})$/);if(null===a)return;var u=parseInt(a[2],16),c=parseInt(a[1],16)||0;i[14]=u,i[15]=c}return t._md5cycle(this._state,i),e?this._state:t._hex(this._state)},t.stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]),t.buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),t.hexChars="0123456789abcdef",t.hexOut=[],t.onePassHasher=new t,t}();if(e.Md5=r,"5d41402abc4b2a76b9719d911017c592"!==r.hashStr("hello"))throw new Error("Md5 self test failed.")},655:(t,e,r)=>{"use strict";r.r(e),r.d(e,{__assign:()=>o,__asyncDelegator:()=>v,__asyncGenerator:()=>m,__asyncValues:()=>T,__await:()=>E,__awaiter:()=>l,__classPrivateFieldGet:()=>b,__classPrivateFieldSet:()=>R,__createBinding:()=>d,__decorate:()=>a,__exportStar:()=>f,__extends:()=>i,__generator:()=>p,__importDefault:()=>S,__importStar:()=>I,__makeTemplateObject:()=>A,__metadata:()=>c,__param:()=>u,__read:()=>_,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>y,__values:()=>h});var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)};function i(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var o=function(){return o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}function u(t,e){return function(r,n){e(r,n,t)}}function c(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function l(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))}function p(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function _(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,i,o=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return s}function g(){for(var t=[],e=0;e1||a(t,e)}))})}function a(t,e){try{(r=i[t](e)).value instanceof E?Promise.resolve(r.value.v).then(u,c):l(o[0][2],r)}catch(t){l(o[0][3],t)}var r}function u(t){a("next",t)}function c(t){a("throw",t)}function l(t,e){t(e),o.shift(),o.length&&a(o[0][0],o[0][1])}}function v(t){var e,r;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,i){e[n]=t[n]?function(e){return(r=!r)?{value:E(t[n](e)),done:"return"===n}:i?i(e):e}:i}}function T(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=h(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise((function(n,i){!function(t,e,r,n){Promise.resolve(n).then((function(e){t({value:e,done:r})}),e)}(n,i,(e=t[r](e)).done,e.value)}))}}}function A(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function I(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function S(t){return t&&t.__esModule?t:{default:t}}function b(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function R(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r}}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n=r(3607);return n.default})())); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.apisearch=e():t.apisearch=e()}(self,(()=>(()=>{var t={9669:(t,e,r)=>{t.exports=r(1609)},5448:(t,e,r)=>{"use strict";var n=r(4867),i=r(6026),o=r(4372),s=r(5327),a=r(4097),u=r(4109),c=r(7985),l=r(7874),p=r(2648),d=r(644),f=r(205);t.exports=function(t){return new Promise((function(e,r){var h,_=t.data,g=t.headers,y=t.responseType;function E(){t.cancelToken&&t.cancelToken.unsubscribe(h),t.signal&&t.signal.removeEventListener("abort",h)}n.isFormData(_)&&n.isStandardBrowserEnv()&&delete g["Content-Type"];var m=new XMLHttpRequest;if(t.auth){var v=t.auth.username||"",T=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";g.Authorization="Basic "+btoa(v+":"+T)}var A=a(t.baseURL,t.url);function I(){if(m){var n="getAllResponseHeaders"in m?u(m.getAllResponseHeaders()):null,o={data:y&&"text"!==y&&"json"!==y?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:n,config:t,request:m};i((function(t){e(t),E()}),(function(t){r(t),E()}),o),m=null}}if(m.open(t.method.toUpperCase(),s(A,t.params,t.paramsSerializer),!0),m.timeout=t.timeout,"onloadend"in m?m.onloadend=I:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(I)},m.onabort=function(){m&&(r(new p("Request aborted",p.ECONNABORTED,t,m)),m=null)},m.onerror=function(){r(new p("Network Error",p.ERR_NETWORK,t,m,m)),m=null},m.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",n=t.transitional||l;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),r(new p(e,n.clarifyTimeoutError?p.ETIMEDOUT:p.ECONNABORTED,t,m)),m=null},n.isStandardBrowserEnv()){var S=(t.withCredentials||c(A))&&t.xsrfCookieName?o.read(t.xsrfCookieName):void 0;S&&(g[t.xsrfHeaderName]=S)}"setRequestHeader"in m&&n.forEach(g,(function(t,e){void 0===_&&"content-type"===e.toLowerCase()?delete g[e]:m.setRequestHeader(e,t)})),n.isUndefined(t.withCredentials)||(m.withCredentials=!!t.withCredentials),y&&"json"!==y&&(m.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&m.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&m.upload&&m.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(h=function(t){m&&(r(!t||t&&t.type?new d:t),m.abort(),m=null)},t.cancelToken&&t.cancelToken.subscribe(h),t.signal&&(t.signal.aborted?h():t.signal.addEventListener("abort",h))),_||(_=null);var b=f(A);b&&-1===["http","https","file"].indexOf(b)?r(new p("Unsupported protocol "+b+":",p.ERR_BAD_REQUEST,t)):m.send(_)}))}},1609:(t,e,r)=>{"use strict";var n=r(4867),i=r(1849),o=r(321),s=r(7185),a=function t(e){var r=new o(e),a=i(o.prototype.request,r);return n.extend(a,o.prototype,r),n.extend(a,r),a.create=function(r){return t(s(e,r))},a}(r(5546));a.Axios=o,a.CanceledError=r(644),a.CancelToken=r(4972),a.isCancel=r(6502),a.VERSION=r(7288).version,a.toFormData=r(7675),a.AxiosError=r(2648),a.Cancel=a.CanceledError,a.all=function(t){return Promise.all(t)},a.spread=r(8713),a.isAxiosError=r(6268),t.exports=a,t.exports.default=a},4972:(t,e,r)=>{"use strict";var n=r(644);function i(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var r=this;this.promise.then((function(t){if(r._listeners){var e,n=r._listeners.length;for(e=0;e{"use strict";var n=r(2648);function i(t){n.call(this,null==t?"canceled":t,n.ERR_CANCELED),this.name="CanceledError"}r(4867).inherits(i,n,{__CANCEL__:!0}),t.exports=i},6502:t=>{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,r)=>{"use strict";var n=r(4867),i=r(5327),o=r(782),s=r(3572),a=r(7185),u=r(4097),c=r(4875),l=c.validators;function p(t){this.defaults=t,this.interceptors={request:new o,response:new o}}p.prototype.request=function(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},(e=a(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;void 0!==r&&c.assertOptions(r,{silentJSONParsing:l.transitional(l.boolean),forcedJSONParsing:l.transitional(l.boolean),clarifyTimeoutError:l.transitional(l.boolean)},!1);var n=[],i=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(i=i&&t.synchronous,n.unshift(t.fulfilled,t.rejected))}));var o,u=[];if(this.interceptors.response.forEach((function(t){u.push(t.fulfilled,t.rejected)})),!i){var p=[s,void 0];for(Array.prototype.unshift.apply(p,n),p=p.concat(u),o=Promise.resolve(e);p.length;)o=o.then(p.shift(),p.shift());return o}for(var d=e;n.length;){var f=n.shift(),h=n.shift();try{d=f(d)}catch(t){h(t);break}}try{o=s(d)}catch(t){return Promise.reject(t)}for(;u.length;)o=o.then(u.shift(),u.shift());return o},p.prototype.getUri=function(t){t=a(this.defaults,t);var e=u(t.baseURL,t.url);return i(e,t.params,t.paramsSerializer)},n.forEach(["delete","get","head","options"],(function(t){p.prototype[t]=function(e,r){return this.request(a(r||{},{method:t,url:e,data:(r||{}).data}))}})),n.forEach(["post","put","patch"],(function(t){function e(e){return function(r,n,i){return this.request(a(i||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}p.prototype[t]=e(),p.prototype[t+"Form"]=e(!0)})),t.exports=p},2648:(t,e,r)=>{"use strict";var n=r(4867);function i(t,e,r,n,i){Error.call(this),this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i)}n.inherits(i,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var o=i.prototype,s={};["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"].forEach((function(t){s[t]={value:t}})),Object.defineProperties(i,s),Object.defineProperty(o,"isAxiosError",{value:!0}),i.from=function(t,e,r,s,a,u){var c=Object.create(o);return n.toFlatObject(t,c,(function(t){return t!==Error.prototype})),i.call(c,t.message,e,r,s,a),c.name=t.name,u&&Object.assign(c,u),c},t.exports=i},782:(t,e,r)=>{"use strict";var n=r(4867);function i(){this.handlers=[]}i.prototype.use=function(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},i.prototype.forEach=function(t){n.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=i},4097:(t,e,r)=>{"use strict";var n=r(1793),i=r(7303);t.exports=function(t,e){return t&&!n(e)?i(t,e):e}},3572:(t,e,r)=>{"use strict";var n=r(4867),i=r(8527),o=r(6502),s=r(5546),a=r(644);function u(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new a}t.exports=function(t){return u(t),t.headers=t.headers||{},t.data=i.call(t,t.data,t.headers,t.transformRequest),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||s.adapter)(t).then((function(e){return u(t),e.data=i.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return o(e)||(u(t),e&&e.response&&(e.response.data=i.call(t,e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},7185:(t,e,r)=>{"use strict";var n=r(4867);t.exports=function(t,e){e=e||{};var r={};function i(t,e){return n.isPlainObject(t)&&n.isPlainObject(e)?n.merge(t,e):n.isPlainObject(e)?n.merge({},e):n.isArray(e)?e.slice():e}function o(r){return n.isUndefined(e[r])?n.isUndefined(t[r])?void 0:i(void 0,t[r]):i(t[r],e[r])}function s(t){if(!n.isUndefined(e[t]))return i(void 0,e[t])}function a(r){return n.isUndefined(e[r])?n.isUndefined(t[r])?void 0:i(void 0,t[r]):i(void 0,e[r])}function u(r){return r in e?i(t[r],e[r]):r in t?i(void 0,t[r]):void 0}var c={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:u};return n.forEach(Object.keys(t).concat(Object.keys(e)),(function(t){var e=c[t]||o,i=e(t);n.isUndefined(i)&&e!==u||(r[t]=i)})),r}},6026:(t,e,r)=>{"use strict";var n=r(2648);t.exports=function(t,e,r){var i=r.config.validateStatus;r.status&&i&&!i(r.status)?e(new n("Request failed with status code "+r.status,[n.ERR_BAD_REQUEST,n.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):t(r)}},8527:(t,e,r)=>{"use strict";var n=r(4867),i=r(5546);t.exports=function(t,e,r){var o=this||i;return n.forEach(r,(function(r){t=r.call(o,t,e)})),t}},5546:(t,e,r)=>{"use strict";var n=r(4867),i=r(6016),o=r(2648),s=r(7874),a=r(7675),u={"Content-Type":"application/x-www-form-urlencoded"};function c(t,e){!n.isUndefined(t)&&n.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var l,p={transitional:s,adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(l=r(5448)),l),transformRequest:[function(t,e){if(i(e,"Accept"),i(e,"Content-Type"),n.isFormData(t)||n.isArrayBuffer(t)||n.isBuffer(t)||n.isStream(t)||n.isFile(t)||n.isBlob(t))return t;if(n.isArrayBufferView(t))return t.buffer;if(n.isURLSearchParams(t))return c(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var r,o=n.isObject(t),s=e&&e["Content-Type"];if((r=n.isFileList(t))||o&&"multipart/form-data"===s){var u=this.env&&this.env.FormData;return a(r?{"files[]":t}:t,u&&new u)}return o||"application/json"===s?(c(e,"application/json"),function(t,e,r){if(n.isString(t))try{return(0,JSON.parse)(t),n.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||p.transitional,r=e&&e.silentJSONParsing,i=e&&e.forcedJSONParsing,s=!r&&"json"===this.responseType;if(s||i&&n.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(s){if("SyntaxError"===t.name)throw o.from(t,o.ERR_BAD_RESPONSE,this,null,this.response);throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:r(1623)},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};n.forEach(["delete","get","head"],(function(t){p.headers[t]={}})),n.forEach(["post","put","patch"],(function(t){p.headers[t]=n.merge(u)})),t.exports=p},7874:t=>{"use strict";t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},7288:t=>{t.exports={version:"0.27.2"}},1849:t=>{"use strict";t.exports=function(t,e){return function(){for(var r=new Array(arguments.length),n=0;n{"use strict";var n=r(4867);function i(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,r){if(!e)return t;var o;if(r)o=r(e);else if(n.isURLSearchParams(e))o=e.toString();else{var s=[];n.forEach(e,(function(t,e){null!=t&&(n.isArray(t)?e+="[]":t=[t],n.forEach(t,(function(t){n.isDate(t)?t=t.toISOString():n.isObject(t)&&(t=JSON.stringify(t)),s.push(i(e)+"="+i(t))})))})),o=s.join("&")}if(o){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+o}return t}},7303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},4372:(t,e,r)=>{"use strict";var n=r(4867);t.exports=n.isStandardBrowserEnv()?{write:function(t,e,r,i,o,s){var a=[];a.push(t+"="+encodeURIComponent(e)),n.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),n.isString(i)&&a.push("path="+i),n.isString(o)&&a.push("domain="+o),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}},6268:(t,e,r)=>{"use strict";var n=r(4867);t.exports=function(t){return n.isObject(t)&&!0===t.isAxiosError}},7985:(t,e,r)=>{"use strict";var n=r(4867);t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function i(t){var n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=i(window.location.href),function(e){var r=n.isString(e)?i(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0}},6016:(t,e,r)=>{"use strict";var n=r(4867);t.exports=function(t,e){n.forEach(t,(function(r,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=r,delete t[n])}))}},1623:t=>{t.exports=null},4109:(t,e,r)=>{"use strict";var n=r(4867),i=["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"];t.exports=function(t){var e,r,o,s={};return t?(n.forEach(t.split("\n"),(function(t){if(o=t.indexOf(":"),e=n.trim(t.substr(0,o)).toLowerCase(),r=n.trim(t.substr(o+1)),e){if(s[e]&&i.indexOf(e)>=0)return;s[e]="set-cookie"===e?(s[e]?s[e]:[]).concat([r]):s[e]?s[e]+", "+r:r}})),s):s}},205:t=>{"use strict";t.exports=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}},8713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},7675:(t,e,r)=>{"use strict";var n=r(4867);t.exports=function(t,e){e=e||new FormData;var r=[];function i(t){return null===t?"":n.isDate(t)?t.toISOString():n.isArrayBuffer(t)||n.isTypedArray(t)?"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}return function t(o,s){if(n.isPlainObject(o)||n.isArray(o)){if(-1!==r.indexOf(o))throw Error("Circular reference detected in "+s);r.push(o),n.forEach(o,(function(r,o){if(!n.isUndefined(r)){var a,u=s?s+"."+o:o;if(r&&!s&&"object"==typeof r)if(n.endsWith(o,"{}"))r=JSON.stringify(r);else if(n.endsWith(o,"[]")&&(a=n.toArray(r)))return void a.forEach((function(t){!n.isUndefined(t)&&e.append(u,i(t))}));t(r,u)}})),r.pop()}else e.append(s,i(o))}(t),e}},4875:(t,e,r)=>{"use strict";var n=r(7288).version,i=r(2648),o={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){o[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}}));var s={};o.transitional=function(t,e,r){function o(t,e){return"[Axios v"+n+"] Transitional option '"+t+"'"+e+(r?". "+r:"")}return function(r,n,a){if(!1===t)throw new i(o(n," has been removed"+(e?" in "+e:"")),i.ERR_DEPRECATED);return e&&!s[n]&&(s[n]=!0,console.warn(o(n," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(r,n,a)}},t.exports={assertOptions:function(t,e,r){if("object"!=typeof t)throw new i("options must be an object",i.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(t),o=n.length;o-- >0;){var s=n[o],a=e[s];if(a){var u=t[s],c=void 0===u||a(u,s,t);if(!0!==c)throw new i("option "+s+" must be "+c,i.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new i("Unknown option "+s,i.ERR_BAD_OPTION)}},validators:o}},4867:(t,e,r)=>{"use strict";var n,i=r(1849),o=Object.prototype.toString,s=(n=Object.create(null),function(t){var e=o.call(t);return n[e]||(n[e]=e.slice(8,-1).toLowerCase())});function a(t){return t=t.toLowerCase(),function(e){return s(e)===t}}function u(t){return Array.isArray(t)}function c(t){return void 0===t}var l=a("ArrayBuffer");function p(t){return null!==t&&"object"==typeof t}function d(t){if("object"!==s(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}var f=a("Date"),h=a("File"),_=a("Blob"),g=a("FileList");function y(t){return"[object Function]"===o.call(t)}var E=a("URLSearchParams");function m(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),u(t))for(var r=0,n=t.length;r0;)s[o=n[i]]||(e[o]=t[o],s[o]=!0);t=Object.getPrototypeOf(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:s,kindOfTest:a,endsWith:function(t,e,r){t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;var n=t.indexOf(e,r);return-1!==n&&n===r},toArray:function(t){if(!t)return null;var e=t.length;if(c(e))return null;for(var r=new Array(e);e-- >0;)r[e]=t[e];return r},isTypedArray:T,isFileList:g}},697:(t,e,r)=>{"use strict";e.__esModule=!0;var n=r(655),i=r(2430),o=r(4481),s=r(4481),a=r(4481),u=r(41),c=r(4637),l=r(734),p=r(9915),d=r(4283),f=r(5006),h=function(){function t(){}return t.createRepository=function(e){t.ensureRepositoryConfigIsValid(e),e.options=n.__assign({api_version:"v1",override_queries:!0,timeout:3e3},e.options);var r=void 0!==e.options.http_client?e.options.http_client:new i.AxiosClient(e.options.endpoint,e.options.api_version,e.options.timeout,e.options.override_queries);return e.options.use_cache&&(r=new f.CacheClient(r)),new c.HttpRepository(r,e.app_id,e.index_id,e.token,new d.Transformer)},t.ensureRepositoryConfigIsValid=function(e){t.ensureIsDefined(e.app_id,"app_id"),t.ensureIsDefined(e.index_id,"index_id"),t.ensureIsDefined(e.token,"token"),t.ensureIsDefined(e.options.endpoint,"options.endpoint")},t.ensureIsDefined=function(t,e){if(void 0===t)throw new TypeError(e+" parameter must be defined.")},t.createQueryLocated=function(t,e,r,n){return void 0===r&&(r=o.QUERY_DEFAULT_PAGE),void 0===n&&(n=s.QUERY_DEFAULT_SIZE),a.Query.createLocated(t,e,r,n)},t.createQuery=function(t,e,r){return void 0===e&&(e=o.QUERY_DEFAULT_PAGE),void 0===r&&(r=s.QUERY_DEFAULT_SIZE),a.Query.create(t,e,r)},t.createQueryMatchAll=function(){return a.Query.createMatchAll()},t.createQueryByUUID=function(t){return a.Query.createByUUID(t)},t.createQueryByUUIDs=function(){for(var t=[],e=0;e{"use strict";e.__esModule=!0,e.Config=e.DEFAULT_REPLICAS=e.DEFAULT_SHARDS=void 0;var n=r(9653);e.DEFAULT_SHARDS=1,e.DEFAULT_REPLICAS=0;var i=function(){function t(t,r,n,i){void 0===t&&(t=null),void 0===r&&(r=!0),void 0===n&&(n=e.DEFAULT_SHARDS),void 0===i&&(i=e.DEFAULT_REPLICAS),this.synonyms=[],this.language=t,this.storeSearchableMetadata=r,this.shards=n,this.replicas=i}return t.prototype.getLanguage=function(){return this.language},t.prototype.shouldSearchableMetadataBeStored=function(){return this.storeSearchableMetadata},t.prototype.addSynonym=function(t){this.synonyms.push(t)},t.prototype.getSynonyms=function(){return this.synonyms},t.prototype.getShards=function(){return this.shards},t.prototype.getReplicas=function(){return this.replicas},t.prototype.toArray=function(){return{language:this.language,store_searchable_metadata:this.storeSearchableMetadata,synonyms:this.synonyms.map((function(t){return t.toArray()})),shards:this.shards,replicas:this.replicas}},t.createFromArray=function(r){var i=new t(r.language?r.language:null,"boolean"!=typeof r.store_searchable_metadata||r.store_searchable_metadata);return r.synonyms instanceof Array&&r.synonyms.length>0&&(i.synonyms=r.synonyms.map((function(t){return n.Synonym.createFromArray(t)}))),i.shards="number"==typeof r.shards?r.shards:e.DEFAULT_SHARDS,i.replicas="number"==typeof r.replicas?r.replicas:e.DEFAULT_REPLICAS,i},t}();e.Config=i},9653:(t,e)=>{"use strict";e.__esModule=!0,e.Synonym=void 0;var r=function(){function t(t){this.words=t}return t.prototype.getWords=function(){return this.words},t.createbyWords=function(e){return new t(e)},t.prototype.toArray=function(){return{words:this.words}},t.createFromArray=function(e){return new t(e.words instanceof Object?e.words:[])},t.prototype.expand=function(){return this.words.join(",")},t}();e.Synonym=r},6017:(t,e,r)=>{"use strict";e.__esModule=!0,e.ConnectionError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 500},e}(r(3138).ErrorWithMessage);e.ConnectionError=i},3138:(t,e)=>{"use strict";e.__esModule=!0,e.ErrorWithMessage=void 0;e.ErrorWithMessage=function(t){this.message=t}},7380:(t,e,r)=>{"use strict";e.__esModule=!0,e.EventError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.throwEndpointNotAvailable=function(){return new e("Endpoint not available")},e}(r(3138).ErrorWithMessage);e.EventError=i},175:(t,e,r)=>{"use strict";e.__esModule=!0,e.ForbiddenError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 403},e.createAppIdIsRequiredException=function(){return new e("AppId query parameter MUST be defined with a valid value")},e.createIndexIsRequiredException=function(){return new e("Index query parameter MUST be defined with a valid value")},e.createTokenIsRequiredException=function(){return new e("Token query parameter MUST be defined with a valid value")},e}(r(3138).ErrorWithMessage);e.ForbiddenError=i},9081:(t,e,r)=>{"use strict";e.__esModule=!0,e.InvalidFormatError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 400},e.itemRepresentationNotValid=function(){return new e("Item representation not valid. Expecting Item array serialized but found malformed data")},e.itemUUIDRepresentationNotValid=function(){return new e("Item UUID representation not valid. Expecting UUID array serialized but found malformed data")},e.composedItemUUIDNotValid=function(){return new e("A composed UUID should always follow this format: {id}~{type}.")},e.querySortedByDistanceWithoutCoordinate=function(){return new e("In order to be able to sort by coordinates, you need to create a Query by using Query::createLocated() instead of Query::create()")},e.queryFormatNotValid=function(){return new e("Query Format not valid. Expecting a Query serialized but found malformed data")},e.coordinateFormatNotValid=function(){return new e("A Coordinate should always contain a lat (Latitude) and a lon (Longitude)")},e.configFormatNotValid=function(){return new e("Config Format not valid. Expecting a Config serialized but found malformed data")},e.tokenFormatNotValid=function(){return new e("Token Format not valid. Expecting a Token serialized but found malformed data")},e.indexFormatNotValid=function(){return new e("Index Format not valid. Expecting an Index serialized but found malformed data")},e.indexUUIDFormatNotValid=function(){return new e("IndexUUID Format not valid. Expecting an IndexUUID serialized but found malformed data")},e.appUUIDFormatNotValid=function(){return new e("AppUUID Format not valid. Expecting an AppUUID serialized but found malformed data")},e.campaignFormatNotValid=function(){return new e("Campaign Format not valid. Expecting a Campaign serialized but found malformed data")},e.changesFormatNotValid=function(){return new e("Changes Format not valid. Expecting a Changes serialized but found malformed data")},e.boostClauseFormatNotValid=function(){return new e("Boost clause Format not valid. Expecting a Boost clause serialized but found malformed data")},e.tokenUUIDFormatNotValid=function(){return new e("Token UUID Format not valid. Expecting a TokenUUID serialized but found malformed data")},e.userFormatNotValid=function(){return new e("User Format not valid. Expecting a User serialized but found malformed data")},e}(r(3138).ErrorWithMessage);e.InvalidFormatError=i},9134:(t,e,r)=>{"use strict";e.__esModule=!0,e.InvalidTokenError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 401},e.createInvalidTokenPermissions=function(t){return new e("Token "+t+"not valid")},e.createInvalidTokenMaxHitsPerQuery=function(t,r){return new e("Token "+t+"not valid. Max "+r+" hits allowed")},e}(r(3138).ErrorWithMessage);e.InvalidTokenError=i},8257:(t,e,r)=>{"use strict";e.__esModule=!0,e.ResourceExistsError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 409},e.indexAvailable=function(){return new e("Index exists and cannot be created again")},e.eventsIndexAvailable=function(){return new e("Events index exists and cannot be created again")},e.logsIndexAvailable=function(){return new e("Logs index exists and cannot be created again")},e}(r(3138).ErrorWithMessage);e.ResourceExistsError=i},273:(t,e,r)=>{"use strict";e.__esModule=!0,e.ResourceNotAvailableError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 404},e.indexNotAvailable=function(t){return new e("Index not available - "+t)},e.eventsIndexNotAvailable=function(t){return new e("Events not available - "+t)},e.logsIndexNotAvailable=function(t){return new e("Logs not available - "+t)},e.engineNotAvailable=function(t){return new e("Engine not available - "+t)},e}(r(3138).ErrorWithMessage);e.ResourceNotAvailableError=i},4587:(t,e,r)=>{"use strict";e.__esModule=!0,e.UnknownError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.createUnknownError=function(){return new this("Unknown error.")},e}(r(3138).ErrorWithMessage);e.UnknownError=i},52:(t,e,r)=>{"use strict";e.__esModule=!0,e.UnsupportedContentTypeError=void 0;var n=r(655),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getTransportableHTTPError=function(){return 415},e.createUnsupportedContentTypeException=function(){return new e("This content type is not accepted. Please use application/json")},e}(r(3138).ErrorWithMessage);e.UnsupportedContentTypeError=i},9878:(t,e,r)=>{"use strict";e.__esModule=!0,e.Square=e.Polygon=e.CoordinateAndDistance=e.LocationRange=void 0;var n=r(655),i=r(5343),o=function(){function t(){}return t.fromFilterObject=function(t){throw TypeError("Method not valid")},t.prototype.toArray=function(){return{type:this.getName(),data:this.toFilterObject()}},t.createFromArray=function(t){return"CoordinateAndDistance"==t.type?s.fromFilterObject(t.data):"Polygon"==t.type?a.fromFilterObject(t.data):"Square"==t.type?u.fromFilterObject(t.data):void 0},t}();e.LocationRange=o;var s=function(t){function e(e,r){var n=t.call(this)||this;return n.coordinate=e,n.distance=r,n}return n.__extends(e,t),e.prototype.toFilterObject=function(){return{coordinate:this.coordinate.toArray(),distance:this.distance}},e.prototype.getName=function(){return"CoordinateAndDistance"},e.fromFilterObject=function(t){return new e(i.Coordinate.createFromArray(t.coordinate),t.distance)},e}(o);e.CoordinateAndDistance=s;var a=function(t){function e(e){var r=t.call(this)||this;if(e.length<3)throw new Error("A polygon needs more than two coordinates.");return r.coordinates=e,r}return n.__extends(e,t),e.prototype.toFilterObject=function(){var t=[];for(var e in this.coordinates)t.push(this.coordinates[e].toArray());return{coordinates:t}},e.prototype.getName=function(){return"Polygon"},e.fromFilterObject=function(t){var r=[];for(var n in t.coordinates)r.push(i.Coordinate.createFromArray(t.coordinates[n]));return new e(r)},e}(o);e.Polygon=a;var u=function(t){function e(e,r){var n=t.call(this)||this;return n.topLeftCoordinate=e,n.bottomRightCoordinate=r,n}return n.__extends(e,t),e.prototype.toFilterObject=function(){return{top_left:this.topLeftCoordinate.toArray(),bottom_right:this.bottomRightCoordinate.toArray()}},e.prototype.getName=function(){return"Square"},e.fromFilterObject=function(t){return new e(i.Coordinate.createFromArray(t.top_left),i.Coordinate.createFromArray(t.bottom_right))},e}(o);e.Square=u},2430:(t,e,r)=>{"use strict";e.__esModule=!0,e.AxiosClient=void 0;var n=r(655),i=r(9669),o=r(3607),s=r(6563),a=r(9313),u=function(t){function e(e,r,n,i){var o=t.call(this,r)||this;return o.host=e,o.timeout=n,o.overrideQueries=i,o.abortControllers={},o}return n.__extends(e,t),e.prototype.get=function(t,e,r,i,u){return void 0===i&&(i={}),void 0===u&&(u={}),n.__awaiter(this,void 0,void 0,(function(){var c,l,p,d;return n.__generator(this,(function(f){switch(f.label){case 0:t=t.replace(/^\/*|\/*$/g,""),t="/"+(this.version+"/"+t).replace(/^\/*|\/*$/g,""),"get"===(e=e.toLowerCase())&&this.overrideQueries&&this.abort(t,!0),c="get"===e?{}:{"Content-Encoding":"gzip","Content-Type":"application/json"},l={baseURL:this.host.replace(/\/*$/g,""),data:u,headers:c,method:e,timeout:this.timeout,transformRequest:[function(t){return JSON.stringify(t)}],url:t+"?"+s.Client.objectToUrlParameters(n.__assign(n.__assign({},i),{token:r.token})).replace(/#/g,"%23")},void 0!==this.abortControllers[t]&&(l.signal=this.abortControllers[t].signal),f.label=1;case 1:return f.trys.push([1,3,,4]),[4,this.fetch(t,l,3)];case 2:return p=f.sent(),[2,new a.Response(p.status,p.data)];case 3:throw(d=f.sent()).response?new a.Response(d.response.status,d.response.data):new a.Response(o.ConnectionError.getTransportableHTTPError(),{message:d.message});case 4:return[2]}}))}))},e.prototype.abort=function(t,e){e||(t=t.replace(/^\/*|\/*$/g,""),t="/"+(this.version+"/"+t).replace(/^\/*|\/*$/g,"")),void 0!==this.abortControllers[t]&&this.abortControllers[t].abort(),this.generateAbortController(t)},e.prototype.generateAbortController=function(t){this.abortControllers[t]=new AbortController},e.prototype.fetch=function(t,e,r){return n.__awaiter(this,void 0,void 0,(function(){var o=this;return n.__generator(this,(function(n){switch(n.label){case 0:return[4,i.default.request(e).then((function(t){return{data:t.data,status:t.status}})).catch((function(n){var i=n.response;if(void 0!==n.code&&"ECONNREFUSED"!==n.code&&"ECONNABORTED"!==n.code&&"ERR_BAD_REQUEST"!==n.code&&"Network Error"!==n.message)return{data:i.data,status:i.status};if(r<=0)throw n;return r-=1,o.fetch(t,e,r)}))];case 1:return[2,n.sent()]}}))}))},e}(s.Client);e.AxiosClient=u},5006:(t,e,r)=>{"use strict";e.__esModule=!0,e.CacheClient=void 0;var n=r(655),i=r(4758),o=function(){function t(t){this.cache={},this.hits=0,this.httpClient=t}return t.prototype.flushCache=function(){this.cache={}},t.prototype.size=function(){return Object.keys(this.cache).length},t.prototype.getNumberOfHits=function(){return this.hits},t.prototype.get=function(t,e,r,o,s){return void 0===o&&(o={}),void 0===s&&(s={}),n.__awaiter(this,void 0,void 0,(function(){var a,u,c;return n.__generator(this,(function(n){switch(n.label){case 0:return"get"!==e?[2,this.httpClient.get(t,e,r,o,s)]:(a=i.Md5.hashStr(JSON.stringify({u:t,c:r,p:o,d:s})).toString(),this.cache[a]?[3,2]:(u=this.cache,c=a,[4,this.httpClient.get(t,e,r,o,s)]));case 1:return u[c]=n.sent(),[3,3];case 2:this.httpClient.abort(t,!1),this.hits++,n.label=3;case 3:return[2,this.cache[a]]}}))}))},t.prototype.abort=function(t,e){},t}();e.CacheClient=o},6563:(t,e)=>{"use strict";e.__esModule=!0,e.Client=void 0;var r=function(){function t(t){this.version=t.replace(/^\/*|\/*$/g,"")}return t.objectToUrlParameters=function(t){var e=[];for(var r in t)e.push(r+"="+t[r]);return e.join("&")},t}();e.Client=r},4885:(t,e)=>{"use strict";e.__esModule=!0,e.HttpClient=void 0;e.HttpClient=function(){}},9313:(t,e)=>{"use strict";e.__esModule=!0,e.Response=void 0;var r=function(){function t(t,e){this.code=t,this.body=e}return t.prototype.getCode=function(){return this.code},t.prototype.getBody=function(){return this.body},t}();e.Response=r},1382:(t,e,r)=>{"use strict";e.__esModule=!0,e.AppUUID=void 0;var n=r(9081),i=function(){function t(t){if(t.indexOf("_")>=0)throw n.InvalidFormatError.appUUIDFormatNotValid();this.id=t}return t.createById=function(e){return new t(e)},t.prototype.getId=function(){return this.id},t.prototype.toArray=function(){return{id:this.id}},t.createFromArray=function(e){return new t((e=JSON.parse(JSON.stringify(e))).id)},t.prototype.composedUUID=function(){return this.id},t}();e.AppUUID=i},4026:(t,e)=>{"use strict";e.__esModule=!0,e.Changes=e.TYPE_ARRAY=e.TYPE_ARRAY_EXPECTS_ELEMENT=e.TYPE_ARRAY_ELEMENT_DELETE=e.TYPE_ARRAY_ELEMENT_ADD=e.TYPE_ARRAY_ELEMENT_UPDATE=e.TYPE_LITERAL=e.TYPE_VALUE=void 0,e.TYPE_VALUE=1,e.TYPE_LITERAL=4,e.TYPE_ARRAY_ELEMENT_UPDATE=8,e.TYPE_ARRAY_ELEMENT_ADD=16,e.TYPE_ARRAY_ELEMENT_DELETE=32,e.TYPE_ARRAY_EXPECTS_ELEMENT=24,e.TYPE_ARRAY=56;var r=function(){function t(){this.changes=[]}return t.prototype.addChange=function(t,r,n){void 0===n&&(n=e.TYPE_VALUE),this.changes.push({field:t,type:n,value:r})},t.prototype.updateElementFromList=function(t,r,n,i){this.changes.push({field:t,type:i|e.TYPE_ARRAY_ELEMENT_UPDATE,condition:r,value:n})},t.prototype.addElementInList=function(t,r,n){this.changes.push({field:t,type:n|e.TYPE_ARRAY_ELEMENT_ADD,value:r})},t.prototype.deleteElementFromList=function(t,r){this.changes.push({field:t,type:e.TYPE_ARRAY_ELEMENT_DELETE,condition:r})},t.prototype.getChanges=function(){return this.changes},t.create=function(){return new t},t.prototype.toArray=function(){return JSON.parse(JSON.stringify(this.changes))},t.createFromArray=function(e){e=JSON.parse(JSON.stringify(e));var r=t.create();return r.changes=e,r},t}();e.Changes=r},5343:(t,e,r)=>{"use strict";e.__esModule=!0,e.Coordinate=void 0;var n=r(9081),i=function(){function t(t,e){this.lat=t,this.lon=e}return t.prototype.getLatitude=function(){return this.lat},t.prototype.getLongitude=function(){return this.lon},t.prototype.toArray=function(){return{lat:this.lat,lon:this.lon}},t.createFromArray=function(e){if(void 0===e.lat||void 0===e.lon)throw n.InvalidFormatError.coordinateFormatNotValid();return new t(e.lat,e.lon)},t}();e.Coordinate=i},4855:(t,e,r)=>{"use strict";e.__esModule=!0,e.Index=void 0;var n=r(9081),i=r(2312),o=r(1382),s=function(){function t(t,e,r,n,i){void 0===r&&(r=!1),void 0===n&&(n=0),void 0===i&&(i="0kb"),this.uuid=t,this.appUUID=e,this.isOK=r,this.docCount=n,this.size=i}return t.prototype.getUUID=function(){return this.uuid},t.prototype.getAppUUID=function(){return this.appUUID},t.prototype.isOk=function(){return this.isOK},t.prototype.getDocCount=function(){return this.docCount},t.prototype.getSize=function(){return this.size},t.prototype.toArray=function(){return{uuid:this.uuid.toArray(),app_id:this.appUUID.toArray(),is_ok:this.isOK,doc_count:this.docCount,size:this.size}},t.createFromArray=function(e){if(void 0===e.uuid||void 0===e.app_id)throw n.InvalidFormatError.indexFormatNotValid();return new t(i.IndexUUID.createFromArray(e.uuid),o.AppUUID.createFromArray(e.app_id),void 0!==e.is_ok&&e.is_ok,void 0===e.doc_count?0:e.doc_count,void 0===e.size?"0kb":e.size)},t}();e.Index=s},2312:(t,e,r)=>{"use strict";e.__esModule=!0,e.IndexUUID=void 0;var n=r(9081),i=function(){function t(t){if(t.indexOf("_")>=0)throw n.InvalidFormatError.indexUUIDFormatNotValid();this.id=t}return t.createById=function(e){return new t(e)},t.prototype.getId=function(){return this.id},t.prototype.toArray=function(){return{id:this.id}},t.createFromArray=function(e){return new t((e=JSON.parse(JSON.stringify(e))).id)},t.prototype.composedUUID=function(){return this.id},t}();e.IndexUUID=i},4232:(t,e,r)=>{"use strict";e.__esModule=!0,e.Item=void 0;var n=r(655),i=r(9081),o=r(5343),s=r(3683),a=r(1382),u=r(2312),c=function(){function t(t,e,r,n,i,o,s){this.metadata={},this.indexedMetadata={},this.searchableMetadata={},this.exactMatchingMetadata=[],this.suggest=[],this.highlights={},this.promoted=!1,this.uuid=t,this.coordinate=e,this.metadata=r,this.indexedMetadata=n,this.searchableMetadata=i,this.exactMatchingMetadata=o,this.suggest=s}return t.create=function(e,r,n,i,o,s){return void 0===r&&(r={}),void 0===n&&(n={}),void 0===i&&(i={}),void 0===o&&(o=[]),void 0===s&&(s=[]),new t(e,null,r,n,i,o,s)},t.createLocated=function(e,r,n,i,o,s,a){return void 0===n&&(n={}),void 0===i&&(i={}),void 0===o&&(o={}),void 0===s&&(s=[]),void 0===a&&(a=[]),new t(e,r,n,i,o,s,a)},t.prototype.getUUID=function(){return this.uuid},t.prototype.getId=function(){return this.uuid.getId()},t.prototype.getType=function(){return this.uuid.getType()},t.prototype.getCoordinate=function(){return this.coordinate},t.prototype.getDistance=function(){return this.distance},t.prototype.getMetadata=function(){return this.metadata},t.prototype.setMetadata=function(t){this.metadata=t},t.prototype.addMetadata=function(t,e){this.metadata[t]=e},t.prototype.getIndexedMetadata=function(){return this.indexedMetadata},t.prototype.setIndexedMetadata=function(t){this.indexedMetadata=t},t.prototype.addIndexedMetadata=function(t,e){this.indexedMetadata[t]=e},t.prototype.getSearchableMetadata=function(){return this.searchableMetadata},t.prototype.setSearchableMetadata=function(t){this.searchableMetadata=t},t.prototype.addSearchableMetadata=function(t,e){this.searchableMetadata[t]=e},t.prototype.getExactMatchingMetadata=function(){return this.exactMatchingMetadata},t.prototype.setExactMatchingMetadata=function(t){this.exactMatchingMetadata=t},t.prototype.addExactMatchingMetadata=function(t){this.exactMatchingMetadata.push(t)},t.prototype.getAllMetadata=function(){return n.__assign(n.__assign({},this.metadata),this.indexedMetadata)},t.prototype.get=function(t){var e=this.getAllMetadata();return void 0!==e[t]?e[t]:null},t.prototype.getSuggest=function(){return this.suggest},t.prototype.getHighlights=function(){return this.highlights},t.prototype.getHighlight=function(t){return void 0!==this.highlights[t]?this.highlights[t]:null},t.prototype.isPromoted=function(){return this.promoted},t.prototype.setScore=function(t){return this.score=t,this},t.prototype.getScore=function(){return this.score},t.prototype.getAppUUID=function(){return this.appUUID},t.prototype.getIndexUUID=function(){return this.indexUUID},t.prototype.toArray=function(){var t={uuid:this.uuid.toArray()};return this.coordinate instanceof o.Coordinate&&(t.coordinate=this.coordinate.toArray()),Object.keys(this.metadata).length>0&&(t.metadata=this.metadata),Object.keys(this.indexedMetadata).length>0&&(t.indexed_metadata=this.indexedMetadata),Object.keys(this.searchableMetadata).length>0&&(t.searchable_metadata=this.searchableMetadata),this.exactMatchingMetadata.length>0&&(t.exact_matching_metadata=this.exactMatchingMetadata),this.suggest.length>0&&(t.suggest=this.suggest),Object.keys(this.highlights).length>0&&(t.highlights=this.highlights),this.isPromoted()&&(t.is_promoted=!0),void 0!==this.distance&&(t.distance=this.distance),void 0!==this.score&&(t.score=this.score),void 0!==this.appUUID&&(t.app_uuid=this.appUUID.toArray()),void 0!==this.indexUUID&&(t.index_uuid=this.indexUUID.toArray()),t},t.createFromArray=function(e){if("object"!=typeof(e=JSON.parse(JSON.stringify(e))).uuid)throw i.InvalidFormatError.itemUUIDRepresentationNotValid();if(void 0!==e.coordinate&&"object"!=typeof e.coordinate)throw i.InvalidFormatError.coordinateFormatNotValid();var r="object"==typeof e.coordinate&&null!=e.coordinate?t.createLocated(s.ItemUUID.createFromArray(e.uuid),o.Coordinate.createFromArray(e.coordinate),void 0===e.metadata?{}:e.metadata,void 0===e.indexed_metadata?{}:e.indexed_metadata,void 0===e.searchable_metadata?{}:e.searchable_metadata,void 0===e.exact_matching_metadata?[]:e.exact_matching_metadata,void 0===e.suggest?[]:e.suggest):t.create(s.ItemUUID.createFromArray(e.uuid),void 0===e.metadata?{}:e.metadata,void 0===e.indexed_metadata?{}:e.indexed_metadata,void 0===e.searchable_metadata?{}:e.searchable_metadata,void 0===e.exact_matching_metadata?[]:e.exact_matching_metadata,void 0===e.suggest?[]:e.suggest);return void 0!==e.distance&&null!=e.distance&&(r.distance=e.distance),"object"==typeof e.highlights&&null!=e.highlights&&(r.highlights=e.highlights),void 0!==e.is_promoted&&null!=e.is_promoted&&(r.promoted=e.is_promoted),void 0!==e.score&&null!=e.score&&(r.score=e.score),void 0!==e.app_uuid&&null!=e.app_uuid&&(r.appUUID=a.AppUUID.createFromArray(e.app_uuid)),void 0!==e.index_uuid&&null!=e.index_uuid&&(r.indexUUID=u.IndexUUID.createFromArray(e.index_uuid)),r},t.prototype.composeUUID=function(){return this.uuid.composedUUID()},t.getPathByField=function(t){return["id","type"].indexOf(t)>-1?"uuid."+t:"indexed_metadata."+t},t}();e.Item=c},3683:(t,e,r)=>{"use strict";e.__esModule=!0,e.ItemUUID=void 0;var n=r(9081),i=function(){function t(t,e){this.id=t,this.type=e}return t.createByComposedUUID=function(e){var r=e.split("~");if(2!=r.length)throw n.InvalidFormatError.composedItemUUIDNotValid();return new t(r[0],r[1])},t.prototype.getId=function(){return this.id},t.prototype.getType=function(){return this.type},t.prototype.toArray=function(){return{id:this.id,type:this.type}},t.createFromArray=function(e){return new t((e=JSON.parse(JSON.stringify(e))).id,e.type)},t.prototype.composedUUID=function(){return this.id+"~"+this.type},t}();e.ItemUUID=i},7031:(t,e)=>{"use strict";e.__esModule=!0,e.Metadata=void 0;var r=function(){function t(){}return t.toMetadata=function(t){t=JSON.parse(JSON.stringify(t));var e=[];for(var r in t)e.push(r+"##"+t[r]);return e.join("~~")},t.fromMetadata=function(t){var e={},r=t.split("~~"),n=0,i=0,o=null;for(var s in r){var a=r[s],u=a.split("##");u.length>1?(o=u[1],e[u[0]]=o):(o=a,e[n++]=o),i++}return 1==i&&(e={id:o,name:o}),void 0===e.id?null:e},t}();e.Metadata=r},559:(t,e,r)=>{"use strict";e.__esModule=!0,e.User=void 0;var n=r(9081),i=function(){function t(t,e){void 0===e&&(e={}),this.id=t,this.attributes=e}return t.prototype.getId=function(){return this.id},t.prototype.getAttributes=function(){return this.attributes},t.prototype.toArray=function(){var t={id:this.id};return Object.keys(this.attributes).length>0&&(t.attributes=this.attributes),t},t.createFromArray=function(e){if(null==e||void 0===e.id||null==e.id)throw n.InvalidFormatError.userFormatNotValid();var r=typeof e.attributes==typeof{}?e.attributes:{};return new t(e.id,r)},t}();e.User=i},1341:(t,e,r)=>{"use strict";e.__esModule=!0,e.Aggregation=e.AGGREGATION_NO_LIMIT=e.AGGREGATION_SORT_BY_NAME_DESC=e.AGGREGATION_SORT_BY_NAME_ASC=e.AGGREGATION_SORT_BY_COUNT_DESC=e.AGGREGATION_SORT_BY_COUNT_ASC=void 0;var n=r(5908);e.AGGREGATION_SORT_BY_COUNT_ASC=["_count","asc"],e.AGGREGATION_SORT_BY_COUNT_DESC=["_count","desc"],e.AGGREGATION_SORT_BY_NAME_ASC=["_term","asc"],e.AGGREGATION_SORT_BY_NAME_DESC=["_term","desc"],e.AGGREGATION_NO_LIMIT=0;var i=function(){function t(t,e,r,n,i,o,s,a){this.subgroup=[],this.name=t,this.field=e,this.applicationType=r,this.filterType=n,this.subgroup=i,this.sort=o,this.limit=s,this.promoted=a}return t.prototype.getName=function(){return this.name},t.prototype.getField=function(){return this.field},t.prototype.getApplicationType=function(){return this.applicationType},t.prototype.getFilterType=function(){return this.filterType},t.prototype.getSubgroup=function(){return this.subgroup},t.prototype.getSort=function(){return this.sort},t.prototype.getLimit=function(){return this.limit},t.prototype.getPromoted=function(){return this.promoted},t.create=function(r,n,i,o,s,a,u,c){return void 0===s&&(s=[]),void 0===a&&(a=e.AGGREGATION_SORT_BY_COUNT_DESC),void 0===u&&(u=e.AGGREGATION_NO_LIMIT),void 0===c&&(c=[]),new t(r,n,i,o,s,a,u,c)},t.prototype.toArray=function(){var t={name:this.name};return"uuid.type"!==this.field&&(t.field=this.field),this.applicationType!==n.FILTER_AT_LEAST_ONE&&(t.application_type=this.applicationType),this.filterType!==n.FILTER_TYPE_FIELD&&(t.filter_type=this.filterType),this.subgroup.length>0&&(t.subgroup=this.subgroup),JSON.stringify(this.sort)!==JSON.stringify(e.AGGREGATION_SORT_BY_COUNT_DESC)&&(t.sort=this.sort),this.limit!==e.AGGREGATION_NO_LIMIT&&(t.limit=this.limit),this.promoted.length>0&&(t.promoted=this.promoted),t},t.createFromArray=function(r){return void 0===(r=JSON.parse(JSON.stringify(r))).field&&(r.field="uuid.type"),void 0===r.application_type&&(r.application_type=n.FILTER_AT_LEAST_ONE),void 0===r.filter_type&&(r.filter_type=n.FILTER_TYPE_FIELD),void 0===r.subgroup&&(r.subgroup=[]),void 0===r.sort&&(r.sort=e.AGGREGATION_SORT_BY_COUNT_DESC),void 0===r.limit&&(r.limit=e.AGGREGATION_NO_LIMIT),void 0===r.promoted&&(r.promoted=[]),t.create(r.name,r.field,r.application_type,r.filter_type,r.subgroup,r.sort,r.limit,r.promoted)},t}();e.Aggregation=i},5908:(t,e)=>{"use strict";e.__esModule=!0,e.Filter=e.FILTER_TYPE_QUERY=e.FILTER_TYPE_GEO=e.FILTER_TYPE_DATE_RANGE=e.FILTER_TYPE_RANGE=e.FILTER_TYPE_FIELD=e.FILTER_PROMOTE=e.FILTER_EXCLUDE=e.FILTER_AT_LEAST_ONE=e.FILTER_MUST_ALL_WITH_LEVELS=e.FILTER_MUST_ALL=void 0,e.FILTER_MUST_ALL=4,e.FILTER_MUST_ALL_WITH_LEVELS=5,e.FILTER_AT_LEAST_ONE=8,e.FILTER_EXCLUDE=16,e.FILTER_PROMOTE=32,e.FILTER_TYPE_FIELD="field",e.FILTER_TYPE_RANGE="range",e.FILTER_TYPE_DATE_RANGE="date_range",e.FILTER_TYPE_GEO="geo",e.FILTER_TYPE_QUERY="query";var r=function(){function t(t,e,r,n,i){this.field=t,this.values=e,this.applicationType=r,this.filterType=n,this.filterTerms=i}return t.prototype.getField=function(){return this.field},t.prototype.getValues=function(){return this.values},t.prototype.hasValue=function(t){return void 0===this.values[t]},t.prototype.getApplicationType=function(){return this.applicationType},t.prototype.getFilterType=function(){return this.filterType},t.prototype.getFilterTerms=function(){return this.filterTerms},t.create=function(e,r,n,i,o){return void 0===o&&(o=[]),new t(e,r,n,i,o)},t.prototype.toArray=function(){var t={};return"uuid.type"!=this.field&&(t.field=this.field),(this.values.length>0||Object.keys(this.values).length>0)&&(t.values=this.values),this.applicationType!=e.FILTER_AT_LEAST_ONE&&(t.application_type=this.applicationType),this.filterType!=e.FILTER_TYPE_FIELD&&(t.filter_type=this.filterType),this.filterTerms.length>0&&(t.filter_terms=this.filterTerms),t},t.createFromArray=function(r){return void 0===(r=JSON.parse(JSON.stringify(r))).field&&(r.field="uuid.type"),void 0===r.values&&(r.values=[]),void 0===r.application_type&&(r.application_type=e.FILTER_AT_LEAST_ONE),void 0===r.filter_type&&(r.filter_type=e.FILTER_TYPE_FIELD),void 0===r.filter_terms&&(r.filter_terms=[]),t.create(r.field,r.values,r.application_type,r.filter_type,r.filter_terms)},t}();e.Filter=r},4481:(t,e,r)=>{"use strict";e.__esModule=!0,e.Query=e.NO_MIN_SCORE=e.QUERY_DEFAULT_SIZE=e.QUERY_DEFAULT_PAGE=void 0;var n=r(655),i=r(5343),o=r(3683),s=r(4232),a=r(559),u=r(1341),c=r(5908),l=r(5908),p=r(1341),d=r(9081),f=r(5908),h=r(318),_=r(41),g=r(2312);e.QUERY_DEFAULT_PAGE=1,e.QUERY_DEFAULT_SIZE=10,e.NO_MIN_SCORE=0;var y=function(){function t(t){this.UUID=null,this.fields=[],this.universeFilters={},this.filters={},this.itemsPromoted=[],this.aggregations={},this.resultsEnabled=!0,this.aggregationsEnabled=!0,this.numberOfSuggestions=0,this.highlightsEnabled=!1,this.autocompleteEnabled=!1,this.searchableFields=[],this.fuzziness=null,this.minScore=e.NO_MIN_SCORE,this.metadata={},this.subqueries={},this.queryOperator=null,this.sortByInstance=_.SortBy.create(),this.filters._query=c.Filter.create("",[t],0,f.FILTER_TYPE_QUERY)}return t.createLocated=function(r,n,i,o){void 0===i&&(i=e.QUERY_DEFAULT_PAGE),void 0===o&&(o=e.QUERY_DEFAULT_SIZE);var s=t.create(n,i,o);return s.coordinate=r,s},t.create=function(r,n,i){void 0===n&&(n=e.QUERY_DEFAULT_PAGE),void 0===i&&(i=e.QUERY_DEFAULT_SIZE),n=Math.max(1,n);var o=new t(r);return o.from=(n-1)*i,o.size=i,o.page=n,o},t.createMatchAll=function(){return t.create("",e.QUERY_DEFAULT_PAGE,e.QUERY_DEFAULT_SIZE)},t.createByUUID=function(e){return t.createByUUIDs(e)},t.createByUUIDs=function(){for(var r=[],n=0;n0?this.universeFilters=n.__assign(n.__assign({},this.universeFilters),((e={}).type=c.Filter.create(r,t,l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_FIELD),e)):delete this.universeFilters.type,this},t.prototype.filterByTypes=function(t,e,r){var i,o;void 0===e&&(e=!0),void 0===r&&(r=p.AGGREGATION_SORT_BY_COUNT_DESC);var a=s.Item.getPathByField("type");return t.length>0?this.filters=n.__assign(n.__assign({},this.filters),((i={}).type=c.Filter.create(a,t,l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_FIELD),i)):delete this.filters.type,e&&(this.aggregations=n.__assign(n.__assign({},this.aggregations),((o={}).type=u.Aggregation.create("type",a,l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_FIELD,[],r),o))),this},t.prototype.filterUniverseByIds=function(t){var e,r=s.Item.getPathByField("id");return t.length>0?this.universeFilters=n.__assign(n.__assign({},this.universeFilters),((e={}).id=c.Filter.create(r,t,l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_FIELD),e)):delete this.universeFilters.id,this},t.prototype.filterByIds=function(t){var e,r=s.Item.getPathByField("id");return t.length>0?this.filters=n.__assign(n.__assign({},this.filters),((e={}).id=c.Filter.create(r,t,l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_FIELD),e)):delete this.filters.id,this},t.prototype.filterUniverseBy=function(t,e,r){var i;void 0===r&&(r=l.FILTER_AT_LEAST_ONE);var o=s.Item.getPathByField(t);return e.length>0?this.universeFilters=n.__assign(n.__assign({},this.universeFilters),((i={})[t]=c.Filter.create(o,e,r,l.FILTER_TYPE_FIELD),i)):delete this.universeFilters[t],this},t.prototype.filterBy=function(t,e,r,i,o,a){var u;void 0===i&&(i=l.FILTER_AT_LEAST_ONE),void 0===o&&(o=!0),void 0===a&&(a=p.AGGREGATION_SORT_BY_COUNT_DESC);var d=s.Item.getPathByField(e);return r.length>0?this.filters=n.__assign(n.__assign({},this.filters),((u={})[t]=c.Filter.create(d,r,i,l.FILTER_TYPE_FIELD),u)):delete this.filters[t],o&&this.aggregateBy(t,e,i,a),this},t.prototype.filterUniverseByRange=function(t,e,r,i){var o;void 0===r&&(r=l.FILTER_AT_LEAST_ONE),void 0===i&&(i=l.FILTER_TYPE_RANGE);var a=s.Item.getPathByField(t);return e.length>0?this.universeFilters=n.__assign(n.__assign({},this.universeFilters),((o={})[t]=c.Filter.create(a,e,r,i),o)):delete this.universeFilters[t],this},t.prototype.filterUniverseByDateRange=function(t,e,r){return void 0===r&&(r=l.FILTER_AT_LEAST_ONE),this.filterUniverseByRange(t,e,r,l.FILTER_TYPE_DATE_RANGE)},t.prototype.filterByRange=function(t,e,r,i,o,a,u,d){var f;void 0===o&&(o=l.FILTER_AT_LEAST_ONE),void 0===a&&(a=l.FILTER_TYPE_RANGE),void 0===u&&(u=!0),void 0===d&&(d=p.AGGREGATION_SORT_BY_COUNT_DESC);var h=s.Item.getPathByField(e);return 0!==i.length?this.filters=n.__assign(n.__assign({},this.filters),((f={})[t]=c.Filter.create(h,i,o,a),f)):delete this.filters[t],u&&this.aggregateByRange(t,h,r,o,a,d),this},t.prototype.filterByDateRange=function(t,e,r,n,i,o,s){return void 0===i&&(i=l.FILTER_AT_LEAST_ONE),void 0===o&&(o=!0),void 0===s&&(s=p.AGGREGATION_SORT_BY_COUNT_DESC),this.filterByRange(t,e,r,n,i,l.FILTER_TYPE_DATE_RANGE,o,s)},t.prototype.filterUniverseByLocation=function(t){var e;return this.universeFilters=n.__assign(n.__assign({},this.universeFilters),((e={}).coordinate=c.Filter.create("coordinate",t.toArray(),l.FILTER_AT_LEAST_ONE,l.FILTER_TYPE_GEO),e)),this},t.prototype.setSearchableFields=function(t){return this.searchableFields=t,this},t.prototype.getSearchableFields=function(){return this.searchableFields},t.prototype.sortBy=function(t){if(t.isSortedByGeoDistance()){if(!(this.coordinate instanceof i.Coordinate))throw d.InvalidFormatError.querySortedByDistanceWithoutCoordinate();t.setCoordinate(this.coordinate)}return this.sortByInstance=t,this},t.prototype.aggregateBy=function(t,e,r,i,o,a){var c;return void 0===i&&(i=p.AGGREGATION_SORT_BY_COUNT_DESC),void 0===o&&(o=p.AGGREGATION_NO_LIMIT),void 0===a&&(a=[]),this.aggregations=n.__assign(n.__assign({},this.aggregations),((c={})[t]=u.Aggregation.create(t,s.Item.getPathByField(e),r,l.FILTER_TYPE_FIELD,[],i,o,a),c)),this},t.prototype.aggregateByRange=function(t,e,r,i,o,a,c,d){var f;return void 0===o&&(o=l.FILTER_TYPE_RANGE),void 0===a&&(a=p.AGGREGATION_SORT_BY_COUNT_DESC),void 0===c&&(c=p.AGGREGATION_NO_LIMIT),void 0===d&&(d=[]),0===r.length||(this.aggregations=n.__assign(n.__assign({},this.aggregations),((f={})[t]=u.Aggregation.create(t,s.Item.getPathByField(e),i,o,r,a,c,d),f))),this},t.prototype.aggregateByDateRange=function(t,e,r,n,i,o,s){return void 0===i&&(i=p.AGGREGATION_SORT_BY_COUNT_DESC),void 0===o&&(o=p.AGGREGATION_NO_LIMIT),void 0===s&&(s=[]),this.aggregateByRange(t,e,r,n,l.FILTER_TYPE_DATE_RANGE,i,o,s)},t.prototype.getAggregations=function(){return this.aggregations},t.prototype.getAggregation=function(t){return this.aggregations[t]instanceof u.Aggregation?this.aggregations[t]:null},t.prototype.getQueryText=function(){var t=this.filters._query;return t instanceof c.Filter?t.getValues()[0]:""},t.prototype.getUniverseFilters=function(){return this.universeFilters},t.prototype.getUniverseFilter=function(t){return this.universeFilters[t]instanceof c.Filter?this.universeFilters[t]:null},t.prototype.getFilters=function(){return this.filters},t.prototype.getFilter=function(t){return this.filters[t]instanceof c.Filter?this.filters[t]:null},t.prototype.getFilterByField=function(t){var e=s.Item.getPathByField(t);for(var r in this.filters)if(this.filters[r].getField()==e)return this.filters[r];return null},t.prototype.getSortBy=function(){return this.sortByInstance},t.prototype.getFrom=function(){return this.from},t.prototype.getSize=function(){return this.size},t.prototype.getPage=function(){return this.page},t.prototype.enableResults=function(){return this.resultsEnabled=!0,this},t.prototype.disableResults=function(){return this.resultsEnabled=!1,this},t.prototype.areResultsEnabled=function(){return this.resultsEnabled},t.prototype.enableAggregations=function(){return this.aggregationsEnabled=!0,this},t.prototype.disableAggregations=function(){return this.aggregationsEnabled=!1,this},t.prototype.areAggregationsEnabled=function(){return this.aggregationsEnabled},t.prototype.setNumberOfSuggestions=function(t){return this.numberOfSuggestions=t,this},t.prototype.disableSuggestions=function(){return this.numberOfSuggestions=0,this},t.prototype.getNumberOfSuggestions=function(){return this.numberOfSuggestions},t.prototype.enableAutocomplete=function(){return this.autocompleteEnabled=!0,this},t.prototype.disableAutocomplete=function(){return this.autocompleteEnabled=!1,this},t.prototype.areAutocompleteEnabled=function(){return this.autocompleteEnabled},t.prototype.enableHighlights=function(){return this.highlightsEnabled=!0,this},t.prototype.disableHighlights=function(){return this.highlightsEnabled=!1,this},t.prototype.areHighlightsEnabled=function(){return this.highlightsEnabled},t.prototype.promoteUUID=function(t){return this.itemsPromoted.push(t),this},t.prototype.promoteUUIDs=function(){for(var t=[],e=0;e0&&(t.fields=this.fields),Object.keys(this.universeFilters).length)for(var r in t.universe_filters={},this.universeFilters){var n=this.universeFilters[r];t.universe_filters[r]=n.toArray()}if(this.filters instanceof Object&&Object.keys(this.filters).length){var o={};for(var r in this.filters){var s=this.filters[r];s.getFilterType()!==f.FILTER_TYPE_QUERY&&(o[r]=s.toArray())}Object.keys(o).length>0&&(t.filters=o)}if(this.aggregations instanceof Object&&Object.keys(this.aggregations).length)for(var r in t.aggregations={},this.aggregations){var u=this.aggregations[r];t.aggregations[r]=u.toArray()}var c=this.sortByInstance.toArray();Object.keys(c).length&&(t.sort=c);var l=this.page;l!==e.QUERY_DEFAULT_PAGE&&(t.page=l);var p=this.size;if(p!==e.QUERY_DEFAULT_SIZE&&(t.size=p),!1===this.resultsEnabled&&(t.results_enabled=!1),!0===this.autocompleteEnabled&&(t.autocomplete_enabled=!0),0!==this.numberOfSuggestions&&(t.number_of_suggestions=this.numberOfSuggestions),!0===this.highlightsEnabled&&(t.highlight_enabled=!0),!1===this.aggregationsEnabled&&(t.aggregations_enabled=!1),this.searchableFields instanceof Array&&this.searchableFields.length>0&&(t.searchable_fields=this.searchableFields),this.scoreStrategies instanceof h.ScoreStrategies){var d=this.scoreStrategies.toArray();Object.keys(d).length>0&&(t.score_strategies=d)}null!==this.fuzziness&&(t.fuzziness=this.fuzziness);var _=this.minScore;if(_!==e.NO_MIN_SCORE&&(t.min_score=_),this.user instanceof a.User&&(t.user=this.user.toArray()),Object.keys(this.metadata).length>0&&(t.metadata=this.metadata),this.subqueries instanceof Object&&Object.keys(this.subqueries).length)for(var r in t.subqueries={},this.subqueries){var y=this.subqueries[r];t.subqueries[r]=y.toArray()}if(this.indexUUID instanceof g.IndexUUID&&(t.index_uuid=this.indexUUID.toArray()),this.itemsPromoted.length>0)for(var r in t.items_promoted=[],this.itemsPromoted)t.items_promoted.push(this.itemsPromoted[r].toArray());return"or"!==this.queryOperator&&null!==this.queryOperator&&(t.query_operator=this.queryOperator),t},t.createFromArray=function(r){var n=r.coordinate instanceof Object?t.createLocated(i.Coordinate.createFromArray(r.coordinate),r.q?r.q:"",r.page?r.page:e.QUERY_DEFAULT_PAGE,r.size?r.size:e.QUERY_DEFAULT_SIZE):t.create(r.q?r.q:"",r.page?r.page:e.QUERY_DEFAULT_PAGE,r.size?r.size:e.QUERY_DEFAULT_SIZE);n.UUID="string"==typeof r.UUID?r.UUID:void 0,n.fields=r.fields instanceof Array?r.fields:[];var s=typeof r.aggregations==typeof{}?r.aggregations:{};for(var l in s)n.aggregations[l]=u.Aggregation.createFromArray(s[l]);var p=typeof r.sort==typeof{}?r.sort:{};Object.keys(p).length>0&&(n.sortByInstance=_.SortBy.createFromArray(p));var d=typeof r.filters==typeof{}?r.filters:{};for(var l in d)n.filters[l]=c.Filter.createFromArray(d[l]);var f=typeof r.universe_filters==typeof{}?r.universe_filters:{};for(var l in f)n.universeFilters[l]=c.Filter.createFromArray(f[l]);n.resultsEnabled="boolean"!=typeof r.results_enabled||r.results_enabled,n.numberOfSuggestions="number"==typeof r.number_of_suggestions?r.number_of_suggestions:0,n.autocompleteEnabled="boolean"==typeof r.autocomplete_enabled&&r.autocomplete_enabled,n.aggregationsEnabled="boolean"!=typeof r.aggregations_enabled||r.aggregations_enabled,n.highlightsEnabled="boolean"==typeof r.highlight_enabled&&r.highlight_enabled,n.fuzziness=r.fuzziness?r.fuzziness:null,n.minScore=r.min_score?r.min_score:e.NO_MIN_SCORE;var y=typeof r.items_promoted==typeof{}?r.items_promoted:{};for(var l in y)n.itemsPromoted.push(o.ItemUUID.createFromArray(y[l]));var E=typeof r.subqueries==typeof{}?r.subqueries:{};for(var l in E)n.subqueries[l]=t.createFromArray(E[l]);return n.metadata=typeof r.metadata==typeof{}?r.metadata:{},n.searchableFields=r.searchable_fields instanceof Array?r.searchable_fields:[],n.scoreStrategies=r.score_strategies instanceof Object?h.ScoreStrategies.createFromArray(r.score_strategies):void 0,n.user=r.user instanceof Object?a.User.createFromArray(r.user):void 0,n.indexUUID=r.index_uuid instanceof Object?g.IndexUUID.createFromArray(r.index_uuid):void 0,n.queryOperator="string"==typeof r.query_operator?r.query_operator:"or",n},t}();e.Query=y},6196:(t,e)=>{"use strict";e.__esModule=!0,e.Range=e.RANGE_SEPARATOR=e.RANGE_INFINITE=e.RANGE_MINUS_INFINITE=void 0,e.RANGE_MINUS_INFINITE=null,e.RANGE_INFINITE=null,e.RANGE_SEPARATOR="..";var r=function(){function t(){}return t.stringToArray=function(t){var r=t.split(e.RANGE_SEPARATOR),n=r[0],i=r[1],o=e.RANGE_MINUS_INFINITE,s=e.RANGE_INFINITE;return""!=n&&(o=parseInt(n)),""!=i&&(s=parseInt(i)),[o,s]},t.arrayToString=function(t){var r=["",""];return t[0]!=e.RANGE_MINUS_INFINITE&&(r[0]=String(t[0])),t[1]!=e.RANGE_INFINITE&&(r[1]=String(t[1])),r.join(e.RANGE_SEPARATOR)},t.createRanges=function(t,r,n){for(var i,o=[];t{"use strict";e.__esModule=!0,e.ScoreStrategies=e.MIN=e.MAX=e.AVG=e.SUM=e.MULTIPLY=void 0;var n=r(8207);e.MULTIPLY="multiply",e.SUM="sum",e.AVG="avg",e.MAX="max",e.MIN="min";var i=function(){function t(){this.scoreStrategies=[]}return t.createEmpty=function(r){void 0===r&&(r=e.SUM);var n=new t;return n.scoreMode=r,n},t.prototype.addScoreStrategy=function(t){return this.scoreStrategies.push(t),this},t.prototype.getScoreStrategies=function(){return this.scoreStrategies},t.prototype.getScoreMode=function(){return this.scoreMode},t.prototype.toArray=function(){var t=[];for(var e in this.scoreStrategies)t.push(this.scoreStrategies[e].toArray());return{score_mode:this.scoreMode,score_strategies:t}},t.createFromArray=function(e){var r=void 0!==(e=JSON.parse(JSON.stringify(e))).score_mode?t.createEmpty(e.score_mode):t.createEmpty();for(var i in r.scoreStrategies=[],e.score_strategies)r.scoreStrategies.push(n.ScoreStrategy.createFromArray(e.score_strategies[i]));return r},t}();e.ScoreStrategies=i},8207:(t,e,r)=>{"use strict";e.__esModule=!0,e.ScoreStrategy=e.DEFAULT_FACTOR=e.DEFAULT_MISSING=e.SCORE_MODE_MIN=e.SCORE_MODE_MAX=e.SCORE_MODE_AVG=e.SCORE_MODE_SUM=e.SCORE_MODE_NONE=e.MODIFIER_SQUARE=e.MODIFIER_LN=e.MODIFIER_LOG=e.MODIFIER_SQRT=e.MODIFIER_NONE=e.DECAY_GAUSS=e.DECAY_EXP=e.DECAY_LINEAR=e.DECAY=e.CUSTOM_FUNCTION=e.BOOSTING_FIELD_VALUE=e.DEFAULT_WEIGHT=e.DEFAULT_TYPE=void 0;var n=r(4232),i=r(5908);e.DEFAULT_TYPE="default",e.DEFAULT_WEIGHT=1,e.BOOSTING_FIELD_VALUE="field_value",e.CUSTOM_FUNCTION="custom_function",e.DECAY="decay",e.DECAY_LINEAR="linear",e.DECAY_EXP="exp",e.DECAY_GAUSS="gauss",e.MODIFIER_NONE="none",e.MODIFIER_SQRT="sqrt",e.MODIFIER_LOG="log",e.MODIFIER_LN="ln",e.MODIFIER_SQUARE="square",e.SCORE_MODE_NONE="none",e.SCORE_MODE_SUM="sum",e.SCORE_MODE_AVG="avg",e.SCORE_MODE_MAX="max",e.SCORE_MODE_MIN="min",e.DEFAULT_MISSING=1,e.DEFAULT_FACTOR=1;var o=function(){function t(){this.type=e.DEFAULT_TYPE,this.filter=null,this.weight=e.DEFAULT_WEIGHT,this.scoreMode=e.SCORE_MODE_AVG,this.configuration={}}return t.prototype.getType=function(){return this.type},t.prototype.getConfigurationValue=function(t){return void 0===this.configuration[t]?null:this.configuration[t]},t.prototype.getWeight=function(){return this.weight},t.prototype.getScoreMode=function(){return this.scoreMode},t.prototype.getFilter=function(){return this.filter},t.createDefault=function(){return new t},t.createFieldBoosting=function(r,n,i,o,s,a,u){void 0===n&&(n=e.DEFAULT_FACTOR),void 0===i&&(i=e.DEFAULT_MISSING),void 0===o&&(o=e.MODIFIER_NONE),void 0===s&&(s=e.DEFAULT_WEIGHT),void 0===a&&(a=null),void 0===u&&(u=e.SCORE_MODE_AVG);var c=t.createDefault();return c.type=e.BOOSTING_FIELD_VALUE,c.configuration.field=r,c.configuration.factor=n,c.configuration.missing=i,c.configuration.modifier=o,c.weight=s,c.filter=t.fixFilterFieldPath(a),c.scoreMode=u,c},t.createCustomFunction=function(r,n,i,o){void 0===n&&(n=e.DEFAULT_WEIGHT),void 0===i&&(i=null),void 0===o&&(o=e.SCORE_MODE_AVG);var s=t.createDefault();return s.type=e.CUSTOM_FUNCTION,s.configuration.function=r,s.weight=n,s.filter=t.fixFilterFieldPath(i),s.scoreMode=o,s},t.createDecayFunction=function(r,n,i,o,s,a,u,c,l){void 0===u&&(u=e.DEFAULT_WEIGHT),void 0===c&&(c=null),void 0===l&&(l=e.SCORE_MODE_AVG);var p=t.createDefault();return p.type=e.DECAY,p.configuration.type=r,p.configuration.field=n,p.configuration.origin=i,p.configuration.scale=o,p.configuration.offset=s,p.configuration.decay=a,p.weight=u,p.filter=t.fixFilterFieldPath(c),p.scoreMode=l,p},t.fixFilterFieldPath=function(t){if(null==t)return t;var e=t.toArray();return e.field=n.Item.getPathByField(e.field),i.Filter.createFromArray(e)},t.prototype.toArray=function(){return{type:this.type,configuration:this.configuration,weight:this.weight,score_mode:this.scoreMode,filter:this.filter instanceof i.Filter?this.filter.toArray():null}},t.createFromArray=function(e){e=JSON.parse(JSON.stringify(e));var r=t.createDefault();return void 0!==e.type&&(r.type=e.type),void 0!==e.configuration&&(r.configuration=e.configuration),void 0!==e.weight&&(r.weight=e.weight),void 0!==e.score_mode&&(r.scoreMode=e.score_mode),"object"==typeof e.filter&&null!==e.filter&&(r.filter=i.Filter.createFromArray(e.filter)),r},t}();e.ScoreStrategy=o},41:(t,e,r)=>{"use strict";e.__esModule=!0,e.SortBy=e.SORT_BY_LOCATION_MI_ASC=e.SORT_BY_LOCATION_KM_ASC=e.SORT_BY_TYPE_DESC=e.SORT_BY_TYPE_ASC=e.SORT_BY_ID_DESC=e.SORT_BY_ID_ASC=e.SORT_BY_AL_TUN_TUN=e.SORT_BY_RANDOM=e.SORT_BY_SCORE=e.SORT_BY_MODE_MEDIAN=e.SORT_BY_MODE_MAX=e.SORT_BY_MODE_MIN=e.SORT_BY_MODE_SUM=e.SORT_BY_MODE_AVG=e.SORT_BY_DESC=e.SORT_BY_ASC=e.SORT_BY_TYPE_RANDOM=e.SORT_BY_TYPE_FUNCTION=e.SORT_BY_TYPE_DISTANCE=e.SORT_BY_TYPE_SCORE=e.SORT_BY_TYPE_NESTED=e.SORT_BY_TYPE_FIELD=void 0;var n=r(3607),i=r(5908);e.SORT_BY_TYPE_FIELD="field",e.SORT_BY_TYPE_NESTED="nested",e.SORT_BY_TYPE_SCORE="score",e.SORT_BY_TYPE_DISTANCE="distance",e.SORT_BY_TYPE_FUNCTION="function",e.SORT_BY_TYPE_RANDOM="random",e.SORT_BY_ASC="asc",e.SORT_BY_DESC="desc",e.SORT_BY_MODE_AVG="avg",e.SORT_BY_MODE_SUM="sum",e.SORT_BY_MODE_MIN="min",e.SORT_BY_MODE_MAX="max",e.SORT_BY_MODE_MEDIAN="median",e.SORT_BY_SCORE={type:e.SORT_BY_TYPE_SCORE},e.SORT_BY_RANDOM={type:e.SORT_BY_TYPE_RANDOM},e.SORT_BY_AL_TUN_TUN=e.SORT_BY_RANDOM,e.SORT_BY_ID_ASC={field:"uuid.id",order:e.SORT_BY_ASC},e.SORT_BY_ID_DESC={field:"uuid.id",order:e.SORT_BY_DESC},e.SORT_BY_TYPE_ASC={field:"uuid.type",order:e.SORT_BY_ASC},e.SORT_BY_TYPE_DESC={field:"uuid.type",order:e.SORT_BY_DESC},e.SORT_BY_LOCATION_KM_ASC={type:e.SORT_BY_TYPE_DISTANCE,unit:"km"},e.SORT_BY_LOCATION_MI_ASC={type:e.SORT_BY_TYPE_DISTANCE,unit:"mi"};var o=function(){function t(){this.sortsBy=[]}return t.create=function(){return new t},t.byFieldsValues=function(e){var r=t.create();for(var n in e)r.byFieldValue(n,e[n]);return r},t.prototype.all=function(){return this.sortsBy.length>0?this.sortsBy:[e.SORT_BY_SCORE]},t.prototype.byValue=function(t){return e.SORT_BY_SCORE!=t&&e.SORT_BY_RANDOM!=t&&void 0===t.type&&(t.type=e.SORT_BY_TYPE_FIELD),e.SORT_BY_SCORE!=t&&this.sortsBy.push(t),this},t.prototype.byFieldValue=function(t,r){return this.sortsBy.push({type:e.SORT_BY_TYPE_FIELD,field:n.Item.getPathByField(t),order:r}),this},t.prototype.byNestedField=function(t,r,n){return void 0===n&&(n=e.SORT_BY_MODE_AVG),this.sortsBy.push({type:e.SORT_BY_TYPE_NESTED,mode:n,field:"indexed_metadata."+t,order:r}),this},t.prototype.byNestedFieldAndFilter=function(t,r,o,s){void 0===s&&(s=e.SORT_BY_MODE_AVG);var a=n.Item.getPathByField(o.getField()),u=o.toArray();return u.field=a,o=i.Filter.createFromArray(u),this.sortsBy.push({type:e.SORT_BY_TYPE_NESTED,mode:s,filter:o,field:"indexed_metadata."+t,order:r}),this},t.prototype.byFunction=function(t,r){return this.sortsBy.push({type:e.SORT_BY_TYPE_FUNCTION,function:t,order:r}),this},t.prototype.isSortedByGeoDistance=function(){for(var t in this.sortsBy)if(this.sortsBy[t].type===e.SORT_BY_TYPE_DISTANCE)return!0;return!1},t.prototype.setCoordinate=function(t){for(var r in this.sortsBy)this.sortsBy[r].type===e.SORT_BY_TYPE_DISTANCE&&(this.sortsBy[r].coordinate=t);return this},t.prototype.hasRandomSort=function(){for(var t in this.sortsBy)if(this.sortsBy[t].type===e.SORT_BY_TYPE_RANDOM)return!0;return!1},t.prototype.getFirstSortAsString=function(){if(void 0===this.sortsBy[0])return"score";var t=this.sortsBy[0];if(t.type===e.SORT_BY_TYPE_RANDOM)return"random";if(t.type===e.SORT_BY_TYPE_DISTANCE)return t.type+":"+t.unit;if(t.type===e.SORT_BY_TYPE_SCORE)return"score";var r=t.field,n=t.order;return r.split(".")[1]+":"+n},t.prototype.toArray=function(){var t=this.copy().sortsBy;for(var e in t)typeof t[e].filter==typeof{}&&null!=t[e].filter&&(t[e].filter=t[e].filter.toArray()),null!==t[e].coordinate&&t[e].coordinate instanceof n.Coordinate&&(t[e].coordinate=t[e].coordinate.toArray());return t},t.createFromArray=function(r){var o=JSON.parse(JSON.stringify(r)),s=t.create();for(var a in o){var u=o[a];void 0===u.type&&(u.type=e.SORT_BY_TYPE_FIELD),typeof u.filter==typeof{}&&null!=u.filter&&(u.filter=i.Filter.createFromArray(u.filter)),null!=u.coordinate&&typeof u.coordinate==typeof{}&&(u.coordinate=n.Coordinate.createFromArray(u.coordinate)),s.sortsBy.push(u)}return s},t.prototype.copy=function(){var e=t.create();for(var r in this.sortsBy){var o=this.sortsBy[r];if("function"!=typeof o){var s=JSON.parse(JSON.stringify(o));typeof o.filter==typeof{}&&null!=o.filter&&(s.filter=i.Filter.createFromArray(o.filter.toArray())),null!=o.coordinate&&typeof o.coordinate==typeof{}&&(s.coordinate=n.Coordinate.createFromArray(o.coordinate.toArray())),e.sortsBy.push(s)}}return e},t}();e.SortBy=o},4637:(t,e,r)=>{"use strict";e.__esModule=!0,e.HttpRepository=void 0;var n=r(655),i=r(6017),o=r(9081),s=r(9134),a=r(8257),u=r(273),c=r(4587),l=r(9313),p=r(4855),d=r(4232),f=r(3683),h=r(734),_=function(t){function e(e,r,n,i,o){var s=t.call(this,r,n,i)||this;return s.httpClient=e,s.transformer=o,s}return n.__extends(e,t),e.prototype.getTransformer=function(){return this.transformer},e.prototype.addObject=function(t){var e=this.transformer.toItem(t);e instanceof d.Item&&this.addItem(e)},e.prototype.deleteObject=function(t){var e=this.transformer.toItemUUID(t);e instanceof f.ItemUUID&&this.deleteItem(e)},e.prototype.flushUpdateItems=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:if(0===t.length)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId+"/items","put",this.getCredentials(),{},t.map((function(t){return t.toArray()})))];case 2:return n.sent(),[3,4];case 3:throw r=n.sent(),e.createErrorFromResponse(r);case 4:return[2]}}))}))},e.prototype.flushDeleteItems=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:if(0===t.length)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId+"/items","delete",this.getCredentials(),{},t.map((function(t){return t.toArray()})))];case 2:return n.sent(),[3,4];case 3:throw r=n.sent(),e.createErrorFromResponse(r);case 4:return[2]}}))}))},e.prototype.query=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r,i,o,s,a;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId,"get",this.getCredentials(),{query:JSON.stringify(t.optimize().toArray()).replace(/&/g,"%26")},{})];case 1:return r=n.sent(),[3,3];case 2:throw i=n.sent(),e.createErrorFromResponse(i);case 3:return o=h.Result.createFromArray(r.getBody()),o=this.applyTransformersToResult(o),"undefined"==typeof globalThis||"function"!=typeof globalThis.apisearchItemsTransformation?[3,5]:(a=(s=o).withItems,[4,globalThis.apisearchItemsTransformation(o.getItems())]);case 4:a.apply(s,[n.sent()]),n.label=5;case 5:return[2,o]}}))}))},e.prototype.getSimilarItems=function(t,r,i){return n.__awaiter(this,void 0,void 0,(function(){var o,s,a;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId+"/similar-items","get",this.getCredentials(),{},{query:t.toArray(),items_uuid:r.map((function(t){return t.toArray()})),similarity:i})];case 1:return o=n.sent(),[3,3];case 2:throw s=n.sent(),e.createErrorFromResponse(s);case 3:return a=h.Result.createFromArray(o.getBody()),[2,this.applyTransformersToResult(a)]}}))}))},e.prototype.getRecommendedItems=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r,i,o;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId+"/recommended-items","get",this.getCredentials(),{},t.toArray())];case 1:return r=n.sent(),[3,3];case 2:throw i=n.sent(),e.createErrorFromResponse(i);case 3:return o=h.Result.createFromArray(r.getBody()),[2,this.applyTransformersToResult(o)]}}))}))},e.prototype.updateItems=function(t,r){return n.__awaiter(this,void 0,void 0,(function(){var i;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+this.indexId+"/items/update-by-query","put",this.getCredentials(),{},{changes:r.toArray(),query:t.toArray()})];case 1:return n.sent(),[3,3];case 2:throw i=n.sent(),e.createErrorFromResponse(i);case 3:return[2]}}))}))},e.prototype.createIndex=function(t,r){return n.__awaiter(this,void 0,void 0,(function(){var i;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+t.composedUUID(),"put",this.getCredentials(),{},r.toArray())];case 1:return n.sent(),[3,3];case 2:throw i=n.sent(),e.createErrorFromResponse(i);case 3:return[2]}}))}))},e.prototype.deleteIndex=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+t.composedUUID(),"delete",this.getCredentials(),{},{})];case 1:return n.sent(),[3,3];case 2:throw r=n.sent(),e.createErrorFromResponse(r);case 3:return[2]}}))}))},e.prototype.resetIndex=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+t.composedUUID()+"/reset","put",this.getCredentials(),{},{})];case 1:return n.sent(),[3,3];case 2:throw r=n.sent(),e.createErrorFromResponse(r);case 3:return[2]}}))}))},e.prototype.checkIndex=function(t){return n.__awaiter(this,void 0,void 0,(function(){var r,i;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/"+t.composedUUID(),"head",this.getCredentials(),{},{})];case 1:return r=n.sent(),[3,3];case 2:throw i=n.sent(),e.createErrorFromResponse(i);case 3:return[2,200===r.getCode()]}}))}))},e.prototype.getIndices=function(){return n.__awaiter(this,void 0,void 0,(function(){var t,r,i,o,s,a;return n.__generator(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.httpClient.get("/"+this.appId+"/indices/","get",this.getCredentials(),{},{})];case 1:return t=n.sent(),[3,3];case 2:throw r=n.sent(),e.createErrorFromResponse(r);case 3:for(i=[],o=0,s=t.getBody();o0?(Object.keys(e).map(function(t){e[t]=this.applyTransformersToResult(e[t])}.bind(this)),h.Result.createMultiresults(e)):h.Result.create(t.getQueryUUID(),t.getTotalItems(),t.getTotalHits(),t.getAggregations(),t.getSuggestions(),this.transformer.fromItems(t.getItems()),t.getAutocomplete())},e.createErrorFromResponse=function(t){var e;if(t instanceof l.Response)switch(t.getCode()){case u.ResourceNotAvailableError.getTransportableHTTPError():e=new u.ResourceNotAvailableError(t.getBody().message);break;case s.InvalidTokenError.getTransportableHTTPError():e=new s.InvalidTokenError(t.getBody().message);break;case o.InvalidFormatError.getTransportableHTTPError():e=new o.InvalidFormatError(t.getBody().message);break;case a.ResourceExistsError.getTransportableHTTPError():e=new a.ResourceExistsError(t.getBody().message);break;case i.ConnectionError.getTransportableHTTPError():e=new i.ConnectionError(t.getBody().message)}return void 0===e?c.UnknownError.createUnknownError():e},e}(r(6339).Repository);e.HttpRepository=_},6339:(t,e,r)=>{"use strict";e.__esModule=!0,e.Repository=void 0;var n=r(655),i=function(){function t(t,e,r){this.itemsToUpdate=[],this.itemsToDelete=[],this.appId=t,this.indexId=e,this.token=r}return t.prototype.resetCachedElements=function(){this.itemsToUpdate=[],this.itemsToDelete=[]},t.prototype.addItem=function(t){this.itemsToUpdate.push(t)},t.prototype.addItems=function(t){for(var e in t)this.addItem(t[e])},t.prototype.deleteItem=function(t){this.itemsToDelete.push(t)},t.prototype.deleteItems=function(t){for(var e in t)this.deleteItem(t[e])},t.prototype.flush=function(e,r){return n.__awaiter(this,void 0,void 0,(function(){var i,o,s=this;return n.__generator(this,(function(n){return e||(e=500),r||(r=!1),r&&this.itemsToUpdate.length{"use strict";e.__esModule=!0,e.Counter=void 0;var n=r(7031),i=function(){function t(t,e,r){this.values=t,this.used=e,this.n=r}return t.prototype.getId=function(){return"string"==typeof this.values.id?this.values.id:null},t.prototype.getName=function(){return"string"==typeof this.values.name?this.values.name:null},t.prototype.getSlug=function(){return"string"==typeof this.values.slug?this.values.slug:null},t.prototype.getLevel=function(){return"number"==typeof this.values.level?this.values.level:0},t.prototype.getValues=function(){return this.values},t.prototype.isUsed=function(){return this.used},t.prototype.getN=function(){return this.n},t.createByActiveElements=function(e,r,i){var o=n.Metadata.fromMetadata(e);if(null==o)return null;for(var s=i.length,a=!1;s--;)i[s]==o.id&&(a=!0);return new t(o,a,r)},t.prototype.toArray=function(){var t={values:this.values,n:this.n};return!0===this.used&&(t.used=!0),t},t.createFromArray=function(e){return new t((e=JSON.parse(JSON.stringify(e))).values,"boolean"==typeof e.used&&e.used,e.n)},t}();e.Counter=i},734:(t,e,r)=>{"use strict";e.__esModule=!0,e.Result=void 0;var n=r(4232),i=r(9915),o=function(){function t(t,e,r){this.items=[],this.autocomplete=null,this.suggestions=[],this.subresults={},this.metadata={},this.queryUUID=t,this.totalItems=e,this.totalHits=r}return t.create=function(e,r,n,i,o,s,a,u){void 0===a&&(a=null),void 0===u&&(u={});var c=new t(e,r,n);return c.aggregations=i,c.suggestions=o,c.items=s,c.autocomplete=a,c.metadata=u,c},t.createMultiresults=function(e){var r=new t("",0,0);return r.subresults=e,r},t.prototype.addItem=function(t){this.items.push(t)},t.prototype.getItems=function(){return this.items},t.prototype.withItems=function(t){this.items=t},t.prototype.getItemsGroupedByTypes=function(){if(this.itemsGroupedByTypeCache instanceof Object&&Object.keys(this.itemsGroupedByTypeCache).length>0)return this.itemsGroupedByTypeCache;var t={};for(var e in this.items){var r=this.items[e];t[r.getType()]instanceof Array||(t[r.getType()]=[]),t[r.getType()].push(r)}return this.itemsGroupedByTypeCache=t,t},t.prototype.getItemsByType=function(t){var e=this.getItemsGroupedByTypes();return null==e[t]?[]:e[t]},t.prototype.getItemsByTypes=function(t){return this.items.filter((function(e){return t.indexOf(e.getType())>=0}))},t.prototype.getFirstItem=function(){return this.items.length>0?this.items[0]:null},t.prototype.setAggregations=function(t){this.aggregations=t},t.prototype.getAggregations=function(){return this.aggregations instanceof i.ResultAggregations?this.aggregations:null},t.prototype.getAggregation=function(t){return null==this.aggregations?null:this.aggregations.getAggregation(t)},t.prototype.hasNotEmptyAggregation=function(t){return null!=this.aggregations&&this.aggregations.hasNotEmptyAggregation(t)},t.prototype.getSuggestions=function(){return this.suggestions},t.prototype.getAutocomplete=function(){return this.autocomplete},t.prototype.getQueryUUID=function(){return this.queryUUID},t.prototype.getTotalItems=function(){return this.totalItems},t.prototype.getTotalHits=function(){return this.totalHits},t.prototype.getSubresults=function(){return this.subresults},t.prototype.getMetadata=function(){return this.metadata},t.prototype.getMetadataValue=function(t){var e;return null!==(e=this.metadata[t])&&void 0!==e?e:null},t.prototype.toArray=function(){var t={query_uuid:this.queryUUID,total_items:this.totalItems,total_hits:this.totalHits,items:this.items.map((function(t){return t.toArray()})),aggregations:null==this.aggregations?null:this.aggregations.toArray(),suggests:this.suggestions,autocomplete:null===this.autocomplete?void 0:this.autocomplete,metadata:this.metadata};if(this.subresults instanceof Object&&Object.keys(this.subresults).length)for(var e in t.subresults={},this.subresults){var r=this.subresults[e];t.subresults[e]=r.toArray()}return t},t.createFromArray=function(e){var r=t.create(e.query_uuid?e.query_uuid:"",e.total_items?e.total_items:0,e.total_hits?e.total_hits:0,e.aggregations instanceof Object?i.ResultAggregations.createFromArray(e.aggregations):null,e.suggests?e.suggests:[],e.items instanceof Array?e.items.map((function(t){return n.Item.createFromArray(t)})):[],void 0===e.autocomplete?null:e.autocomplete,void 0===e.metadata?{}:e.metadata),o=typeof e.subresults==typeof{}?e.subresults:{};for(var s in o)r.subresults[s]=t.createFromArray(o[s]);return r},t}();e.Result=o},4738:(t,e,r)=>{"use strict";e.__esModule=!0,e.ResultAggregation=void 0;var n=r(655),i=r(5908),o=r(1777),s=function(){function t(t,e,r,n,i){for(var o in void 0===i&&(i={}),this.counters={},this.highestActiveElement=0,this.name=t,this.applicationType=e,this.totalElements=r,this.activeElements={},this.metadata=i,n){var s=n[o];this.activeElements[s]=s}}return t.prototype.addCounter=function(t,e){if(0!=e){var r=o.Counter.createByActiveElements(t,e,Object.keys(this.activeElements));if(r instanceof o.Counter)return this.applicationType&i.FILTER_MUST_ALL_WITH_LEVELS&&this.applicationType&~i.FILTER_MUST_ALL&&r.isUsed()?(this.activeElements[r.getId()]=r,void(this.highestActiveElement=Math.max(r.getLevel(),this.highestActiveElement))):void(this.counters[r.getId()]=r)}},t.prototype.getName=function(){return this.name},t.prototype.getCounters=function(){return this.counters},t.prototype.getMetadata=function(){return this.metadata},t.prototype.isFilter=function(){return(this.applicationType&i.FILTER_MUST_ALL)>0},t.prototype.hasLevels=function(){return(this.applicationType&i.FILTER_MUST_ALL_WITH_LEVELS)>0},t.prototype.getCounter=function(t){return this.counters[t]instanceof o.Counter?this.counters[t]:null},t.prototype.getAllElements=function(){return n.__assign(n.__assign({},this.activeElements),this.counters)},t.prototype.getTotalElements=function(){return this.totalElements},t.prototype.getActiveElements=function(){if(0===Object.keys(this.activeElements).length)return{};if(this.applicationType===i.FILTER_MUST_ALL_WITH_LEVELS){var t=null;for(var e in this.activeElements){var r=this.activeElements[e];r instanceof o.Counter&&(null==t&&(t=r),t=t.getLevel()>r.getLevel()?t:r)}return t instanceof o.Counter?{0:t}:null}return this.activeElements},t.prototype.cleanCountersByLevel=function(){for(var t in this.counters)this.counters[t].getLevel()!==this.highestActiveElement+1&&delete this.counters[t]},t.prototype.isEmpty=function(){return 0==Object.keys(this.activeElements).length&&0==Object.keys(this.counters).length},t.prototype.toArray=function(){var t={name:this.name,counters:[],active_elements:[],metadata:this.metadata};for(var e in this.counters)t.counters.push(this.counters[e].toArray());for(var e in this.applicationType!==i.FILTER_AT_LEAST_ONE&&(t.application_type=this.applicationType),this.totalElements>0&&(t.total_elements=this.totalElements),this.activeElements){var r=this.activeElements[e];t.active_elements.push(r instanceof o.Counter?r.toArray():r)}return this.highestActiveElement>0&&(t.highest_active_level=this.highestActiveElement),0===t.counters.length&&delete t.counters,0===t.active_elements.length&&delete t.active_elements,0===Object.keys(t.metadata).length&&delete t.metadata,t},t.createFromArray=function(e){var r=[],n=e.active_elements;for(var s in n=typeof n==typeof[]?n:[]){var a=n[s];r.push(typeof a==typeof{}?o.Counter.createFromArray(a):a)}var u=new t(e.name,parseInt(e.application_type?e.application_type:i.FILTER_AT_LEAST_ONE),parseInt(e.total_elements?e.total_elements:0),[]);u.activeElements=r;var c=typeof e.counters==typeof[]?e.counters:[];for(var s in c){var l=c[s];if("function"!=typeof l){var p=o.Counter.createFromArray(l);u.counters["_"+p.getId()]=p}}return u.highestActiveElement="number"==typeof e.highest_active_level?e.highest_active_level:0,u.metadata=typeof e.metadata==typeof{}?e.metadata:{},u},t}();e.ResultAggregation=s},9915:(t,e,r)=>{"use strict";e.__esModule=!0,e.ResultAggregations=void 0;var n=r(4738),i=function(){function t(t){this.aggregations={},this.totalElements=t}return t.prototype.addAggregation=function(t,e){this.aggregations[t]=e},t.prototype.getAggregations=function(){return this.aggregations},t.prototype.getAggregation=function(t){return this.aggregations[t]instanceof n.ResultAggregation?this.aggregations[t]:null},t.prototype.hasNotEmptyAggregation=function(t){var e=this.getAggregation(t);return e instanceof n.ResultAggregation&&!e.isEmpty()},t.prototype.getTotalElements=function(){return this.totalElements},t.prototype.toArray=function(){var t={};for(var e in this.aggregations)t[e]=this.aggregations[e].toArray();var r={};return this.totalElements>0&&(r.total_elements=this.totalElements),Object.keys(t).length>0&&(r.aggregations=t),r},t.createFromArray=function(e){var r=new t("number"==typeof e.total_elements?e.total_elements:0);if(typeof e.aggregations==typeof{})for(var i in e.aggregations)r.addAggregation(i,n.ResultAggregation.createFromArray(e.aggregations[i]));return r},t}();e.ResultAggregations=i},2166:(t,e)=>{"use strict";e.__esModule=!0},4283:(t,e,r)=>{"use strict";e.__esModule=!0,e.Transformer=void 0;var n=r(4232),i=r(3683),o=function(){function t(){this.readTransformers=[],this.writeTransformers=[]}return t.prototype.addReadTransformer=function(t){this.readTransformers.push(t)},t.prototype.hasReadTransformers=function(){return this.readTransformers.length>0},t.prototype.addWriteTransformer=function(t){this.writeTransformers.push(t)},t.prototype.fromItems=function(t){var e=[];for(var r in t)e.push(this.fromItem(t[r]));return e},t.prototype.fromItem=function(t){for(var e in this.readTransformers){var r=this.readTransformers[e];if(r.isValidItem(t))return r.fromItem(t)}return t},t.prototype.toItems=function(t){var e=[];for(var r in t){var i=this.toItem(t[r]);i instanceof n.Item&&e.push(i)}return e},t.prototype.toItem=function(t){for(var e in this.writeTransformers){var r=this.writeTransformers[e];if(r.isValidObject(t))return r.toItem(t)}return t},t.prototype.toItemUUIDs=function(t){var e=[];for(var r in t){var n=this.toItemUUID(t[r]);n instanceof i.ItemUUID&&e.push(n)}return e},t.prototype.toItemUUID=function(t){for(var e in this.writeTransformers){var r=this.writeTransformers[e];if(r.isValidObject(t))return r.toItemUUID(t)}return t},t}();e.Transformer=o},700:(t,e)=>{"use strict";e.__esModule=!0},3607:(t,e,r)=>{"use strict";e.__esModule=!0;var n=r(655),i=r(697);e.default=i.default,n.__exportStar(r(4289),e),n.__exportStar(r(9653),e),n.__exportStar(r(6017),e),n.__exportStar(r(3138),e),n.__exportStar(r(7380),e),n.__exportStar(r(175),e),n.__exportStar(r(9081),e),n.__exportStar(r(9134),e),n.__exportStar(r(8257),e),n.__exportStar(r(273),e),n.__exportStar(r(52),e),n.__exportStar(r(9878),e),n.__exportStar(r(2430),e),n.__exportStar(r(6563),e),n.__exportStar(r(4885),e),n.__exportStar(r(9313),e),n.__exportStar(r(5006),e),n.__exportStar(r(4026),e),n.__exportStar(r(5343),e),n.__exportStar(r(4232),e),n.__exportStar(r(3683),e),n.__exportStar(r(7031),e),n.__exportStar(r(559),e),n.__exportStar(r(1341),e),n.__exportStar(r(5908),e),n.__exportStar(r(4481),e),n.__exportStar(r(6196),e),n.__exportStar(r(318),e),n.__exportStar(r(8207),e),n.__exportStar(r(41),e),n.__exportStar(r(4637),e),n.__exportStar(r(6339),e),n.__exportStar(r(4738),e),n.__exportStar(r(9915),e),n.__exportStar(r(1777),e),n.__exportStar(r(734),e),n.__exportStar(r(2166),e),n.__exportStar(r(4283),e),n.__exportStar(r(700),e)},4758:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(){function t(){this._dataLength=0,this._bufferLength=0,this._state=new Int32Array(4),this._buffer=new ArrayBuffer(68),this._buffer8=new Uint8Array(this._buffer,0,68),this._buffer32=new Uint32Array(this._buffer,0,17),this.start()}return t.hashStr=function(t,e){return void 0===e&&(e=!1),this.onePassHasher.start().appendStr(t).end(e)},t.hashAsciiStr=function(t,e){return void 0===e&&(e=!1),this.onePassHasher.start().appendAsciiStr(t).end(e)},t._hex=function(e){var r,n,i,o,s=t.hexChars,a=t.hexOut;for(o=0;o<4;o+=1)for(n=8*o,r=e[o],i=0;i<8;i+=2)a[n+1+i]=s.charAt(15&r),r>>>=4,a[n+0+i]=s.charAt(15&r),r>>>=4;return a.join("")},t._md5cycle=function(t,e){var r=t[0],n=t[1],i=t[2],o=t[3];n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+e[0]-680876936|0)<<7|r>>>25)+n|0)&n|~r&i)+e[1]-389564586|0)<<12|o>>>20)+r|0)&r|~o&n)+e[2]+606105819|0)<<17|i>>>15)+o|0)&o|~i&r)+e[3]-1044525330|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+e[4]-176418897|0)<<7|r>>>25)+n|0)&n|~r&i)+e[5]+1200080426|0)<<12|o>>>20)+r|0)&r|~o&n)+e[6]-1473231341|0)<<17|i>>>15)+o|0)&o|~i&r)+e[7]-45705983|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+e[8]+1770035416|0)<<7|r>>>25)+n|0)&n|~r&i)+e[9]-1958414417|0)<<12|o>>>20)+r|0)&r|~o&n)+e[10]-42063|0)<<17|i>>>15)+o|0)&o|~i&r)+e[11]-1990404162|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&i|~n&o)+e[12]+1804603682|0)<<7|r>>>25)+n|0)&n|~r&i)+e[13]-40341101|0)<<12|o>>>20)+r|0)&r|~o&n)+e[14]-1502002290|0)<<17|i>>>15)+o|0)&o|~i&r)+e[15]+1236535329|0)<<22|n>>>10)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+e[1]-165796510|0)<<5|r>>>27)+n|0)&i|n&~i)+e[6]-1069501632|0)<<9|o>>>23)+r|0)&n|r&~n)+e[11]+643717713|0)<<14|i>>>18)+o|0)&r|o&~r)+e[0]-373897302|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+e[5]-701558691|0)<<5|r>>>27)+n|0)&i|n&~i)+e[10]+38016083|0)<<9|o>>>23)+r|0)&n|r&~n)+e[15]-660478335|0)<<14|i>>>18)+o|0)&r|o&~r)+e[4]-405537848|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+e[9]+568446438|0)<<5|r>>>27)+n|0)&i|n&~i)+e[14]-1019803690|0)<<9|o>>>23)+r|0)&n|r&~n)+e[3]-187363961|0)<<14|i>>>18)+o|0)&r|o&~r)+e[8]+1163531501|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n&o|i&~o)+e[13]-1444681467|0)<<5|r>>>27)+n|0)&i|n&~i)+e[2]-51403784|0)<<9|o>>>23)+r|0)&n|r&~n)+e[7]+1735328473|0)<<14|i>>>18)+o|0)&r|o&~r)+e[12]-1926607734|0)<<20|n>>>12)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+e[5]-378558|0)<<4|r>>>28)+n|0)^n^i)+e[8]-2022574463|0)<<11|o>>>21)+r|0)^r^n)+e[11]+1839030562|0)<<16|i>>>16)+o|0)^o^r)+e[14]-35309556|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+e[1]-1530992060|0)<<4|r>>>28)+n|0)^n^i)+e[4]+1272893353|0)<<11|o>>>21)+r|0)^r^n)+e[7]-155497632|0)<<16|i>>>16)+o|0)^o^r)+e[10]-1094730640|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+e[13]+681279174|0)<<4|r>>>28)+n|0)^n^i)+e[0]-358537222|0)<<11|o>>>21)+r|0)^r^n)+e[3]-722521979|0)<<16|i>>>16)+o|0)^o^r)+e[6]+76029189|0)<<23|n>>>9)+i|0,n=((n+=((i=((i+=((o=((o+=((r=((r+=(n^i^o)+e[9]-640364487|0)<<4|r>>>28)+n|0)^n^i)+e[12]-421815835|0)<<11|o>>>21)+r|0)^r^n)+e[15]+530742520|0)<<16|i>>>16)+o|0)^o^r)+e[2]-995338651|0)<<23|n>>>9)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+e[0]-198630844|0)<<6|r>>>26)+n|0)|~i))+e[7]+1126891415|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+e[14]-1416354905|0)<<15|i>>>17)+o|0)|~r))+e[5]-57434055|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+e[12]+1700485571|0)<<6|r>>>26)+n|0)|~i))+e[3]-1894986606|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+e[10]-1051523|0)<<15|i>>>17)+o|0)|~r))+e[1]-2054922799|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+e[8]+1873313359|0)<<6|r>>>26)+n|0)|~i))+e[15]-30611744|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+e[6]-1560198380|0)<<15|i>>>17)+o|0)|~r))+e[13]+1309151649|0)<<21|n>>>11)+i|0,n=((n+=((o=((o+=(n^((r=((r+=(i^(n|~o))+e[4]-145523070|0)<<6|r>>>26)+n|0)|~i))+e[11]-1120210379|0)<<10|o>>>22)+r|0)^((i=((i+=(r^(o|~n))+e[2]+718787259|0)<<15|i>>>17)+o|0)|~r))+e[9]-343485551|0)<<21|n>>>11)+i|0,t[0]=r+t[0]|0,t[1]=n+t[1]|0,t[2]=i+t[2]|0,t[3]=o+t[3]|0},t.prototype.start=function(){return this._dataLength=0,this._bufferLength=0,this._state.set(t.stateIdentity),this},t.prototype.appendStr=function(e){var r,n,i=this._buffer8,o=this._buffer32,s=this._bufferLength;for(n=0;n>>6),i[s++]=63&r|128;else if(r<55296||r>56319)i[s++]=224+(r>>>12),i[s++]=r>>>6&63|128,i[s++]=63&r|128;else{if((r=1024*(r-55296)+(e.charCodeAt(++n)-56320)+65536)>1114111)throw new Error("Unicode standard supports code points up to U+10FFFF");i[s++]=240+(r>>>18),i[s++]=r>>>12&63|128,i[s++]=r>>>6&63|128,i[s++]=63&r|128}s>=64&&(this._dataLength+=64,t._md5cycle(this._state,o),s-=64,o[0]=o[16])}return this._bufferLength=s,this},t.prototype.appendAsciiStr=function(e){for(var r,n=this._buffer8,i=this._buffer32,o=this._bufferLength,s=0;;){for(r=Math.min(e.length-s,64-o);r--;)n[o++]=e.charCodeAt(s++);if(o<64)break;this._dataLength+=64,t._md5cycle(this._state,i),o=0}return this._bufferLength=o,this},t.prototype.appendByteArray=function(e){for(var r,n=this._buffer8,i=this._buffer32,o=this._bufferLength,s=0;;){for(r=Math.min(e.length-s,64-o);r--;)n[o++]=e[s++];if(o<64)break;this._dataLength+=64,t._md5cycle(this._state,i),o=0}return this._bufferLength=o,this},t.prototype.getState=function(){var t=this._state;return{buffer:String.fromCharCode.apply(null,Array.from(this._buffer8)),buflen:this._bufferLength,length:this._dataLength,state:[t[0],t[1],t[2],t[3]]}},t.prototype.setState=function(t){var e,r=t.buffer,n=t.state,i=this._state;for(this._dataLength=t.length,this._bufferLength=t.buflen,i[0]=n[0],i[1]=n[1],i[2]=n[2],i[3]=n[3],e=0;e>2);this._dataLength+=r;var s=8*this._dataLength;if(n[r]=128,n[r+1]=n[r+2]=n[r+3]=0,i.set(t.buffer32Identity.subarray(o),o),r>55&&(t._md5cycle(this._state,i),i.set(t.buffer32Identity)),s<=4294967295)i[14]=s;else{var a=s.toString(16).match(/(.*?)(.{0,8})$/);if(null===a)return;var u=parseInt(a[2],16),c=parseInt(a[1],16)||0;i[14]=u,i[15]=c}return t._md5cycle(this._state,i),e?this._state:t._hex(this._state)},t.stateIdentity=new Int32Array([1732584193,-271733879,-1732584194,271733878]),t.buffer32Identity=new Int32Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),t.hexChars="0123456789abcdef",t.hexOut=[],t.onePassHasher=new t,t}();if(e.Md5=r,"5d41402abc4b2a76b9719d911017c592"!==r.hashStr("hello"))throw new Error("Md5 self test failed.")},655:(t,e,r)=>{"use strict";r.r(e),r.d(e,{__assign:()=>o,__asyncDelegator:()=>v,__asyncGenerator:()=>m,__asyncValues:()=>T,__await:()=>E,__awaiter:()=>l,__classPrivateFieldGet:()=>b,__classPrivateFieldSet:()=>R,__createBinding:()=>d,__decorate:()=>a,__exportStar:()=>f,__extends:()=>i,__generator:()=>p,__importDefault:()=>S,__importStar:()=>I,__makeTemplateObject:()=>A,__metadata:()=>c,__param:()=>u,__read:()=>_,__rest:()=>s,__spread:()=>g,__spreadArrays:()=>y,__values:()=>h});var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},n(t,e)};function i(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var o=function(){return o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}function u(t,e){return function(r,n){e(r,n,t)}}function c(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function l(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))}function p(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function _(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,i,o=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return s}function g(){for(var t=[],e=0;e1||a(t,e)}))})}function a(t,e){try{(r=i[t](e)).value instanceof E?Promise.resolve(r.value.v).then(u,c):l(o[0][2],r)}catch(t){l(o[0][3],t)}var r}function u(t){a("next",t)}function c(t){a("throw",t)}function l(t,e){t(e),o.shift(),o.length&&a(o[0][0],o[0][1])}}function v(t){var e,r;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,i){e[n]=t[n]?function(e){return(r=!r)?{value:E(t[n](e)),done:"return"===n}:i?i(e):e}:i}}function T(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=h(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise((function(n,i){!function(t,e,r,n){Promise.resolve(n).then((function(e){t({value:e,done:r})}),e)}(n,i,(e=t[r](e)).done,e.value)}))}}}function A(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function I(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function S(t){return t&&t.__esModule?t:{default:t}}function b(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function R(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r}}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n=r(3607);return n.default})())); //# sourceMappingURL=apisearch.min.js.map \ No newline at end of file diff --git a/dist/apisearch.min.js.map b/dist/apisearch.min.js.map index f28d9ee..f913db3 100644 --- a/dist/apisearch.min.js.map +++ b/dist/apisearch.min.js.map @@ -1 +1 @@ -{"version":3,"file":"apisearch.min.js","mappings":"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","sources":["webpack://apisearch/webpack/universalModuleDefinition","webpack://apisearch/./node_modules/axios/index.js","webpack://apisearch/./node_modules/axios/lib/adapters/xhr.js","webpack://apisearch/./node_modules/axios/lib/axios.js","webpack://apisearch/./node_modules/axios/lib/cancel/CancelToken.js","webpack://apisearch/./node_modules/axios/lib/cancel/CanceledError.js","webpack://apisearch/./node_modules/axios/lib/cancel/isCancel.js","webpack://apisearch/./node_modules/axios/lib/core/Axios.js","webpack://apisearch/./node_modules/axios/lib/core/AxiosError.js","webpack://apisearch/./node_modules/axios/lib/core/InterceptorManager.js","webpack://apisearch/./node_modules/axios/lib/core/buildFullPath.js","webpack://apisearch/./node_modules/axios/lib/core/dispatchRequest.js","webpack://apisearch/./node_modules/axios/lib/core/mergeConfig.js","webpack://apisearch/./node_modules/axios/lib/core/settle.js","webpack://apisearch/./node_modules/axios/lib/core/transformData.js","webpack://apisearch/./node_modules/axios/lib/defaults/index.js","webpack://apisearch/./node_modules/axios/lib/defaults/transitional.js","webpack://apisearch/./node_modules/axios/lib/env/data.js","webpack://apisearch/./node_modules/axios/lib/helpers/bind.js","webpack://apisearch/./node_modules/axios/lib/helpers/buildURL.js","webpack://apisearch/./node_modules/axios/lib/helpers/combineURLs.js","webpack://apisearch/./node_modules/axios/lib/helpers/cookies.js","webpack://apisearch/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://apisearch/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://apisearch/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://apisearch/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://apisearch/./node_modules/axios/lib/helpers/null.js","webpack://apisearch/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://apisearch/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://apisearch/./node_modules/axios/lib/helpers/spread.js","webpack://apisearch/./node_modules/axios/lib/helpers/toFormData.js","webpack://apisearch/./node_modules/axios/lib/helpers/validator.js","webpack://apisearch/./node_modules/axios/lib/utils.js","webpack://apisearch/./src/Apisearch.ts","webpack://apisearch/./src/Config/Config.ts","webpack://apisearch/./src/Config/Synonym.ts","webpack://apisearch/./src/Error/ConnectionError.ts","webpack://apisearch/./src/Error/ErrorWithMessage.ts","webpack://apisearch/./src/Error/EventError.ts","webpack://apisearch/./src/Error/ForbiddenError.ts","webpack://apisearch/./src/Error/InvalidFormatError.ts","webpack://apisearch/./src/Error/InvalidTokenError.ts","webpack://apisearch/./src/Error/ResourceExistsError.ts","webpack://apisearch/./src/Error/ResourceNotAvailableError.ts","webpack://apisearch/./src/Error/UnknownError.ts","webpack://apisearch/./src/Error/UnsupportedContentTypeError.ts","webpack://apisearch/./src/Geo/LocationRange.ts","webpack://apisearch/./src/Http/AxiosClient.ts","webpack://apisearch/./src/Http/CacheClient.ts","webpack://apisearch/./src/Http/Client.ts","webpack://apisearch/./src/Http/HttpClient.ts","webpack://apisearch/./src/Http/Response.ts","webpack://apisearch/./src/Model/AppUUID.ts","webpack://apisearch/./src/Model/Changes.ts","webpack://apisearch/./src/Model/Coordinate.ts","webpack://apisearch/./src/Model/Index.ts","webpack://apisearch/./src/Model/IndexUUID.ts","webpack://apisearch/./src/Model/Item.ts","webpack://apisearch/./src/Model/ItemUUID.ts","webpack://apisearch/./src/Model/Metadata.ts","webpack://apisearch/./src/Model/User.ts","webpack://apisearch/./src/Query/Aggregation.ts","webpack://apisearch/./src/Query/Filter.ts","webpack://apisearch/./src/Query/Query.ts","webpack://apisearch/./src/Query/Range.ts","webpack://apisearch/./src/Query/ScoreStrategies.ts","webpack://apisearch/./src/Query/ScoreStrategy.ts","webpack://apisearch/./src/Query/SortBy.ts","webpack://apisearch/./src/Repository/HttpRepository.ts","webpack://apisearch/./src/Repository/Repository.ts","webpack://apisearch/./src/Result/Counter.ts","webpack://apisearch/./src/Result/Result.ts","webpack://apisearch/./src/Result/ResultAggregation.ts","webpack://apisearch/./src/Result/ResultAggregations.ts","webpack://apisearch/./src/Transformer/ReadTransformer.ts","webpack://apisearch/./src/Transformer/Transformer.ts","webpack://apisearch/./src/Transformer/WriteTransformer.ts","webpack://apisearch/./src/index.ts","webpack://apisearch/./node_modules/ts-md5/dist/md5.js","webpack://apisearch/./node_modules/tslib/tslib.es6.js","webpack://apisearch/webpack/bootstrap","webpack://apisearch/webpack/runtime/define property getters","webpack://apisearch/webpack/runtime/hasOwnProperty shorthand","webpack://apisearch/webpack/runtime/make namespace object","webpack://apisearch/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"apisearch\"] = factory();\n\telse\n\t\troot[\"apisearch\"] = factory();\n})(self, () => {\nreturn ","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","\"use strict\";\nexports.__esModule = true;\nvar tslib_1 = require(\"tslib\");\nvar AxiosClient_1 = require(\"./Http/AxiosClient\");\nvar Query_1 = require(\"./Query/Query\");\nvar Query_2 = require(\"./Query/Query\");\nvar Query_3 = require(\"./Query/Query\");\nvar SortBy_1 = require(\"./Query/SortBy\");\nvar HttpRepository_1 = require(\"./Repository/HttpRepository\");\nvar Result_1 = require(\"./Result/Result\");\nvar ResultAggregations_1 = require(\"./Result/ResultAggregations\");\nvar Transformer_1 = require(\"./Transformer/Transformer\");\nvar CacheClient_1 = require(\"./Http/CacheClient\");\n/**\n * Apisearch class\n */\nvar Apisearch = /** @class */ (function () {\n function Apisearch() {\n }\n /**\n * Constructor\n *\n * @param config\n *\n * @return {HttpRepository}\n */\n Apisearch.createRepository = function (config) {\n Apisearch.ensureRepositoryConfigIsValid(config);\n config.options = tslib_1.__assign({ api_version: \"v1\", override_queries: true, timeout: 3000 }, config.options);\n /**\n * Client\n */\n var httpClient = typeof config.options.http_client !== \"undefined\"\n ? config.options.http_client\n : new AxiosClient_1.AxiosClient(config.options.endpoint, config.options.api_version, config.options.timeout, config.options.override_queries);\n if (config.options.use_cache) {\n httpClient = new CacheClient_1.CacheClient(httpClient);\n }\n return new HttpRepository_1.HttpRepository(httpClient, config.app_id, config.index_id, config.token, new Transformer_1.Transformer());\n };\n /**\n * Ensure the Repository configuration is valid\n *\n * @param config\n */\n Apisearch.ensureRepositoryConfigIsValid = function (config) {\n Apisearch.ensureIsDefined(config.app_id, \"app_id\");\n Apisearch.ensureIsDefined(config.index_id, \"index_id\");\n Apisearch.ensureIsDefined(config.token, \"token\");\n Apisearch.ensureIsDefined(config.options.endpoint, \"options.endpoint\");\n };\n /**\n * Ensure the value is not undefined\n *\n * @param param\n * @param name\n */\n Apisearch.ensureIsDefined = function (param, name) {\n if (typeof param === \"undefined\") {\n throw new TypeError(name + \" parameter must be defined.\");\n }\n };\n /**\n * Created located\n *\n * @param coordinate\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Apisearch.createQueryLocated = function (coordinate, queryText, page, size) {\n if (page === void 0) { page = Query_1.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = Query_2.QUERY_DEFAULT_SIZE; }\n return Query_3.Query.createLocated(coordinate, queryText, page, size);\n };\n /**\n * Create\n *\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Apisearch.createQuery = function (queryText, page, size) {\n if (page === void 0) { page = Query_1.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = Query_2.QUERY_DEFAULT_SIZE; }\n return Query_3.Query.create(queryText, page, size);\n };\n /**\n * Create match all\n *\n * @return {Query}\n */\n Apisearch.createQueryMatchAll = function () {\n return Query_3.Query.createMatchAll();\n };\n /**\n * Create by UUID\n *\n * @param uuid\n *\n * @return {Query}\n */\n Apisearch.createQueryByUUID = function (uuid) {\n return Query_3.Query.createByUUID(uuid);\n };\n /**\n * Create by UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Apisearch.createQueryByUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n return Query_3.Query.createByUUIDs.apply(Query_3.Query, uuids);\n };\n /**\n * Create empty result\n *\n * @return {Result}\n */\n Apisearch.createEmptyResult = function () {\n return Result_1.Result.create(\"\", 0, 0, new ResultAggregations_1.ResultAggregations(0), [], []);\n };\n /**\n * Create empty sortby\n *\n * @return {SortBy}\n */\n Apisearch.createEmptySortBy = function () {\n return SortBy_1.SortBy.create();\n };\n /**\n * Create empty sortby\n *\n * @return {SortBy}\n */\n Apisearch.createEmptyScoreStrategy = function () {\n return SortBy_1.SortBy.create();\n };\n return Apisearch;\n}());\nexports[\"default\"] = Apisearch;\n","\"use strict\";\nexports.__esModule = true;\nexports.Config = exports.DEFAULT_REPLICAS = exports.DEFAULT_SHARDS = void 0;\nvar Synonym_1 = require(\"./Synonym\");\nexports.DEFAULT_SHARDS = 1;\nexports.DEFAULT_REPLICAS = 0;\n/**\n * Result class\n */\nvar Config = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param language\n * @param storeSearchableMetadata\n * @param shards\n * @param replicas\n */\n function Config(language, storeSearchableMetadata, shards, replicas) {\n if (language === void 0) { language = null; }\n if (storeSearchableMetadata === void 0) { storeSearchableMetadata = true; }\n if (shards === void 0) { shards = exports.DEFAULT_SHARDS; }\n if (replicas === void 0) { replicas = exports.DEFAULT_REPLICAS; }\n this.synonyms = [];\n this.language = language;\n this.storeSearchableMetadata = storeSearchableMetadata;\n this.shards = shards;\n this.replicas = replicas;\n }\n /**\n * Get language\n *\n * @return {string}\n */\n Config.prototype.getLanguage = function () {\n return this.language;\n };\n /**\n * Should searchable metadata be stored\n *\n * @return {boolean}\n */\n Config.prototype.shouldSearchableMetadataBeStored = function () {\n return this.storeSearchableMetadata;\n };\n /**\n * Add synonym\n *\n * @param synonym\n */\n Config.prototype.addSynonym = function (synonym) {\n this.synonyms.push(synonym);\n };\n /**\n * Get synonyms\n *\n * @return {Synonym[]}\n */\n Config.prototype.getSynonyms = function () {\n return this.synonyms;\n };\n /**\n * Get shards\n *\n * @return {number}\n */\n Config.prototype.getShards = function () {\n return this.shards;\n };\n /**\n * Get replicas\n *\n * @return {number}\n */\n Config.prototype.getReplicas = function () {\n return this.replicas;\n };\n /**\n * to array\n */\n Config.prototype.toArray = function () {\n return {\n language: this.language,\n store_searchable_metadata: this.storeSearchableMetadata,\n synonyms: this.synonyms.map(function (synonym) { return synonym.toArray(); }),\n shards: this.shards,\n replicas: this.replicas\n };\n };\n /**\n * Create from array\n */\n Config.createFromArray = function (array) {\n var config = new Config(array.language ? array.language : null, typeof array.store_searchable_metadata == \"boolean\"\n ? array.store_searchable_metadata\n : true);\n if (array.synonyms instanceof Array &&\n array.synonyms.length > 0) {\n config.synonyms = array.synonyms.map(function (synonym) { return Synonym_1.Synonym.createFromArray(synonym); });\n }\n config.shards = typeof array.shards == \"number\"\n ? array.shards\n : exports.DEFAULT_SHARDS;\n config.replicas = typeof array.replicas == \"number\"\n ? array.replicas\n : exports.DEFAULT_REPLICAS;\n return config;\n };\n return Config;\n}());\nexports.Config = Config;\n","\"use strict\";\nexports.__esModule = true;\nexports.Synonym = void 0;\n/**\n * Result class\n */\nvar Synonym = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param words\n */\n function Synonym(words) {\n this.words = words;\n }\n /**\n * get words\n *\n * @return {string[]}\n */\n Synonym.prototype.getWords = function () {\n return this.words;\n };\n /**\n * Create by words\n *\n * @param words\n *\n * @return {Synonym}\n */\n Synonym.createbyWords = function (words) {\n return new Synonym(words);\n };\n /**\n * To array\n *\n * @return {{words: string[]}}\n */\n Synonym.prototype.toArray = function () {\n return {\n words: this.words,\n };\n };\n /**\n * create from array\n *\n * @param array\n *\n * @returns {Synonym}\n */\n Synonym.createFromArray = function (array) {\n return new Synonym(array.words instanceof Object\n ? array.words\n : []);\n };\n /**\n * Expand\n *\n * @returns {string}\n */\n Synonym.prototype.expand = function () {\n return this.words.join(\",\");\n };\n return Synonym;\n}());\nexports.Synonym = Synonym;\n","\"use strict\";\nexports.__esModule = true;\nexports.ConnectionError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Connection error\n */\nvar ConnectionError = /** @class */ (function (_super) {\n tslib_1.__extends(ConnectionError, _super);\n function ConnectionError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ConnectionError.getTransportableHTTPError = function () {\n return 500;\n };\n return ConnectionError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ConnectionError = ConnectionError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ErrorWithMessage = void 0;\n/**\n * ConnectError\n */\nvar ErrorWithMessage = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param message\n */\n function ErrorWithMessage(message) {\n this.message = message;\n }\n return ErrorWithMessage;\n}());\nexports.ErrorWithMessage = ErrorWithMessage;\n","\"use strict\";\nexports.__esModule = true;\nexports.EventError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * EventError\n */\nvar EventError = /** @class */ (function (_super) {\n tslib_1.__extends(EventError, _super);\n function EventError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n EventError.throwEndpointNotAvailable = function () {\n return new EventError(\"Endpoint not available\");\n };\n return EventError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.EventError = EventError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ForbiddenError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Forbidden Error\n */\nvar ForbiddenError = /** @class */ (function (_super) {\n tslib_1.__extends(ForbiddenError, _super);\n function ForbiddenError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ForbiddenError.getTransportableHTTPError = function () {\n return 403;\n };\n /**\n * App id is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createAppIdIsRequiredException = function () {\n return new ForbiddenError(\"AppId query parameter MUST be defined with a valid value\");\n };\n /**\n * Index id is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createIndexIsRequiredException = function () {\n return new ForbiddenError(\"Index query parameter MUST be defined with a valid value\");\n };\n /**\n * Token is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createTokenIsRequiredException = function () {\n return new ForbiddenError(\"Token query parameter MUST be defined with a valid value\");\n };\n return ForbiddenError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ForbiddenError = ForbiddenError;\n","\"use strict\";\nexports.__esModule = true;\nexports.InvalidFormatError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Class InvalidFormatError\n */\nvar InvalidFormatError = /** @class */ (function (_super) {\n tslib_1.__extends(InvalidFormatError, _super);\n function InvalidFormatError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n InvalidFormatError.getTransportableHTTPError = function () {\n return 400;\n };\n /**\n * Item representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.itemRepresentationNotValid = function () {\n return new InvalidFormatError(\"Item representation not valid. Expecting Item array serialized but found malformed data\");\n };\n /**\n * Item UUID representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.itemUUIDRepresentationNotValid = function () {\n return new InvalidFormatError(\"Item UUID representation not valid. Expecting UUID array serialized but found malformed data\");\n };\n /**\n * Create Composed UUID bad format.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.composedItemUUIDNotValid = function () {\n return new InvalidFormatError(\"A composed UUID should always follow this format: {id}~{type}.\");\n };\n /**\n * Create Query sorted by distance without coordinate.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.querySortedByDistanceWithoutCoordinate = function () {\n return new InvalidFormatError(\"In order to be able to sort by coordinates, you need to create a Query by using Query::createLocated() instead of Query::create()\");\n };\n /**\n * Query representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.queryFormatNotValid = function () {\n return new InvalidFormatError(\"Query Format not valid. Expecting a Query serialized but found malformed data\");\n };\n /**\n * Coordinate representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.coordinateFormatNotValid = function () {\n return new InvalidFormatError(\"A Coordinate should always contain a lat (Latitude) and a lon (Longitude)\");\n };\n /**\n * Config representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.configFormatNotValid = function () {\n return new InvalidFormatError(\"Config Format not valid. Expecting a Config serialized but found malformed data\");\n };\n /**\n * Token representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.tokenFormatNotValid = function () {\n return new InvalidFormatError(\"Token Format not valid. Expecting a Token serialized but found malformed data\");\n };\n /**\n * Index format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.indexFormatNotValid = function () {\n return new InvalidFormatError('Index Format not valid. Expecting an Index serialized but found malformed data');\n };\n /**\n * IndexUUI format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.indexUUIDFormatNotValid = function () {\n return new InvalidFormatError('IndexUUID Format not valid. Expecting an IndexUUID serialized but found malformed data');\n };\n /**\n * App format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.appUUIDFormatNotValid = function () {\n return new InvalidFormatError('AppUUID Format not valid. Expecting an AppUUID serialized but found malformed data');\n };\n /**\n * Campaign representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.campaignFormatNotValid = function () {\n return new InvalidFormatError(\"Campaign Format not valid. Expecting a Campaign serialized but found malformed data\");\n };\n /**\n * Changes representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.changesFormatNotValid = function () {\n return new InvalidFormatError(\"Changes Format not valid. Expecting a Changes serialized but found malformed data\");\n };\n /**\n * Boost clause representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.boostClauseFormatNotValid = function () {\n return new InvalidFormatError(\"Boost clause Format not valid. Expecting a Boost clause serialized but found malformed data\");\n };\n /**\n * token uuid representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.tokenUUIDFormatNotValid = function () {\n return new InvalidFormatError(\"Token UUID Format not valid. Expecting a TokenUUID serialized but found malformed data\");\n };\n /**\n * User representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.userFormatNotValid = function () {\n return new InvalidFormatError(\"User Format not valid. Expecting a User serialized but found malformed data\");\n };\n return InvalidFormatError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.InvalidFormatError = InvalidFormatError;\n","\"use strict\";\nexports.__esModule = true;\nexports.InvalidTokenError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Invalid token error\n */\nvar InvalidTokenError = /** @class */ (function (_super) {\n tslib_1.__extends(InvalidTokenError, _super);\n function InvalidTokenError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n InvalidTokenError.getTransportableHTTPError = function () {\n return 401;\n };\n /**\n * Invalid token permissions\n *\n * @param tokenReference\n *\n * @return {InvalidTokenError}\n */\n InvalidTokenError.createInvalidTokenPermissions = function (tokenReference) {\n return new InvalidTokenError(\"Token \" + tokenReference + \"not valid\");\n };\n /**\n * Invalid token permissions\n *\n * @param tokenReference\n * @param maxHitsPerQuery\n *\n * @return {InvalidTokenError}\n */\n InvalidTokenError.createInvalidTokenMaxHitsPerQuery = function (tokenReference, maxHitsPerQuery) {\n return new InvalidTokenError(\"Token \" + tokenReference + \"not valid. Max \" + maxHitsPerQuery + \" hits allowed\");\n };\n return InvalidTokenError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.InvalidTokenError = InvalidTokenError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResourceExistsError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Resource exists error\n */\nvar ResourceExistsError = /** @class */ (function (_super) {\n tslib_1.__extends(ResourceExistsError, _super);\n function ResourceExistsError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ResourceExistsError.getTransportableHTTPError = function () {\n return 409;\n };\n /**\n * Index not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.indexAvailable = function () {\n return new ResourceExistsError(\"Index exists and cannot be created again\");\n };\n /**\n * Events not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.eventsIndexAvailable = function () {\n return new ResourceExistsError(\"Events index exists and cannot be created again\");\n };\n /**\n * Logs not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.logsIndexAvailable = function () {\n return new ResourceExistsError(\"Logs index exists and cannot be created again\");\n };\n return ResourceExistsError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ResourceExistsError = ResourceExistsError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResourceNotAvailableError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Resource not available error\n */\nvar ResourceNotAvailableError = /** @class */ (function (_super) {\n tslib_1.__extends(ResourceNotAvailableError, _super);\n function ResourceNotAvailableError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ResourceNotAvailableError.getTransportableHTTPError = function () {\n return 404;\n };\n /**\n * Index not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.indexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Index not available - \" + resourceId);\n };\n /**\n * Events not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.eventsIndexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Events not available - \" + resourceId);\n };\n /**\n * Logs not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.logsIndexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Logs not available - \" + resourceId);\n };\n /**\n * Engine not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.engineNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Engine not available - \" + resourceId);\n };\n return ResourceNotAvailableError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ResourceNotAvailableError = ResourceNotAvailableError;\n","\"use strict\";\nexports.__esModule = true;\nexports.UnknownError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Connection error\n */\nvar UnknownError = /** @class */ (function (_super) {\n tslib_1.__extends(UnknownError, _super);\n function UnknownError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Unknown error\n *\n * @return this\n */\n UnknownError.createUnknownError = function () {\n return new this(\"Unknown error.\");\n };\n return UnknownError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.UnknownError = UnknownError;\n","\"use strict\";\nexports.__esModule = true;\nexports.UnsupportedContentTypeError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Unsupported content type error\n */\nvar UnsupportedContentTypeError = /** @class */ (function (_super) {\n tslib_1.__extends(UnsupportedContentTypeError, _super);\n function UnsupportedContentTypeError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n UnsupportedContentTypeError.getTransportableHTTPError = function () {\n return 415;\n };\n /**\n * Unsupported content type\n *\n * @return {InvalidFormatError}\n */\n UnsupportedContentTypeError.createUnsupportedContentTypeException = function () {\n return new UnsupportedContentTypeError(\"This content type is not accepted. Please use application/json\");\n };\n return UnsupportedContentTypeError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.UnsupportedContentTypeError = UnsupportedContentTypeError;\n","\"use strict\";\nexports.__esModule = true;\nexports.Square = exports.Polygon = exports.CoordinateAndDistance = exports.LocationRange = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Coordinate_1 = require(\"../Model/Coordinate\");\n/**\n * Abstract Location Range class\n */\nvar LocationRange = /** @class */ (function () {\n function LocationRange() {\n }\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n LocationRange.fromFilterObject = function (object) {\n throw TypeError(\"Method not valid\");\n };\n /**\n * to array\n */\n LocationRange.prototype.toArray = function () {\n return {\n type: this.getName(),\n data: this.toFilterObject(),\n };\n };\n /**\n * Create from array\n *\n * @param array\n */\n LocationRange.createFromArray = function (array) {\n if (array.type == \"CoordinateAndDistance\") {\n return CoordinateAndDistance.fromFilterObject(array.data);\n }\n if (array.type == \"Polygon\") {\n return Polygon.fromFilterObject(array.data);\n }\n if (array.type == \"Square\") {\n return Square.fromFilterObject(array.data);\n }\n };\n return LocationRange;\n}());\nexports.LocationRange = LocationRange;\n/**\n * CoordinateAndDistance\n */\nvar CoordinateAndDistance = /** @class */ (function (_super) {\n tslib_1.__extends(CoordinateAndDistance, _super);\n /**\n * Constructor\n *\n * @param coordinate\n * @param distance\n */\n function CoordinateAndDistance(coordinate, distance) {\n var _this = _super.call(this) || this;\n _this.coordinate = coordinate;\n _this.distance = distance;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{}}}\n */\n CoordinateAndDistance.prototype.toFilterObject = function () {\n return {\n coordinate: this.coordinate.toArray(),\n distance: this.distance,\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n CoordinateAndDistance.prototype.getName = function () {\n return \"CoordinateAndDistance\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n CoordinateAndDistance.fromFilterObject = function (object) {\n return new CoordinateAndDistance(Coordinate_1.Coordinate.createFromArray(object.coordinate), object.distance);\n };\n return CoordinateAndDistance;\n}(LocationRange));\nexports.CoordinateAndDistance = CoordinateAndDistance;\n/**\n * Polygon\n */\nvar Polygon = /** @class */ (function (_super) {\n tslib_1.__extends(Polygon, _super);\n /**\n * Constructor\n *\n * @param coordinates\n */\n function Polygon(coordinates) {\n var _this = _super.call(this) || this;\n if (coordinates.length < 3) {\n throw new Error(\"A polygon needs more than two coordinates.\");\n }\n _this.coordinates = coordinates;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{coordinates: {lat:number, lon:number}[]}}\n */\n Polygon.prototype.toFilterObject = function () {\n var coordinates = [];\n for (var i in this.coordinates) {\n coordinates.push(this.coordinates[i].toArray());\n }\n return {\n coordinates: coordinates,\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n Polygon.prototype.getName = function () {\n return \"Polygon\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {Polygon}\n */\n Polygon.fromFilterObject = function (object) {\n var coordinates = [];\n for (var i in object.coordinates) {\n coordinates.push(Coordinate_1.Coordinate.createFromArray(object.coordinates[i]));\n }\n return new Polygon(coordinates);\n };\n return Polygon;\n}(LocationRange));\nexports.Polygon = Polygon;\n/**\n * Square\n */\nvar Square = /** @class */ (function (_super) {\n tslib_1.__extends(Square, _super);\n /**\n * Constructor\n *\n * @param topLeftCoordinate\n * @param bottomRightCoordinate\n */\n function Square(topLeftCoordinate, bottomRightCoordinate) {\n var _this = _super.call(this) || this;\n _this.topLeftCoordinate = topLeftCoordinate;\n _this.bottomRightCoordinate = bottomRightCoordinate;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{}}}\n */\n Square.prototype.toFilterObject = function () {\n return {\n top_left: this.topLeftCoordinate.toArray(),\n bottom_right: this.bottomRightCoordinate.toArray(),\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n Square.prototype.getName = function () {\n return \"Square\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n Square.fromFilterObject = function (object) {\n return new Square(Coordinate_1.Coordinate.createFromArray(object.top_left), Coordinate_1.Coordinate.createFromArray(object.bottom_right));\n };\n return Square;\n}(LocationRange));\nexports.Square = Square;\n","\"use strict\";\nexports.__esModule = true;\nexports.AxiosClient = void 0;\nvar tslib_1 = require(\"tslib\");\nvar axios_1 = require(\"axios\");\nvar __1 = require(\"..\");\nvar Client_1 = require(\"./Client\");\nvar Response_1 = require(\"./Response\");\n/**\n * AxiosClient\n */\nvar AxiosClient = /** @class */ (function (_super) {\n tslib_1.__extends(AxiosClient, _super);\n /**\n * Constructor\n *\n * @param host\n * @param version\n * @param timeout\n * @param overrideQueries\n */\n function AxiosClient(host, version, timeout, overrideQueries) {\n var _this = _super.call(this, version) || this;\n _this.host = host;\n _this.timeout = timeout;\n _this.overrideQueries = overrideQueries;\n _this.abortControllers = {};\n return _this;\n }\n /**\n * @param url\n * @param method\n * @param credentials\n * @param parameters\n * @param data\n */\n AxiosClient.prototype.get = function (url, method, credentials, parameters, data) {\n if (parameters === void 0) { parameters = {}; }\n if (data === void 0) { data = {}; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var headers, axiosRequestConfig, axiosResponse, error_1, response;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n url = url.replace(/^\\/*|\\/*$/g, \"\");\n url = \"/\" + (this.version + \"/\" + url).replace(/^\\/*|\\/*$/g, \"\");\n method = method.toLowerCase();\n if (\"get\" === method &&\n this.overrideQueries) {\n this.abort(url, true);\n }\n headers = \"get\" === method\n ? {}\n : {\n \"Content-Encoding\": \"gzip\",\n \"Content-Type\": \"application/json\",\n };\n axiosRequestConfig = {\n baseURL: this.host.replace(/\\/*$/g, \"\"),\n data: data,\n headers: headers,\n method: method,\n timeout: this.timeout,\n transformRequest: [function (rawData) { return JSON.stringify(rawData); }],\n url: url + \"?\" + Client_1.Client.objectToUrlParameters(tslib_1.__assign(tslib_1.__assign({}, parameters), {\n token: credentials.token,\n })).replace(/#/g, \"%23\"),\n };\n if (typeof this.abortControllers[url] !== \"undefined\") {\n axiosRequestConfig.signal = this.abortControllers[url].signal;\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.fetch(url, axiosRequestConfig, 3)];\n case 2:\n axiosResponse = _a.sent();\n return [2 /*return*/, new Response_1.Response(axiosResponse.status, axiosResponse.data)];\n case 3:\n error_1 = _a.sent();\n response = void 0;\n if (error_1.response) {\n response = new Response_1.Response(error_1.response.status, error_1.response.data);\n }\n else {\n response = new Response_1.Response(__1.ConnectionError.getTransportableHTTPError(), {\n message: error_1.message,\n });\n }\n throw response;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Abort current request\n * And regenerate the cancellation token\n *\n * @param url\n * @param urlIsFormatted\n */\n AxiosClient.prototype.abort = function (url, urlIsFormatted) {\n if (!urlIsFormatted) {\n url = url.replace(/^\\/*|\\/*$/g, \"\");\n url = \"/\" + (this.version + \"/\" + url).replace(/^\\/*|\\/*$/g, \"\");\n }\n if (typeof this.abortControllers[url] !== \"undefined\") {\n this.abortControllers[url].abort();\n }\n this.generateAbortController(url);\n };\n /**\n * Generate a new cancellation token for a query\n *\n * @param url\n */\n AxiosClient.prototype.generateAbortController = function (url) {\n this.abortControllers[url] = new AbortController();\n };\n /**\n * @param url\n * @param options\n * @param retries\n */\n AxiosClient.prototype.fetch = function (url, options, retries) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, axios_1[\"default\"]\n .request(options)\n .then(function (response) {\n return {\n data: response.data,\n status: response.status,\n };\n })[\"catch\"](function (error) {\n var response = error.response;\n if (error.code !== undefined &&\n error.code !== \"ECONNREFUSED\" &&\n error.code !== \"ECONNABORTED\" &&\n error.code !== \"ERR_BAD_REQUEST\" &&\n error.message !== \"Network Error\") {\n return {\n data: response.data,\n status: response.status,\n };\n }\n if (retries <= 0) {\n throw error;\n }\n retries = retries - 1;\n return _this.fetch(url, options, retries);\n })];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n return AxiosClient;\n}(Client_1.Client));\nexports.AxiosClient = AxiosClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.CacheClient = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ts_md5_1 = require(\"ts-md5\");\n/**\n * AxiosClient\n */\nvar CacheClient = /** @class */ (function () {\n function CacheClient(httpClient) {\n this.cache = {};\n this.hits = 0;\n this.httpClient = httpClient;\n }\n CacheClient.prototype.flushCache = function () {\n this.cache = {};\n };\n CacheClient.prototype.size = function () {\n return Object.keys(this.cache).length;\n };\n CacheClient.prototype.getNumberOfHits = function () {\n return this.hits;\n };\n /**\n * Get\n *\n * @param url\n * @param method\n * @param credentials\n * @param parameters\n * @param data\n *\n * @return {Promise}\n */\n CacheClient.prototype.get = function (url, method, credentials, parameters, data) {\n if (parameters === void 0) { parameters = {}; }\n if (data === void 0) { data = {}; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var cacheUID, _a, _b;\n return tslib_1.__generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (method !== 'get') {\n return [2 /*return*/, this.httpClient.get(url, method, credentials, parameters, data)];\n }\n cacheUID = ts_md5_1.Md5.hashStr(JSON.stringify({\n 'u': url,\n 'c': credentials,\n 'p': parameters,\n 'd': data,\n })).toString();\n if (!!this.cache[cacheUID]) return [3 /*break*/, 2];\n _a = this.cache;\n _b = cacheUID;\n return [4 /*yield*/, this.httpClient.get(url, method, credentials, parameters, data)];\n case 1:\n _a[_b] = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n this.httpClient.abort(url, false);\n this.hits++;\n _c.label = 3;\n case 3: return [2 /*return*/, this.cache[cacheUID]];\n }\n });\n });\n };\n /**\n * Abort current request\n * And regenerate the cancellation token\n *\n * @param url\n * @param urlIsFormatted\n */\n CacheClient.prototype.abort = function (url, urlIsFormatted) {\n };\n return CacheClient;\n}());\nexports.CacheClient = CacheClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.Client = void 0;\n/**\n * Client\n */\nvar Client = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param version\n */\n function Client(version) {\n this.version = version.replace(/^\\/*|\\/*$/g, \"\");\n }\n /**\n * Build an url parameters array by an object\n *\n * @param params\n *\n * @returns {string}\n */\n Client.objectToUrlParameters = function (params) {\n var builtParams = [];\n for (var i in params) {\n builtParams.push(i + \"=\" + params[i]);\n }\n return builtParams.join(\"&\");\n };\n return Client;\n}());\nexports.Client = Client;\n","\"use strict\";\nexports.__esModule = true;\nexports.HttpClient = void 0;\n/**\n * Http class\n */\nvar HttpClient = /** @class */ (function () {\n function HttpClient() {\n }\n return HttpClient;\n}());\nexports.HttpClient = HttpClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.Response = void 0;\n/**\n * Response\n */\nvar Response = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param code\n * @param body\n */\n function Response(code, body) {\n this.code = code;\n this.body = body;\n }\n /**\n * Get code\n *\n * @return {number}\n */\n Response.prototype.getCode = function () {\n return this.code;\n };\n /**\n * Get body\n *\n * @return {any}\n */\n Response.prototype.getBody = function () {\n return this.body;\n };\n return Response;\n}());\nexports.Response = Response;\n","\"use strict\";\nexports.__esModule = true;\nexports.AppUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * AppUUID class\n */\nvar AppUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n */\n function AppUUID(id) {\n if (id.indexOf('_') >= 0) {\n throw InvalidFormatError_1.InvalidFormatError.appUUIDFormatNotValid();\n }\n this.id = id;\n }\n /**\n * Create by id\n *\n * @param id\n *\n * @returns {ItemUUID}\n */\n AppUUID.createById = function (id) {\n return new AppUUID(id);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n AppUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n AppUUID.prototype.toArray = function () {\n return {\n id: this.id,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n AppUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new AppUUID(array.id);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n AppUUID.prototype.composedUUID = function () {\n return this.id;\n };\n return AppUUID;\n}());\nexports.AppUUID = AppUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Changes = exports.TYPE_ARRAY = exports.TYPE_ARRAY_EXPECTS_ELEMENT = exports.TYPE_ARRAY_ELEMENT_DELETE = exports.TYPE_ARRAY_ELEMENT_ADD = exports.TYPE_ARRAY_ELEMENT_UPDATE = exports.TYPE_LITERAL = exports.TYPE_VALUE = void 0;\n/**\n * filter constants\n */\nexports.TYPE_VALUE = 1;\nexports.TYPE_LITERAL = 4;\nexports.TYPE_ARRAY_ELEMENT_UPDATE = 8;\nexports.TYPE_ARRAY_ELEMENT_ADD = 16;\nexports.TYPE_ARRAY_ELEMENT_DELETE = 32;\nexports.TYPE_ARRAY_EXPECTS_ELEMENT = 24;\nexports.TYPE_ARRAY = 56;\n/**\n * Changes Type cast\n * @param Changes\n */\nvar Changes = /** @class */ (function () {\n function Changes() {\n /**\n * Changes\n *\n * @type {Array}\n */\n this.changes = [];\n }\n /**\n * Add new change\n *\n * @param field\n * @param value\n * @param type\n */\n Changes.prototype.addChange = function (field, value, type) {\n if (type === void 0) { type = exports.TYPE_VALUE; }\n this.changes.push({\n field: field,\n type: type,\n value: value,\n });\n };\n /**\n * Update element from list\n *\n * @param field\n * @param condition\n * @param value\n * @param type\n */\n Changes.prototype.updateElementFromList = function (field, condition, value, type) {\n this.changes.push({\n field: field,\n type: type | exports.TYPE_ARRAY_ELEMENT_UPDATE,\n condition: condition,\n value: value,\n });\n };\n /**\n * Add element in list\n *\n * @param field\n * @param value\n * @param type\n */\n Changes.prototype.addElementInList = function (field, value, type) {\n this.changes.push({\n field: field,\n type: type | exports.TYPE_ARRAY_ELEMENT_ADD,\n value: value,\n });\n };\n /**\n * Delete element from list\n *\n * @param field\n * @param condition\n */\n Changes.prototype.deleteElementFromList = function (field, condition) {\n this.changes.push({\n field: field,\n type: exports.TYPE_ARRAY_ELEMENT_DELETE,\n condition: condition,\n });\n };\n /**\n * Get changes\n *\n * @returns {[]}\n */\n Changes.prototype.getChanges = function () {\n return this.changes;\n };\n /**\n * Create\n *\n * @returns {Changes}\n */\n Changes.create = function () {\n return new Changes();\n };\n /**\n * To array\n *\n * @returns {[]}\n */\n Changes.prototype.toArray = function () {\n return JSON.parse(JSON.stringify(this.changes));\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Changes}\n */\n Changes.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var changes = Changes.create();\n changes.changes = array;\n return changes;\n };\n return Changes;\n}());\nexports.Changes = Changes;\n","\"use strict\";\nexports.__esModule = true;\nexports.Coordinate = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * Coordinate Type cast\n * @param coordinate\n */\nvar Coordinate = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param {number} lat\n * @param {number} lon\n */\n function Coordinate(lat, lon) {\n this.lat = lat;\n this.lon = lon;\n }\n /**\n * Get latitude\n *\n * @return float\n */\n Coordinate.prototype.getLatitude = function () {\n return this.lat;\n };\n /**\n * Get longitude\n *\n * @return float\n */\n Coordinate.prototype.getLongitude = function () {\n return this.lon;\n };\n /**\n * To array\n *\n * @return {{lat: number, lon: number}}\n */\n Coordinate.prototype.toArray = function () {\n return {\n lat: this.lat,\n lon: this.lon,\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return Coordinate\n *\n * @throws InvalidFormatError\n */\n Coordinate.createFromArray = function (array) {\n if (typeof array.lat == \"undefined\" ||\n typeof array.lon == \"undefined\") {\n throw InvalidFormatError_1.InvalidFormatError.coordinateFormatNotValid();\n }\n return new Coordinate(array.lat, array.lon);\n };\n return Coordinate;\n}());\nexports.Coordinate = Coordinate;\n","\"use strict\";\nexports.__esModule = true;\nexports.Index = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar IndexUUID_1 = require(\"./IndexUUID\");\nvar AppUUID_1 = require(\"./AppUUID\");\n/**\n * Index class\n */\nvar Index = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param uuid\n * @param appUUID\n * @param isOK\n * @param docCount\n * @param size\n */\n function Index(uuid, appUUID, isOK, docCount, size) {\n if (isOK === void 0) { isOK = false; }\n if (docCount === void 0) { docCount = 0; }\n if (size === void 0) { size = '0kb'; }\n this.uuid = uuid;\n this.appUUID = appUUID;\n this.isOK = isOK;\n this.docCount = docCount;\n this.size = size;\n }\n /**\n * Get uuid\n *\n * @return {IndexUUID}\n */\n Index.prototype.getUUID = function () {\n return this.uuid;\n };\n /**\n * Get app id\n *\n * @return {AppUUID}\n */\n Index.prototype.getAppUUID = function () {\n return this.appUUID;\n };\n /**\n * Index is OK\n *\n * @return {boolean}\n */\n Index.prototype.isOk = function () {\n return this.isOK;\n };\n /**\n * Get doc count\n *\n * @return {number}\n */\n Index.prototype.getDocCount = function () {\n return this.docCount;\n };\n /**\n * get size\n *\n * @return {string}\n */\n Index.prototype.getSize = function () {\n return this.size;\n };\n /**\n * To array\n *\n * @returns {{id: string, attributes: {}}}\n */\n Index.prototype.toArray = function () {\n return {\n uuid: this.uuid.toArray(),\n app_id: this.appUUID.toArray(),\n is_ok: this.isOK,\n doc_count: this.docCount,\n size: this.size\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return User\n */\n Index.createFromArray = function (array) {\n if (typeof array.uuid == \"undefined\" ||\n typeof array.app_id == \"undefined\") {\n throw InvalidFormatError_1.InvalidFormatError.indexFormatNotValid();\n }\n return new Index(IndexUUID_1.IndexUUID.createFromArray(array.uuid), AppUUID_1.AppUUID.createFromArray(array.app_id), (typeof array.is_ok == \"undefined\" ? false : array.is_ok), (typeof array.doc_count == \"undefined\" ? 0 : array.doc_count), (typeof array.size == \"undefined\" ? '0kb' : array.size));\n };\n return Index;\n}());\nexports.Index = Index;\n","\"use strict\";\nexports.__esModule = true;\nexports.IndexUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * IndexUUID class\n */\nvar IndexUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n */\n function IndexUUID(id) {\n if (id.indexOf('_') >= 0) {\n throw InvalidFormatError_1.InvalidFormatError.indexUUIDFormatNotValid();\n }\n this.id = id;\n }\n /**\n * Create by id\n *\n * @param id\n *\n * @returns {ItemUUID}\n */\n IndexUUID.createById = function (id) {\n return new IndexUUID(id);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n IndexUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n IndexUUID.prototype.toArray = function () {\n return {\n id: this.id,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n IndexUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new IndexUUID(array.id);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n IndexUUID.prototype.composedUUID = function () {\n return this.id;\n };\n return IndexUUID;\n}());\nexports.IndexUUID = IndexUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Item = void 0;\nvar tslib_1 = require(\"tslib\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar Coordinate_1 = require(\"./Coordinate\");\nvar ItemUUID_1 = require(\"./ItemUUID\");\nvar AppUUID_1 = require(\"./AppUUID\");\nvar IndexUUID_1 = require(\"./IndexUUID\");\n/**\n * Item class\n */\nvar Item = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param uuid\n * @param coordinate\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n */\n function Item(uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n this.metadata = {};\n this.indexedMetadata = {};\n this.searchableMetadata = {};\n this.exactMatchingMetadata = [];\n this.suggest = [];\n this.highlights = {};\n this.promoted = false;\n this.uuid = uuid;\n this.coordinate = coordinate;\n this.metadata = metadata;\n this.indexedMetadata = indexedMetadata;\n this.searchableMetadata = searchableMetadata;\n this.exactMatchingMetadata = exactMatchingMetadata;\n this.suggest = suggest;\n }\n /**\n * Create new Item\n *\n * @param uuid\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n * @returns {Item}\n */\n Item.create = function (uuid, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n if (metadata === void 0) { metadata = {}; }\n if (indexedMetadata === void 0) { indexedMetadata = {}; }\n if (searchableMetadata === void 0) { searchableMetadata = {}; }\n if (exactMatchingMetadata === void 0) { exactMatchingMetadata = []; }\n if (suggest === void 0) { suggest = []; }\n return new Item(uuid, null, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest);\n };\n /**\n * Create new located Item\n *\n * @param uuid\n * @param coordinate\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n * @returns {Item}\n */\n Item.createLocated = function (uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n if (metadata === void 0) { metadata = {}; }\n if (indexedMetadata === void 0) { indexedMetadata = {}; }\n if (searchableMetadata === void 0) { searchableMetadata = {}; }\n if (exactMatchingMetadata === void 0) { exactMatchingMetadata = []; }\n if (suggest === void 0) { suggest = []; }\n return new Item(uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest);\n };\n /**\n * Get uuid\n *\n * @returns ItemUUID\n */\n Item.prototype.getUUID = function () {\n return this.uuid;\n };\n /**\n * Get id\n *\n * @returns string\n */\n Item.prototype.getId = function () {\n return this.uuid.getId();\n };\n /**\n * Get type\n *\n * @returns string\n */\n Item.prototype.getType = function () {\n return this.uuid.getType();\n };\n /**\n * Get coordinate\n *\n * @returns Coordinate|null\n */\n Item.prototype.getCoordinate = function () {\n return this.coordinate;\n };\n /**\n * Get distance\n *\n * @returns int\n */\n Item.prototype.getDistance = function () {\n return this.distance;\n };\n /**\n * Get metadata\n *\n * @returns Array\n */\n Item.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Set metadata\n *\n * @param metadata\n */\n Item.prototype.setMetadata = function (metadata) {\n this.metadata = metadata;\n };\n /**\n * Add metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addMetadata = function (key, value) {\n this.metadata[key] = value;\n };\n /**\n * Get indexed metadata\n *\n * @returns Array\n */\n Item.prototype.getIndexedMetadata = function () {\n return this.indexedMetadata;\n };\n /**\n * Set indexed metadata\n *\n * @param indexedMetadata\n */\n Item.prototype.setIndexedMetadata = function (indexedMetadata) {\n this.indexedMetadata = indexedMetadata;\n };\n /**\n * Add indexed metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addIndexedMetadata = function (key, value) {\n this.indexedMetadata[key] = value;\n };\n /**\n * Get searchable metadata\n *\n * @returns Array\n */\n Item.prototype.getSearchableMetadata = function () {\n return this.searchableMetadata;\n };\n /**\n * Set searchable metadata\n *\n * @param searchableMetadata\n */\n Item.prototype.setSearchableMetadata = function (searchableMetadata) {\n this.searchableMetadata = searchableMetadata;\n };\n /**\n * Add searchable metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addSearchableMetadata = function (key, value) {\n this.searchableMetadata[key] = value;\n };\n /**\n * Get exactMatching metadata\n *\n * @returns Array\n */\n Item.prototype.getExactMatchingMetadata = function () {\n return this.exactMatchingMetadata;\n };\n /**\n * Set exactMatching metadata\n *\n * @param exactMatchingMetadata\n */\n Item.prototype.setExactMatchingMetadata = function (exactMatchingMetadata) {\n this.exactMatchingMetadata = exactMatchingMetadata;\n };\n /**\n * Add exactMatching metadata\n *\n * @param value\n */\n Item.prototype.addExactMatchingMetadata = function (value) {\n this.exactMatchingMetadata.push(value);\n };\n /**\n * Get all metadata\n *\n * @returns {{}}\n */\n Item.prototype.getAllMetadata = function () {\n return tslib_1.__assign(tslib_1.__assign({}, this.metadata), this.indexedMetadata);\n };\n /**\n * Get\n *\n * @param key\n *\n * @returns mixed|null\n */\n Item.prototype.get = function (key) {\n var allMetadata = this.getAllMetadata();\n return (typeof allMetadata[key] != \"undefined\")\n ? allMetadata[key]\n : null;\n };\n /**\n * Get suggest\n *\n * @returns Array\n */\n Item.prototype.getSuggest = function () {\n return this.suggest;\n };\n /**\n * Get highlights\n *\n * @returns Array\n */\n Item.prototype.getHighlights = function () {\n return this.highlights;\n };\n /**\n * Get highlight\n *\n * @param key\n *\n * @return string|null\n */\n Item.prototype.getHighlight = function (key) {\n return (typeof this.highlights[key] != \"undefined\")\n ? this.highlights[key]\n : null;\n };\n /**\n * Is promoted\n *\n * @returns boolean\n */\n Item.prototype.isPromoted = function () {\n return this.promoted;\n };\n /**\n * Set score\n *\n * @param score\n *\n * @return {Item}\n */\n Item.prototype.setScore = function (score) {\n this.score = score;\n return this;\n };\n /**\n * Get score\n *\n * @return {number}\n */\n Item.prototype.getScore = function () {\n return this.score;\n };\n /**\n * Set appUUID\n *\n * @return {AppUUID}\n */\n Item.prototype.getAppUUID = function () {\n return this.appUUID;\n };\n /**\n * Set indexUUID\n *\n * @return {IndexUUID}\n */\n Item.prototype.getIndexUUID = function () {\n return this.indexUUID;\n };\n /**\n * To array\n */\n Item.prototype.toArray = function () {\n var itemAsArray = {\n uuid: this.uuid.toArray(),\n };\n if (this.coordinate instanceof Coordinate_1.Coordinate) {\n itemAsArray.coordinate = this.coordinate.toArray();\n }\n if (Object.keys(this.metadata).length > 0) {\n itemAsArray.metadata = this.metadata;\n }\n if (Object.keys(this.indexedMetadata).length > 0) {\n itemAsArray.indexed_metadata = this.indexedMetadata;\n }\n if (Object.keys(this.searchableMetadata).length > 0) {\n itemAsArray.searchable_metadata = this.searchableMetadata;\n }\n if (this.exactMatchingMetadata.length > 0) {\n itemAsArray.exact_matching_metadata = this.exactMatchingMetadata;\n }\n if (this.suggest.length > 0) {\n itemAsArray.suggest = this.suggest;\n }\n if (Object.keys(this.highlights).length > 0) {\n itemAsArray.highlights = this.highlights;\n }\n if (this.isPromoted()) {\n itemAsArray.is_promoted = true;\n }\n if (typeof this.distance != \"undefined\") {\n itemAsArray.distance = this.distance;\n }\n if (typeof this.score != \"undefined\") {\n itemAsArray.score = this.score;\n }\n if (typeof this.appUUID != \"undefined\") {\n itemAsArray.app_uuid = this.appUUID.toArray();\n }\n if (typeof this.indexUUID != \"undefined\") {\n itemAsArray.index_uuid = this.indexUUID.toArray();\n }\n return itemAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n */\n Item.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.uuid != \"object\") {\n throw InvalidFormatError_1.InvalidFormatError.itemUUIDRepresentationNotValid();\n }\n if (typeof array.coordinate != \"undefined\" &&\n typeof array.coordinate != \"object\") {\n throw InvalidFormatError_1.InvalidFormatError.coordinateFormatNotValid();\n }\n var item = (typeof array.coordinate == \"object\" &&\n array.coordinate != null)\n ? Item.createLocated(ItemUUID_1.ItemUUID.createFromArray(array.uuid), Coordinate_1.Coordinate.createFromArray(array.coordinate), ((typeof array.metadata == \"undefined\") ? {} : array.metadata), ((typeof array.indexed_metadata == \"undefined\") ? {} : array.indexed_metadata), ((typeof array.searchable_metadata == \"undefined\") ? {} : array.searchable_metadata), ((typeof array.exact_matching_metadata == \"undefined\") ? [] : array.exact_matching_metadata), ((typeof array.suggest == \"undefined\") ? [] : array.suggest))\n : Item.create(ItemUUID_1.ItemUUID.createFromArray(array.uuid), ((typeof array.metadata == \"undefined\") ? {} : array.metadata), ((typeof array.indexed_metadata == \"undefined\") ? {} : array.indexed_metadata), ((typeof array.searchable_metadata == \"undefined\") ? {} : array.searchable_metadata), ((typeof array.exact_matching_metadata == \"undefined\") ? [] : array.exact_matching_metadata), ((typeof array.suggest == \"undefined\") ? [] : array.suggest));\n if (typeof array.distance != \"undefined\" &&\n array.distance != null) {\n item.distance = array.distance;\n }\n if (typeof array.highlights == \"object\" &&\n array.highlights != null) {\n item.highlights = array.highlights;\n }\n if (typeof array.is_promoted != \"undefined\" &&\n array.is_promoted != null) {\n item.promoted = array.is_promoted;\n }\n if (typeof array.score != \"undefined\" &&\n array.score != null) {\n item.score = array.score;\n }\n if (typeof array.app_uuid != \"undefined\" &&\n array.app_uuid != null) {\n item.appUUID = AppUUID_1.AppUUID.createFromArray(array.app_uuid);\n }\n if (typeof array.index_uuid != \"undefined\" &&\n array.index_uuid != null) {\n item.indexUUID = IndexUUID_1.IndexUUID.createFromArray(array.index_uuid);\n }\n return item;\n };\n /**\n * Compose uuid\n *\n * @returns string\n */\n Item.prototype.composeUUID = function () {\n return this.uuid.composedUUID();\n };\n /**\n * Get path by field.\n *\n * @param field\n *\n * @returns {string}\n */\n Item.getPathByField = function (field) {\n return ([\"id\", \"type\"].indexOf(field) > -1)\n ? \"uuid.\" + field\n : \"indexed_metadata.\" + field;\n };\n return Item;\n}());\nexports.Item = Item;\n","\"use strict\";\nexports.__esModule = true;\nexports.ItemUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * ItemUUID class\n */\nvar ItemUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n * @param type\n */\n function ItemUUID(id, type) {\n this.id = id;\n this.type = type;\n }\n /**\n * Create composed UUID\n *\n * @param composedUUID\n *\n * @returns {ItemUUID}\n */\n ItemUUID.createByComposedUUID = function (composedUUID) {\n var parts = composedUUID.split(\"~\");\n if (2 != parts.length) {\n throw InvalidFormatError_1.InvalidFormatError.composedItemUUIDNotValid();\n }\n return new ItemUUID(parts[0], parts[1]);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n ItemUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * Get type\n *\n * @returns {string}\n */\n ItemUUID.prototype.getType = function () {\n return this.type;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n ItemUUID.prototype.toArray = function () {\n return {\n id: this.id,\n type: this.type,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n ItemUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new ItemUUID(array.id, array.type);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n ItemUUID.prototype.composedUUID = function () {\n return this.id + \"~\" + this.type;\n };\n return ItemUUID;\n}());\nexports.ItemUUID = ItemUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Metadata = void 0;\n/**\n * User class\n */\nvar Metadata = /** @class */ (function () {\n function Metadata() {\n }\n /**\n * To metadata\n *\n * @param array:{}\n *\n * @returns {string}\n */\n Metadata.toMetadata = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var parts = [];\n for (var key in array) {\n parts.push(key + \"##\" + array[key]);\n }\n return parts.join(\"~~\");\n };\n /**\n * From metadata\n *\n * @param metadata\n *\n * @return {{}}\n */\n Metadata.fromMetadata = function (metadata) {\n var values = {};\n var splittedParts = metadata.split(\"~~\");\n var iterator = 0;\n var size = 0;\n var lastElement = null;\n for (var key in splittedParts) {\n var part = splittedParts[key];\n var parts = part.split(\"##\");\n if (parts.length > 1) {\n lastElement = parts[1];\n values[parts[0]] = lastElement;\n }\n else {\n lastElement = part;\n values[iterator++] = lastElement;\n }\n size++;\n }\n if (size == 1) {\n values = {\n id: lastElement,\n name: lastElement,\n };\n }\n if (typeof values.id == \"undefined\") {\n return null;\n }\n return values;\n };\n return Metadata;\n}());\nexports.Metadata = Metadata;\n","\"use strict\";\nexports.__esModule = true;\nexports.User = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * User class\n */\nvar User = /** @class */ (function () {\n /**\n * Construct\n *\n * @param id string\n * @param attributes Array\n */\n function User(id, attributes) {\n if (attributes === void 0) { attributes = {}; }\n this.id = id;\n this.attributes = attributes;\n }\n /**\n * Return the user id\n *\n * @return {string}\n */\n User.prototype.getId = function () {\n return this.id;\n };\n /**\n * Return array\n *\n * @returns {{}}\n */\n User.prototype.getAttributes = function () {\n return this.attributes;\n };\n /**\n * To array\n *\n * @returns {{id: string, attributes: {}}}\n */\n User.prototype.toArray = function () {\n var array = {\n id: this.id,\n };\n if (Object.keys(this.attributes).length > 0) {\n array.attributes = this.attributes;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return User\n */\n User.createFromArray = function (array) {\n if (array == null ||\n typeof array.id == \"undefined\" ||\n array.id == null) {\n throw InvalidFormatError_1.InvalidFormatError.userFormatNotValid();\n }\n var attributes = typeof array.attributes === typeof {}\n ? array.attributes\n : {};\n return new User(array.id, attributes);\n };\n return User;\n}());\nexports.User = User;\n","\"use strict\";\nexports.__esModule = true;\nexports.Aggregation = exports.AGGREGATION_NO_LIMIT = exports.AGGREGATION_SORT_BY_NAME_DESC = exports.AGGREGATION_SORT_BY_NAME_ASC = exports.AGGREGATION_SORT_BY_COUNT_DESC = exports.AGGREGATION_SORT_BY_COUNT_ASC = void 0;\nvar Filter_1 = require(\"./Filter\");\n/**\n * Aggregation constants\n */\nexports.AGGREGATION_SORT_BY_COUNT_ASC = [\"_count\", \"asc\"];\nexports.AGGREGATION_SORT_BY_COUNT_DESC = [\"_count\", \"desc\"];\nexports.AGGREGATION_SORT_BY_NAME_ASC = [\"_term\", \"asc\"];\nexports.AGGREGATION_SORT_BY_NAME_DESC = [\"_term\", \"desc\"];\nexports.AGGREGATION_NO_LIMIT = 0;\n/**\n * Aggregation class\n */\nvar Aggregation = /** @class */ (function () {\n /**\n * Construct\n *\n * @param name\n * @param field\n * @param applicationType\n * @param filterType\n * @param subgroup\n * @param sort\n * @param limit\n * @param promoted\n */\n function Aggregation(name, field, applicationType, filterType, subgroup, sort, limit, promoted) {\n this.subgroup = [];\n this.name = name;\n this.field = field;\n this.applicationType = applicationType;\n this.filterType = filterType;\n this.subgroup = subgroup;\n this.sort = sort;\n this.limit = limit;\n this.promoted = promoted;\n }\n /**\n * Get name\n *\n * @returns {string}\n */\n Aggregation.prototype.getName = function () {\n return this.name;\n };\n /**\n * Get field\n *\n * @returns {string}\n */\n Aggregation.prototype.getField = function () {\n return this.field;\n };\n /**\n * getApplicationType\n *\n * @returns {number}\n */\n Aggregation.prototype.getApplicationType = function () {\n return this.applicationType;\n };\n /**\n * Get filter type\n *\n * @return {string}\n */\n Aggregation.prototype.getFilterType = function () {\n return this.filterType;\n };\n /**\n * Get subgroup\n *\n * @return {[]}\n */\n Aggregation.prototype.getSubgroup = function () {\n return this.subgroup;\n };\n /**\n * Get sort\n *\n * @return {[]}\n */\n Aggregation.prototype.getSort = function () {\n return this.sort;\n };\n /**\n * Get limit\n *\n * @return {number}\n */\n Aggregation.prototype.getLimit = function () {\n return this.limit;\n };\n /**\n * Get promoted\n *\n * @return {[]}\n */\n Aggregation.prototype.getPromoted = function () {\n return this.promoted;\n };\n /**\n * Create\n *\n * @param name\n * @param field\n * @param applicationType\n * @param filterType\n * @param subgroup\n * @param sort\n * @param limit\n * @param promoted\n *\n * @returns {Aggregation}\n */\n Aggregation.create = function (name, field, applicationType, filterType, subgroup, sort, limit, promoted) {\n if (subgroup === void 0) { subgroup = []; }\n if (sort === void 0) { sort = exports.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = exports.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n return new Aggregation(name, field, applicationType, filterType, subgroup, sort, limit, promoted);\n };\n /**\n * To array\n *\n * @returns {Array}\n */\n Aggregation.prototype.toArray = function () {\n var aggregationAsArray = {\n name: this.name,\n };\n if (this.field !== \"uuid.type\") {\n aggregationAsArray.field = this.field;\n }\n if (this.applicationType !== Filter_1.FILTER_AT_LEAST_ONE) {\n aggregationAsArray.application_type = this.applicationType;\n }\n if (this.filterType !== Filter_1.FILTER_TYPE_FIELD) {\n aggregationAsArray.filter_type = this.filterType;\n }\n if (this.subgroup.length > 0) {\n aggregationAsArray.subgroup = this.subgroup;\n }\n if (JSON.stringify(this.sort) !== JSON.stringify(exports.AGGREGATION_SORT_BY_COUNT_DESC)) {\n aggregationAsArray.sort = this.sort;\n }\n if (this.limit !== exports.AGGREGATION_NO_LIMIT) {\n aggregationAsArray.limit = this.limit;\n }\n if (this.promoted.length > 0) {\n aggregationAsArray.promoted = this.promoted;\n }\n return aggregationAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Aggregation}\n */\n Aggregation.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.field === \"undefined\") {\n array.field = \"uuid.type\";\n }\n if (typeof array.application_type === \"undefined\") {\n array.application_type = Filter_1.FILTER_AT_LEAST_ONE;\n }\n if (typeof array.filter_type === \"undefined\") {\n array.filter_type = Filter_1.FILTER_TYPE_FIELD;\n }\n if (typeof array.subgroup === \"undefined\") {\n array.subgroup = [];\n }\n if (typeof array.sort === \"undefined\") {\n array.sort = exports.AGGREGATION_SORT_BY_COUNT_DESC;\n }\n if (typeof array.limit === \"undefined\") {\n array.limit = exports.AGGREGATION_NO_LIMIT;\n }\n if (typeof array.promoted === \"undefined\") {\n array.promoted = [];\n }\n return Aggregation.create(array.name, array.field, array.application_type, array.filter_type, array.subgroup, array.sort, array.limit, array.promoted);\n };\n return Aggregation;\n}());\nexports.Aggregation = Aggregation;\n","\"use strict\";\nexports.__esModule = true;\nexports.Filter = exports.FILTER_TYPE_QUERY = exports.FILTER_TYPE_GEO = exports.FILTER_TYPE_DATE_RANGE = exports.FILTER_TYPE_RANGE = exports.FILTER_TYPE_FIELD = exports.FILTER_PROMOTE = exports.FILTER_EXCLUDE = exports.FILTER_AT_LEAST_ONE = exports.FILTER_MUST_ALL_WITH_LEVELS = exports.FILTER_MUST_ALL = void 0;\n/**\n * filter constants\n */\nexports.FILTER_MUST_ALL = 4;\nexports.FILTER_MUST_ALL_WITH_LEVELS = 5;\nexports.FILTER_AT_LEAST_ONE = 8;\nexports.FILTER_EXCLUDE = 16;\nexports.FILTER_PROMOTE = 32;\nexports.FILTER_TYPE_FIELD = \"field\";\nexports.FILTER_TYPE_RANGE = \"range\";\nexports.FILTER_TYPE_DATE_RANGE = \"date_range\";\nexports.FILTER_TYPE_GEO = \"geo\";\nexports.FILTER_TYPE_QUERY = \"query\";\n/**\n * Filter class\n */\nvar Filter = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param field\n * @param values\n * @param applicationType\n * @param filterType\n * @param filterTerms\n */\n function Filter(field, values, applicationType, filterType, filterTerms) {\n this.field = field;\n this.values = values;\n this.applicationType = applicationType;\n this.filterType = filterType;\n this.filterTerms = filterTerms;\n }\n /**\n * Get field\n *\n * @returns {string}\n */\n Filter.prototype.getField = function () {\n return this.field;\n };\n /**\n * Get values\n *\n * @returns {any}\n */\n Filter.prototype.getValues = function () {\n return this.values;\n };\n /**\n * Has value\n *\n * @param value\n *\n * @returns {boolean}\n */\n Filter.prototype.hasValue = function (value) {\n return typeof this.values[value] == \"undefined\";\n };\n /**\n * getApplicationType\n *\n * @returns {number}\n */\n Filter.prototype.getApplicationType = function () {\n return this.applicationType;\n };\n /**\n * Get filter type\n *\n * @return {string}\n */\n Filter.prototype.getFilterType = function () {\n return this.filterType;\n };\n /**\n * Get filter type\n *\n * @return {{}}\n */\n Filter.prototype.getFilterTerms = function () {\n return this.filterTerms;\n };\n /**\n * Create\n *\n * @param field\n * @param values\n * @param applicationType\n * @param filterType\n * @param filterTerms\n *\n * @return {Filter}\n */\n Filter.create = function (field, values, applicationType, filterType, filterTerms) {\n if (filterTerms === void 0) { filterTerms = []; }\n return new Filter(field, values, applicationType, filterType, filterTerms);\n };\n /**\n * To array\n *\n * @returns {Array}\n */\n Filter.prototype.toArray = function () {\n var filterAsArray = {};\n if (this.field != \"uuid.type\") {\n filterAsArray.field = this.field;\n }\n if (this.values.length > 0 ||\n Object.keys(this.values).length > 0) {\n filterAsArray.values = this.values;\n }\n if (this.applicationType != exports.FILTER_AT_LEAST_ONE) {\n filterAsArray.application_type = this.applicationType;\n }\n if (this.filterType != exports.FILTER_TYPE_FIELD) {\n filterAsArray.filter_type = this.filterType;\n }\n if (this.filterTerms.length > 0) {\n filterAsArray.filter_terms = this.filterTerms;\n }\n return filterAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Filter}\n */\n Filter.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.field == \"undefined\") {\n array.field = \"uuid.type\";\n }\n if (typeof array.values == \"undefined\") {\n array.values = [];\n }\n if (typeof array.application_type == \"undefined\") {\n array.application_type = exports.FILTER_AT_LEAST_ONE;\n }\n if (typeof array.filter_type == \"undefined\") {\n array.filter_type = exports.FILTER_TYPE_FIELD;\n }\n if (typeof array.filter_terms == \"undefined\") {\n array.filter_terms = [];\n }\n return Filter.create(array.field, array.values, array.application_type, array.filter_type, array.filter_terms);\n };\n return Filter;\n}());\nexports.Filter = Filter;\n","\"use strict\";\nexports.__esModule = true;\nexports.Query = exports.NO_MIN_SCORE = exports.QUERY_DEFAULT_SIZE = exports.QUERY_DEFAULT_PAGE = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Coordinate_1 = require(\"../Model/Coordinate\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\nvar Item_1 = require(\"../Model/Item\");\nvar User_1 = require(\"../Model/User\");\nvar Aggregation_1 = require(\"./Aggregation\");\nvar Filter_1 = require(\"./Filter\");\nvar Filter_2 = require(\"./Filter\");\nvar Aggregation_2 = require(\"./Aggregation\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar Filter_3 = require(\"./Filter\");\nvar ScoreStrategies_1 = require(\"./ScoreStrategies\");\nvar SortBy_1 = require(\"./SortBy\");\nvar IndexUUID_1 = require(\"../Model/IndexUUID\");\n/**\n * Query constants\n */\nexports.QUERY_DEFAULT_PAGE = 1;\nexports.QUERY_DEFAULT_SIZE = 10;\nexports.NO_MIN_SCORE = 0.0;\n/**\n * Query class\n */\nvar Query = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param queryText\n */\n function Query(queryText) {\n this.UUID = null;\n this.fields = [];\n this.universeFilters = {};\n this.filters = {};\n this.itemsPromoted = [];\n this.aggregations = {};\n this.resultsEnabled = true;\n this.aggregationsEnabled = true;\n this.numberOfSuggestions = 0;\n this.highlightsEnabled = false;\n this.autocompleteEnabled = false;\n this.searchableFields = [];\n this.fuzziness = null;\n this.minScore = exports.NO_MIN_SCORE;\n this.metadata = {};\n this.subqueries = {};\n this.queryOperator = null;\n this.sortByInstance = SortBy_1.SortBy.create();\n this.filters._query = Filter_1.Filter.create(\"\", [queryText], 0, Filter_3.FILTER_TYPE_QUERY);\n }\n /**\n * Created located\n *\n * @param coordinate\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Query.createLocated = function (coordinate, queryText, page, size) {\n if (page === void 0) { page = exports.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = exports.QUERY_DEFAULT_SIZE; }\n var query = Query.create(queryText, page, size);\n query.coordinate = coordinate;\n return query;\n };\n /**\n * Create\n *\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Query.create = function (queryText, page, size) {\n if (page === void 0) { page = exports.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = exports.QUERY_DEFAULT_SIZE; }\n page = Math.max(1, page);\n var query = new Query(queryText);\n query.from = (page - 1) * size;\n query.size = size;\n query.page = page;\n return query;\n };\n /**\n * Create match all\n *\n * @return {Query}\n */\n Query.createMatchAll = function () {\n return Query.create(\"\", exports.QUERY_DEFAULT_PAGE, exports.QUERY_DEFAULT_SIZE);\n };\n /**\n * Create by UUID\n *\n * @param uuid\n *\n * @return {Query}\n */\n Query.createByUUID = function (uuid) {\n return Query.createByUUIDs(uuid);\n };\n /**\n * Create by UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.createByUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n var ids = [];\n for (var i in uuids) {\n ids.push(uuids[i].composedUUID());\n }\n var query = Query.create(\"\", exports.QUERY_DEFAULT_PAGE, ids.length)\n .disableAggregations()\n .disableSuggestions();\n query.filters._id = Filter_1.Filter.create(\"_id\", ids, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD);\n return query;\n };\n /**\n * Create by UUIDs\n *\n * @param queries\n *\n * @return {Query}\n */\n Query.createMultiquery = function (queries) {\n var query = Query.createMatchAll();\n query.subqueries = queries;\n return query;\n };\n /**\n * set fields\n *\n * @param fields\n *\n * @return {Query}\n */\n Query.prototype.setFields = function (fields) {\n this.fields = fields;\n return this;\n };\n /**\n * get fields\n *\n * @return {string[]}\n */\n Query.prototype.getFields = function () {\n return this.fields;\n };\n /**\n * Filter universe by types\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByTypes = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"type\");\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"type\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters.type;\n }\n return this;\n };\n /**\n * Filter by types\n *\n * @param values\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByTypes = function (values, aggregate, aggregationSort) {\n var _a, _b;\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(\"type\");\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"type\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters.type;\n }\n if (aggregate) {\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_b = {}, _b[\"type\"] = Aggregation_1.Aggregation.create(\"type\", fieldPath, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD, [], aggregationSort), _b));\n }\n return this;\n };\n /**\n * Filter universe by ids\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByIds = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"id\");\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"id\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters.id;\n }\n return this;\n };\n /**\n * Filter by ids\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterByIds = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"id\");\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"id\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters.id;\n }\n return this;\n };\n /**\n * Filter universe by\n *\n * @param field\n * @param values\n * @param applicationType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseBy = function (field, values, applicationType) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[field] = Filter_1.Filter.create(fieldPath, values, applicationType, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters[field];\n }\n return this;\n };\n /**\n * Filter by\n *\n * @param filterName\n * @param field\n * @param values\n * @param applicationType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterBy = function (filterName, field, values, applicationType, aggregate, aggregationSort) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[filterName] = Filter_1.Filter.create(fieldPath, values, applicationType, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters[filterName];\n }\n if (aggregate) {\n this.aggregateBy(filterName, field, applicationType, aggregationSort);\n }\n return this;\n };\n /**\n * Filter universe by range\n *\n * @param field\n * @param values\n * @param applicationType\n * @param rangeType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByRange = function (field, values, applicationType, rangeType) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[field] = Filter_1.Filter.create(fieldPath, values, applicationType, rangeType), _a));\n }\n else {\n delete this.universeFilters[field];\n }\n return this;\n };\n /**\n * Filter universe by date range\n *\n * @param field\n * @param values\n * @param applicationType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByDateRange = function (field, values, applicationType) {\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n return this.filterUniverseByRange(field, values, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE);\n };\n /**\n * Filter by range\n *\n * @param filterName\n * @param field\n * @param ranges\n * @param values\n * @param applicationType\n * @param rangeType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByRange = function (filterName, field, ranges, values, applicationType, rangeType, aggregate, aggregationSort) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length !== 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[filterName] = Filter_1.Filter.create(fieldPath, values, applicationType, rangeType), _a));\n }\n else {\n delete this.filters[filterName];\n }\n if (aggregate) {\n this.aggregateByRange(filterName, fieldPath, ranges, applicationType, rangeType, aggregationSort);\n }\n return this;\n };\n /**\n * Filter by date range\n *\n * @param filterName\n * @param field\n * @param options\n * @param values\n * @param applicationType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByDateRange = function (filterName, field, options, values, applicationType, aggregate, aggregationSort) {\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n return this.filterByRange(filterName, field, options, values, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE, aggregate, aggregationSort);\n };\n /**\n * Filter universe by location\n *\n * @param locationRange\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByLocation = function (locationRange) {\n var _a;\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"coordinate\"] = Filter_1.Filter.create(\"coordinate\", locationRange.toArray(), Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_GEO), _a));\n return this;\n };\n /**\n * Set filter fields\n *\n * @param searchableFields\n *\n * @return {Query}\n */\n Query.prototype.setSearchableFields = function (searchableFields) {\n this.searchableFields = searchableFields;\n return this;\n };\n /**\n * Get filter fields\n *\n * @return {string[]}\n */\n Query.prototype.getSearchableFields = function () {\n return this.searchableFields;\n };\n /**\n * Sort by\n *\n * @param sortBy\n *\n * @return {Query}\n */\n Query.prototype.sortBy = function (sortBy) {\n if (sortBy.isSortedByGeoDistance()) {\n if (!(this.coordinate instanceof Coordinate_1.Coordinate)) {\n throw InvalidFormatError_1.InvalidFormatError.querySortedByDistanceWithoutCoordinate();\n }\n sortBy.setCoordinate(this.coordinate);\n }\n this.sortByInstance = sortBy;\n return this;\n };\n /**\n * Aggregate by\n *\n * @param filterName\n * @param field\n * @param applicationType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateBy = function (filterName, field, applicationType, aggregationSort, limit, promoted) {\n var _a;\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_a = {}, _a[filterName] = Aggregation_1.Aggregation.create(filterName, Item_1.Item.getPathByField(field), applicationType, Filter_2.FILTER_TYPE_FIELD, [], aggregationSort, limit, promoted), _a));\n return this;\n };\n /**\n * Aggregate by range\n *\n * @param filterName\n * @param field\n * @param ranges\n * @param applicationType\n * @param rangeType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateByRange = function (filterName, field, ranges, applicationType, rangeType, aggregationSort, limit, promoted) {\n var _a;\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n if (ranges.length === 0) {\n return this;\n }\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_a = {}, _a[filterName] = Aggregation_1.Aggregation.create(filterName, Item_1.Item.getPathByField(field), applicationType, rangeType, ranges, aggregationSort, limit, promoted), _a));\n return this;\n };\n /**\n * Aggregate by date range\n *\n * @param filterName\n * @param field\n * @param options\n * @param applicationType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateByDateRange = function (filterName, field, options, applicationType, aggregationSort, limit, promoted) {\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n return this.aggregateByRange(filterName, field, options, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE, aggregationSort, limit, promoted);\n };\n /**\n * Get aggregations\n *\n * @return {{}}\n */\n Query.prototype.getAggregations = function () {\n return this.aggregations;\n };\n /**\n * Get aggregation by name\n *\n * @param aggregationName\n *\n * @return {Aggregation|null}\n */\n Query.prototype.getAggregation = function (aggregationName) {\n return this.aggregations[aggregationName] instanceof Aggregation_1.Aggregation\n ? this.aggregations[aggregationName]\n : null;\n };\n /**\n * Get query text\n *\n * @return {string}\n */\n Query.prototype.getQueryText = function () {\n var filter = this.filters._query;\n return filter instanceof Filter_1.Filter\n ? filter.getValues()[0]\n : \"\";\n };\n /**\n * Get universe filters\n *\n * @return {{}}\n */\n Query.prototype.getUniverseFilters = function () {\n return this.universeFilters;\n };\n /**\n * Get universe filter by name\n *\n * @param filterName\n *\n * @return {Filter|null}\n */\n Query.prototype.getUniverseFilter = function (filterName) {\n return this.universeFilters[filterName] instanceof Filter_1.Filter\n ? this.universeFilters[filterName]\n : null;\n };\n /**\n * Get filters\n *\n * @return {{}}\n */\n Query.prototype.getFilters = function () {\n return this.filters;\n };\n /**\n * Get filter by name\n *\n * @param filterName\n *\n * @return {Filter|null}\n */\n Query.prototype.getFilter = function (filterName) {\n return this.filters[filterName] instanceof Filter_1.Filter\n ? this.filters[filterName]\n : null;\n };\n /**\n * Get filter by field\n *\n * @param fieldName\n *\n * @return {Filter|null}\n */\n Query.prototype.getFilterByField = function (fieldName) {\n var fieldPath = Item_1.Item.getPathByField(fieldName);\n for (var i in this.filters) {\n if (this.filters[i].getField() == fieldPath) {\n return this.filters[i];\n }\n }\n return null;\n };\n /**\n * Get sort by\n *\n * @return {SortBy}\n */\n Query.prototype.getSortBy = function () {\n return this.sortByInstance;\n };\n /**\n * Get from\n *\n * @return {number}\n */\n Query.prototype.getFrom = function () {\n return this.from;\n };\n /**\n * Get size\n *\n * @return {number}\n */\n Query.prototype.getSize = function () {\n return this.size;\n };\n /**\n * Get page\n *\n * @return {number}\n */\n Query.prototype.getPage = function () {\n return this.page;\n };\n /**\n * Enable results\n *\n * @return {Query}\n */\n Query.prototype.enableResults = function () {\n this.resultsEnabled = true;\n return this;\n };\n /**\n * Disable results\n *\n * @return {Query}\n */\n Query.prototype.disableResults = function () {\n this.resultsEnabled = false;\n return this;\n };\n /**\n * Are results enabled\n *\n * @return {boolean}\n */\n Query.prototype.areResultsEnabled = function () {\n return this.resultsEnabled;\n };\n /**\n * Enable aggregations\n *\n * @return {Query}\n */\n Query.prototype.enableAggregations = function () {\n this.aggregationsEnabled = true;\n return this;\n };\n /**\n * Disable aggregations\n *\n * @return {Query}\n */\n Query.prototype.disableAggregations = function () {\n this.aggregationsEnabled = false;\n return this;\n };\n /**\n * Are aggregations enabled\n *\n * @return {boolean}\n */\n Query.prototype.areAggregationsEnabled = function () {\n return this.aggregationsEnabled;\n };\n /**\n * Set number of suggestions\n *\n * @param numberOfSuggestions\n *\n * @return {Query}\n */\n Query.prototype.setNumberOfSuggestions = function (numberOfSuggestions) {\n this.numberOfSuggestions = numberOfSuggestions;\n return this;\n };\n /**\n * Disable suggestions\n *\n * @return {Query}\n */\n Query.prototype.disableSuggestions = function () {\n this.numberOfSuggestions = 0;\n return this;\n };\n /**\n * Get number of suggestions\n *\n * @return {number}\n */\n Query.prototype.getNumberOfSuggestions = function () {\n return this.numberOfSuggestions;\n };\n /**\n * Enable autocomplete\n *\n * @return {Query}\n */\n Query.prototype.enableAutocomplete = function () {\n this.autocompleteEnabled = true;\n return this;\n };\n /**\n * Disable autocomplete\n *\n * @return {Query}\n */\n Query.prototype.disableAutocomplete = function () {\n this.autocompleteEnabled = false;\n return this;\n };\n /**\n * Are autocomplete enabled\n *\n * @return {boolean}\n */\n Query.prototype.areAutocompleteEnabled = function () {\n return this.autocompleteEnabled;\n };\n /**\n * Enable highlights\n *\n * @return {Query}\n */\n Query.prototype.enableHighlights = function () {\n this.highlightsEnabled = true;\n return this;\n };\n /**\n * Disable highlights\n *\n * @return {Query}\n */\n Query.prototype.disableHighlights = function () {\n this.highlightsEnabled = false;\n return this;\n };\n /**\n * Are highlights enabled\n *\n * @return {boolean}\n */\n Query.prototype.areHighlightsEnabled = function () {\n return this.highlightsEnabled;\n };\n /**\n * Promote uuid\n *\n * @param itemUUID\n *\n * @return {Query}\n */\n Query.prototype.promoteUUID = function (itemUUID) {\n this\n .itemsPromoted\n .push(itemUUID);\n return this;\n };\n /**\n * Promote UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.prototype.promoteUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n this.itemsPromoted = uuids;\n return this;\n };\n /**\n * Get promoted UUIDs\n *\n * @return {ItemUUID[]}\n */\n Query.prototype.getItemsPromoted = function () {\n return this.itemsPromoted;\n };\n /**\n * Exclude id\n *\n * @param itemUUID\n *\n * @return {Query}\n */\n Query.prototype.excludeUUID = function (itemUUID) {\n this.excludeUUIDs(itemUUID);\n return this;\n };\n /**\n * Exclude UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.prototype.excludeUUIDs = function () {\n var _a;\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"excluded_ids\"] = Filter_1.Filter.create(\"_id\", uuids.map(function (uuid) { return uuid.composedUUID(); }), Filter_2.FILTER_EXCLUDE, Filter_2.FILTER_TYPE_FIELD), _a));\n return this;\n };\n /**\n * Get score strategies\n *\n * @return {ScoreStrategies}\n */\n Query.prototype.getScoreStrategies = function () {\n return this.scoreStrategies;\n };\n /**\n * Set score strategies\n *\n * @param scoreStrategies\n */\n Query.prototype.setScoreStrategies = function (scoreStrategies) {\n this.scoreStrategies = scoreStrategies;\n return this;\n };\n /**\n * Get fuzziness\n *\n * @return any\n */\n Query.prototype.getFuzziness = function () {\n return this.fuzziness;\n };\n /**\n * Set fuzziness\n *\n * @param fuzziness\n *\n * @return {Query}\n */\n Query.prototype.setFuzziness = function (fuzziness) {\n this.fuzziness = fuzziness;\n return this;\n };\n /**\n * Set auto fuzziness\n *\n * @return {Query}\n */\n Query.prototype.setAutoFuzziness = function () {\n this.fuzziness = 'AUTO';\n return this;\n };\n /**\n * Get min score\n *\n * @return any\n */\n Query.prototype.getMinScore = function () {\n return this.minScore;\n };\n /**\n * Set min score\n *\n * @param minScore\n *\n * @return {Query}\n */\n Query.prototype.setMinScore = function (minScore) {\n this.minScore = minScore;\n return this;\n };\n /**\n * By user\n *\n * @param user\n *\n * @return {Query}\n */\n Query.prototype.byUser = function (user) {\n this.user = user;\n return this;\n };\n /**\n * By anyone\n *\n * @return {null}\n */\n Query.prototype.anonymously = function () {\n this.user = null;\n return null;\n };\n /**\n * Get user\n *\n * @return {User}\n */\n Query.prototype.getUser = function () {\n return this.user;\n };\n /**\n * set metadata value\n *\n * @param name\n * @param value\n *\n * @return {Query}\n */\n Query.prototype.setMetadataValue = function (name, value) {\n this.metadata[name] = value;\n return this;\n };\n /**\n * Get metadata\n *\n * @return any\n */\n Query.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Add subquery\n *\n * @param name\n * @param subquery\n *\n * @return {Query}\n */\n Query.prototype.addSubquery = function (name, subquery) {\n this.subqueries[name] = subquery;\n return this;\n };\n /**\n * Get subqueries\n *\n * @return {Object}\n */\n Query.prototype.getSubqueries = function () {\n return this.subqueries;\n };\n /**\n * Identify it\n *\n * @param UUID\n *\n * @return {Query}\n */\n Query.prototype.identifyWith = function (UUID) {\n this.UUID = UUID;\n return this;\n };\n /**\n * Get identification\n *\n * @return {string|null}\n */\n Query.prototype.getUUID = function () {\n return this.UUID;\n };\n /**\n * Force Index UUID.\n *\n * @param indexUUID\n *\n * @return {Query}\n */\n Query.prototype.forceIndexUUID = function (indexUUID) {\n this.indexUUID = indexUUID;\n return this;\n };\n /**\n * Get IndexUUID\n *\n * @return {IndexUUID|null}\n */\n Query.prototype.getIndexUUID = function () {\n return this.indexUUID;\n };\n Query.prototype.setQueryOperator = function (queryOperator) {\n this.queryOperator = queryOperator;\n return this;\n };\n Query.prototype.getQueryOperator = function () {\n return this.queryOperator;\n };\n Query.prototype.optimize = function () {\n var _a, _b, _c;\n var copy = this.toArray();\n var extraFilters = [];\n var otherAggregations = {};\n Object.keys((_a = copy.aggregations) !== null && _a !== void 0 ? _a : {}).forEach(function (key) {\n if (copy.aggregations[key].field.startsWith(\"indexed_metadata._\")) {\n extraFilters.push(copy.aggregations[key].field.slice(18));\n }\n else {\n otherAggregations[key] = copy.aggregations[key];\n }\n });\n copy.aggregations = otherAggregations;\n copy.metadata = (_b = copy.metadata) !== null && _b !== void 0 ? _b : [];\n copy.metadata.ef = ((_c = copy.metadata.ef) !== null && _c !== void 0 ? _c : []).concat(extraFilters);\n return Query.createFromArray(copy);\n };\n /**\n * To array\n *\n * @return {any}\n */\n Query.prototype.toArray = function () {\n var array = {};\n if (this.UUID !== null) {\n array.UUID = this.UUID;\n }\n if (this.getQueryText() !== \"\") {\n array.q = this.getQueryText();\n }\n if (this.coordinate instanceof Coordinate_1.Coordinate) {\n array.coordinate = this.coordinate.toArray();\n }\n /**\n * Fields\n */\n if (this.fields instanceof Array &&\n this.fields.length > 0) {\n array.fields = this.fields;\n }\n /**\n * Universe Filters\n */\n if (Object.keys(this.universeFilters).length) {\n array.universe_filters = {};\n for (var i in this.universeFilters) {\n var universeFilter = this.universeFilters[i];\n array.universe_filters[i] = universeFilter.toArray();\n }\n }\n /**\n * Filters\n */\n if (this.filters instanceof Object &&\n Object.keys(this.filters).length) {\n var filters = {};\n for (var i in this.filters) {\n var filter = this.filters[i];\n if (filter.getFilterType() !== Filter_3.FILTER_TYPE_QUERY) {\n filters[i] = filter.toArray();\n }\n }\n if (Object.keys(filters).length > 0) {\n array.filters = filters;\n }\n }\n /**\n * Aggregations\n */\n if (this.aggregations instanceof Object &&\n Object.keys(this.aggregations).length) {\n array.aggregations = {};\n for (var i in this.aggregations) {\n var aggregation = this.aggregations[i];\n array.aggregations[i] = aggregation.toArray();\n }\n }\n /**\n * Sort\n */\n var sort = this.sortByInstance.toArray();\n if (Object.keys(sort).length) {\n array.sort = sort;\n }\n /**\n * Page\n */\n var page = this.page;\n if (page !== exports.QUERY_DEFAULT_PAGE) {\n array.page = page;\n }\n /**\n * Size\n */\n var size = this.size;\n if (size !== exports.QUERY_DEFAULT_SIZE) {\n array.size = size;\n }\n /**\n * Booleans\n */\n if (this.resultsEnabled === false) {\n array.results_enabled = false;\n }\n if (this.autocompleteEnabled === true) {\n array.autocomplete_enabled = true;\n }\n if (this.numberOfSuggestions !== 0) {\n array.number_of_suggestions = this.numberOfSuggestions;\n }\n if (this.highlightsEnabled === true) {\n array.highlight_enabled = true;\n }\n if (this.aggregationsEnabled === false) {\n array.aggregations_enabled = false;\n }\n /**\n * Filter fields\n */\n if (this.searchableFields instanceof Array &&\n this.searchableFields.length > 0) {\n array.searchable_fields = this.searchableFields;\n }\n /**\n * Score strategies\n */\n if (this.scoreStrategies instanceof ScoreStrategies_1.ScoreStrategies) {\n var scoreStrategiesAsArray = this.scoreStrategies.toArray();\n if (Object.keys(scoreStrategiesAsArray).length > 0) {\n array.score_strategies = scoreStrategiesAsArray;\n }\n }\n if (this.fuzziness !== null) {\n array.fuzziness = this.fuzziness;\n }\n /**\n * Min score\n */\n var minScore = this.minScore;\n if (minScore !== exports.NO_MIN_SCORE) {\n array.min_score = minScore;\n }\n /**\n * User\n */\n if (this.user instanceof User_1.User) {\n array.user = this.user.toArray();\n }\n if (Object.keys(this.metadata).length > 0) {\n array.metadata = this.metadata;\n }\n if (this.subqueries instanceof Object &&\n Object.keys(this.subqueries).length) {\n array.subqueries = {};\n for (var i in this.subqueries) {\n var subquery = this.subqueries[i];\n array.subqueries[i] = subquery.toArray();\n }\n }\n if (this.indexUUID instanceof IndexUUID_1.IndexUUID) {\n array.index_uuid = this.indexUUID.toArray();\n }\n /**\n * items promoted\n */\n if (this.itemsPromoted.length > 0) {\n array.items_promoted = [];\n for (var i in this.itemsPromoted) {\n array\n .items_promoted\n .push(this.itemsPromoted[i].toArray());\n }\n }\n if (this.queryOperator !== \"or\" && this.queryOperator !== null) {\n array.query_operator = this.queryOperator;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Query}\n */\n Query.createFromArray = function (array) {\n var query = array.coordinate instanceof Object\n ? Query.createLocated(Coordinate_1.Coordinate.createFromArray(array.coordinate), array.q ? array.q : \"\", array.page ? array.page : exports.QUERY_DEFAULT_PAGE, array.size ? array.size : exports.QUERY_DEFAULT_SIZE)\n : Query.create(array.q ? array.q : \"\", array.page ? array.page : exports.QUERY_DEFAULT_PAGE, array.size ? array.size : exports.QUERY_DEFAULT_SIZE);\n query.UUID = typeof array.UUID === typeof \"\"\n ? array.UUID\n : undefined;\n /**\n * Fields\n */\n query.fields = array.fields instanceof Array\n ? array.fields\n : [];\n /**\n * Aggregations\n */\n var aggregationsAsArray = typeof array.aggregations === typeof {}\n ? array.aggregations\n : {};\n for (var i in aggregationsAsArray) {\n query.aggregations[i] = Aggregation_1.Aggregation.createFromArray(aggregationsAsArray[i]);\n }\n /**\n * Sort\n */\n var sortAsArray = typeof array.sort === typeof {}\n ? array.sort\n : {};\n if (Object.keys(sortAsArray).length > 0) {\n query.sortByInstance = SortBy_1.SortBy.createFromArray(sortAsArray);\n }\n /**\n * Filters\n */\n var filtersAsArray = typeof array.filters === typeof {}\n ? array.filters\n : {};\n for (var i in filtersAsArray) {\n query.filters[i] = Filter_1.Filter.createFromArray(filtersAsArray[i]);\n }\n /**\n * Universe Filters\n */\n var universeFiltersAsArray = typeof array.universe_filters === typeof {}\n ? array.universe_filters\n : {};\n for (var i in universeFiltersAsArray) {\n query.universeFilters[i] = Filter_1.Filter.createFromArray(universeFiltersAsArray[i]);\n }\n /**\n * Booleans\n */\n query.resultsEnabled = typeof array.results_enabled === \"boolean\"\n ? array.results_enabled\n : true;\n query.numberOfSuggestions = typeof array.number_of_suggestions === \"number\"\n ? array.number_of_suggestions\n : 0;\n query.autocompleteEnabled = typeof array.autocomplete_enabled === \"boolean\"\n ? array.autocomplete_enabled\n : false;\n query.aggregationsEnabled = typeof array.aggregations_enabled === \"boolean\"\n ? array.aggregations_enabled\n : true;\n query.highlightsEnabled = typeof array.highlight_enabled === \"boolean\"\n ? array.highlight_enabled\n : false;\n query.fuzziness = array.fuzziness ? array.fuzziness : null;\n query.minScore = array.min_score ? array.min_score : exports.NO_MIN_SCORE;\n /**\n * Items promoted\n */\n var itemsPromotedAsArray = typeof array.items_promoted === typeof {}\n ? array.items_promoted\n : {};\n for (var i in itemsPromotedAsArray) {\n query\n .itemsPromoted\n .push(ItemUUID_1.ItemUUID.createFromArray(itemsPromotedAsArray[i]));\n }\n /**\n * Subqueries\n */\n var subqueriesAsArray = typeof array.subqueries === typeof {}\n ? array.subqueries\n : {};\n for (var i in subqueriesAsArray) {\n query.subqueries[i] = Query.createFromArray(subqueriesAsArray[i]);\n }\n /**\n * Filter fields\n */\n query.metadata = typeof array.metadata === typeof {}\n ? array.metadata\n : {};\n query.searchableFields = array.searchable_fields instanceof Array\n ? array.searchable_fields\n : [];\n query.scoreStrategies = array.score_strategies instanceof Object\n ? ScoreStrategies_1.ScoreStrategies.createFromArray(array.score_strategies)\n : undefined;\n query.user = array.user instanceof Object\n ? User_1.User.createFromArray(array.user)\n : undefined;\n query.indexUUID = array.index_uuid instanceof Object\n ? IndexUUID_1.IndexUUID.createFromArray(array.index_uuid)\n : undefined;\n query.queryOperator = typeof array.query_operator === \"string\"\n ? array.query_operator\n : \"or\";\n return query;\n };\n return Query;\n}());\nexports.Query = Query;\n","\"use strict\";\nexports.__esModule = true;\nexports.Range = exports.RANGE_SEPARATOR = exports.RANGE_INFINITE = exports.RANGE_MINUS_INFINITE = void 0;\n/**\n * Aggregation constants\n */\nexports.RANGE_MINUS_INFINITE = null;\nexports.RANGE_INFINITE = null;\nexports.RANGE_SEPARATOR = \"..\";\n/**\n * Filter class\n */\nvar Range = /** @class */ (function () {\n function Range() {\n }\n /**\n * Strong to array\n *\n * @param string\n *\n * @returns {[number, number]}\n */\n Range.stringToArray = function (string) {\n var parts = string.split(exports.RANGE_SEPARATOR);\n var from = parts[0];\n var to = parts[1];\n var finalFrom = exports.RANGE_MINUS_INFINITE;\n var finalTo = exports.RANGE_INFINITE;\n if (from != \"\") {\n finalFrom = parseInt(from);\n }\n if (to != \"\") {\n finalTo = parseInt(to);\n }\n return [finalFrom, finalTo];\n };\n /**\n * Array to string\n *\n * @param values\n *\n * @return {string}\n */\n Range.arrayToString = function (values) {\n var finalValues = [\"\", \"\"];\n if (values[0] != exports.RANGE_MINUS_INFINITE) {\n finalValues[0] = String(values[0]);\n }\n if (values[1] != exports.RANGE_INFINITE) {\n finalValues[1] = String(values[1]);\n }\n return finalValues.join(exports.RANGE_SEPARATOR);\n };\n /**\n * Create ranges\n *\n * @param from\n * @param to\n * @param incremental\n */\n Range.createRanges = function (from, to, incremental) {\n var ranges = [];\n var nextTo;\n while (from < to) {\n nextTo = from + incremental;\n ranges.push(from + exports.RANGE_SEPARATOR + nextTo);\n from = nextTo;\n }\n return ranges;\n };\n return Range;\n}());\nexports.Range = Range;\n","\"use strict\";\nexports.__esModule = true;\nexports.ScoreStrategies = exports.MIN = exports.MAX = exports.AVG = exports.SUM = exports.MULTIPLY = void 0;\nvar ScoreStrategy_1 = require(\"./ScoreStrategy\");\n/**\n * ScoreStrategies constants\n */\nexports.MULTIPLY = 'multiply';\nexports.SUM = 'sum';\nexports.AVG = 'avg';\nexports.MAX = 'max';\nexports.MIN = 'min';\n/**\n * ScoreStrategies\n */\nvar ScoreStrategies = /** @class */ (function () {\n function ScoreStrategies() {\n this.scoreStrategies = [];\n }\n /**\n * Create empty\n *\n * @param scoreMode\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.createEmpty = function (scoreMode) {\n if (scoreMode === void 0) { scoreMode = exports.SUM; }\n var scoreStrategies = new ScoreStrategies;\n scoreStrategies.scoreMode = scoreMode;\n return scoreStrategies;\n };\n /**\n * Add score strategy\n *\n * @param scoreStrategy\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.prototype.addScoreStrategy = function (scoreStrategy) {\n this.scoreStrategies.push(scoreStrategy);\n return this;\n };\n /**\n * Get score strategies\n *\n * @return {ScoreStrategy[]}\n */\n ScoreStrategies.prototype.getScoreStrategies = function () {\n return this.scoreStrategies;\n };\n /**\n * Get score mode\n *\n * @return {string}\n */\n ScoreStrategies.prototype.getScoreMode = function () {\n return this.scoreMode;\n };\n /**\n * To array\n *\n * @return {{\n * score_mode: string,\n * score_strategies: any\n * }}\n */\n ScoreStrategies.prototype.toArray = function () {\n var scoreStrategiesAsArray = [];\n for (var i in this.scoreStrategies) {\n scoreStrategiesAsArray.push(this.scoreStrategies[i].toArray());\n }\n return {\n score_mode: this.scoreMode,\n score_strategies: scoreStrategiesAsArray\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var scoreStrategies = (typeof array.score_mode != \"undefined\")\n ? ScoreStrategies.createEmpty(array.score_mode)\n : ScoreStrategies.createEmpty();\n scoreStrategies.scoreStrategies = [];\n for (var i in array.score_strategies) {\n scoreStrategies\n .scoreStrategies\n .push(ScoreStrategy_1.ScoreStrategy.createFromArray(array.score_strategies[i]));\n }\n return scoreStrategies;\n };\n return ScoreStrategies;\n}());\nexports.ScoreStrategies = ScoreStrategies;\n","\"use strict\";\nexports.__esModule = true;\nexports.ScoreStrategy = exports.DEFAULT_FACTOR = exports.DEFAULT_MISSING = exports.SCORE_MODE_MIN = exports.SCORE_MODE_MAX = exports.SCORE_MODE_AVG = exports.SCORE_MODE_SUM = exports.SCORE_MODE_NONE = exports.MODIFIER_SQUARE = exports.MODIFIER_LN = exports.MODIFIER_LOG = exports.MODIFIER_SQRT = exports.MODIFIER_NONE = exports.DECAY_GAUSS = exports.DECAY_EXP = exports.DECAY_LINEAR = exports.DECAY = exports.CUSTOM_FUNCTION = exports.BOOSTING_FIELD_VALUE = exports.DEFAULT_WEIGHT = exports.DEFAULT_TYPE = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar Filter_1 = require(\"./Filter\");\n/**\n * ScoreStrategy constants\n */\nexports.DEFAULT_TYPE = 'default';\nexports.DEFAULT_WEIGHT = 1.0;\nexports.BOOSTING_FIELD_VALUE = 'field_value';\nexports.CUSTOM_FUNCTION = 'custom_function';\nexports.DECAY = 'decay';\nexports.DECAY_LINEAR = 'linear';\nexports.DECAY_EXP = 'exp';\nexports.DECAY_GAUSS = 'gauss';\nexports.MODIFIER_NONE = 'none';\nexports.MODIFIER_SQRT = 'sqrt';\nexports.MODIFIER_LOG = 'log';\nexports.MODIFIER_LN = 'ln';\nexports.MODIFIER_SQUARE = 'square';\nexports.SCORE_MODE_NONE = 'none';\nexports.SCORE_MODE_SUM = 'sum';\nexports.SCORE_MODE_AVG = 'avg';\nexports.SCORE_MODE_MAX = 'max';\nexports.SCORE_MODE_MIN = 'min';\nexports.DEFAULT_MISSING = 1.0;\nexports.DEFAULT_FACTOR = 1.0;\n/**\n * ScoreStrategy\n */\nvar ScoreStrategy = /** @class */ (function () {\n function ScoreStrategy() {\n this.type = exports.DEFAULT_TYPE;\n this.filter = null;\n this.weight = exports.DEFAULT_WEIGHT;\n this.scoreMode = exports.SCORE_MODE_AVG;\n this.configuration = {};\n }\n /**\n * Get type\n *\n * @returns {string}\n */\n ScoreStrategy.prototype.getType = function () {\n return this.type;\n };\n /**\n * Get configuration value\n *\n * @returns {string}\n */\n ScoreStrategy.prototype.getConfigurationValue = function (element) {\n if (typeof this.configuration[element] == \"undefined\") {\n return null;\n }\n return this.configuration[element];\n };\n /**\n * Get weight.\n *\n * @return {number}\n */\n ScoreStrategy.prototype.getWeight = function () {\n return this.weight;\n };\n /**\n * Get score mode.\n *\n * @return {string}\n */\n ScoreStrategy.prototype.getScoreMode = function () {\n return this.scoreMode;\n };\n /**\n * Get filter.\n *\n * @return {Filter}\n */\n ScoreStrategy.prototype.getFilter = function () {\n return this.filter;\n };\n /**\n * Create default\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createDefault = function () {\n return new ScoreStrategy();\n };\n /**\n * Create field boosting\n *\n * @param field\n * @param factor\n * @param missing\n * @param modifier\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createFieldBoosting = function (field, factor, missing, modifier, weight, filter, scoreMode) {\n if (factor === void 0) { factor = exports.DEFAULT_FACTOR; }\n if (missing === void 0) { missing = exports.DEFAULT_MISSING; }\n if (modifier === void 0) { modifier = exports.MODIFIER_NONE; }\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.BOOSTING_FIELD_VALUE;\n scoreStrategy.configuration['field'] = field;\n scoreStrategy.configuration['factor'] = factor;\n scoreStrategy.configuration['missing'] = missing;\n scoreStrategy.configuration['modifier'] = modifier;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Create custom function\n *\n * @param func\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createCustomFunction = function (func, weight, filter, scoreMode) {\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.CUSTOM_FUNCTION;\n scoreStrategy.configuration['function'] = func;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Create decay function\n *\n * @param type\n * @param field\n * @param origin\n * @param scale\n * @param offset\n * @param decay\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createDecayFunction = function (type, field, origin, scale, offset, decay, weight, filter, scoreMode) {\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.DECAY;\n scoreStrategy.configuration['type'] = type;\n scoreStrategy.configuration['field'] = field;\n scoreStrategy.configuration['origin'] = origin;\n scoreStrategy.configuration['scale'] = scale;\n scoreStrategy.configuration['offset'] = offset;\n scoreStrategy.configuration['decay'] = decay;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Fix filter path.\n *\n * @param filter\n *\n * @return {Filter}\n */\n ScoreStrategy.fixFilterFieldPath = function (filter) {\n if (filter == null) {\n return filter;\n }\n var filterAsArray = filter.toArray();\n filterAsArray['field'] = Item_1.Item.getPathByField(filterAsArray['field']);\n return Filter_1.Filter.createFromArray(filterAsArray);\n };\n /**\n * To array\n *\n * @return {{\n * type: string,\n * configuration: any,\n * weight: number,\n * score_mode: string,\n * filter: any\n * }}\n */\n ScoreStrategy.prototype.toArray = function () {\n return {\n type: this.type,\n configuration: this.configuration,\n weight: this.weight,\n score_mode: this.scoreMode,\n filter: this.filter instanceof Filter_1.Filter\n ? this.filter.toArray()\n : null\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var scoreStrategy = ScoreStrategy.createDefault();\n if (typeof array.type != \"undefined\") {\n scoreStrategy.type = array.type;\n }\n if (typeof array.configuration != \"undefined\") {\n scoreStrategy.configuration = array.configuration;\n }\n if (typeof array.weight != \"undefined\") {\n scoreStrategy.weight = array.weight;\n }\n if (typeof array.score_mode != \"undefined\") {\n scoreStrategy.scoreMode = array.score_mode;\n }\n if (typeof array.filter === 'object' && array.filter !== null) {\n scoreStrategy.filter = Filter_1.Filter.createFromArray(array.filter);\n }\n return scoreStrategy;\n };\n return ScoreStrategy;\n}());\nexports.ScoreStrategy = ScoreStrategy;\n","\"use strict\";\nexports.__esModule = true;\nexports.SortBy = exports.SORT_BY_LOCATION_MI_ASC = exports.SORT_BY_LOCATION_KM_ASC = exports.SORT_BY_TYPE_DESC = exports.SORT_BY_TYPE_ASC = exports.SORT_BY_ID_DESC = exports.SORT_BY_ID_ASC = exports.SORT_BY_AL_TUN_TUN = exports.SORT_BY_RANDOM = exports.SORT_BY_SCORE = exports.SORT_BY_MODE_MEDIAN = exports.SORT_BY_MODE_MAX = exports.SORT_BY_MODE_MIN = exports.SORT_BY_MODE_SUM = exports.SORT_BY_MODE_AVG = exports.SORT_BY_DESC = exports.SORT_BY_ASC = exports.SORT_BY_TYPE_RANDOM = exports.SORT_BY_TYPE_FUNCTION = exports.SORT_BY_TYPE_DISTANCE = exports.SORT_BY_TYPE_SCORE = exports.SORT_BY_TYPE_NESTED = exports.SORT_BY_TYPE_FIELD = void 0;\nvar __1 = require(\"..\");\nvar Filter_1 = require(\"./Filter\");\n/**\n export * Sort by constants\n */\nexports.SORT_BY_TYPE_FIELD = 'field';\nexports.SORT_BY_TYPE_NESTED = 'nested';\nexports.SORT_BY_TYPE_SCORE = 'score';\nexports.SORT_BY_TYPE_DISTANCE = 'distance';\nexports.SORT_BY_TYPE_FUNCTION = 'function';\nexports.SORT_BY_TYPE_RANDOM = 'random';\nexports.SORT_BY_ASC = \"asc\";\nexports.SORT_BY_DESC = \"desc\";\nexports.SORT_BY_MODE_AVG = \"avg\";\nexports.SORT_BY_MODE_SUM = \"sum\";\nexports.SORT_BY_MODE_MIN = \"min\";\nexports.SORT_BY_MODE_MAX = \"max\";\nexports.SORT_BY_MODE_MEDIAN = \"median\";\nexports.SORT_BY_SCORE = {\n type: exports.SORT_BY_TYPE_SCORE,\n};\nexports.SORT_BY_RANDOM = {\n type: exports.SORT_BY_TYPE_RANDOM,\n};\nexports.SORT_BY_AL_TUN_TUN = exports.SORT_BY_RANDOM;\nexports.SORT_BY_ID_ASC = {\n field: \"uuid.id\",\n order: exports.SORT_BY_ASC\n};\nexports.SORT_BY_ID_DESC = {\n field: \"uuid.id\",\n order: exports.SORT_BY_DESC\n};\nexports.SORT_BY_TYPE_ASC = {\n field: \"uuid.type\",\n order: exports.SORT_BY_ASC\n};\nexports.SORT_BY_TYPE_DESC = {\n field: \"uuid.type\",\n order: exports.SORT_BY_DESC\n};\nexports.SORT_BY_LOCATION_KM_ASC = {\n type: exports.SORT_BY_TYPE_DISTANCE,\n unit: \"km\"\n};\nexports.SORT_BY_LOCATION_MI_ASC = {\n type: exports.SORT_BY_TYPE_DISTANCE,\n unit: \"mi\"\n};\n/**\n * ScoreStrategy\n */\nvar SortBy = /** @class */ (function () {\n function SortBy() {\n this.sortsBy = [];\n }\n /**\n * Create\n *\n * @return {SortBy}\n */\n SortBy.create = function () {\n return new SortBy;\n };\n /**\n * Sort By fields values\n *\n * @param shortSortByElements\n *\n * @return {SortBy}\n */\n SortBy.byFieldsValues = function (shortSortByElements) {\n var sortBy = SortBy.create();\n for (var key in shortSortByElements) {\n sortBy.byFieldValue(key, shortSortByElements[key]);\n }\n return sortBy;\n };\n /**\n * All\n *\n * @return {Array}\n */\n SortBy.prototype.all = function () {\n return this.sortsBy.length > 0\n ? this.sortsBy\n : [exports.SORT_BY_SCORE];\n };\n /**\n * Sort by value\n *\n * @param value\n *\n * @return {SortBy}\n */\n SortBy.prototype.byValue = function (value) {\n if (exports.SORT_BY_SCORE != value &&\n exports.SORT_BY_RANDOM != value) {\n if (typeof value.type == \"undefined\") {\n value.type = exports.SORT_BY_TYPE_FIELD;\n }\n }\n if (exports.SORT_BY_SCORE != value) {\n this.sortsBy.push(value);\n }\n return this;\n };\n /**\n * Sort by field value\n *\n * @param field\n * @param order\n *\n * @return {SortBy}\n */\n SortBy.prototype.byFieldValue = function (field, order) {\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_FIELD,\n field: __1.Item.getPathByField(field),\n order: order\n });\n return this;\n };\n /**\n * Sort by nested field\n *\n * @param field\n * @param order\n * @param mode\n *\n * @return {SortBy}\n */\n SortBy.prototype.byNestedField = function (field, order, mode) {\n if (mode === void 0) { mode = exports.SORT_BY_MODE_AVG; }\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_NESTED,\n mode: mode,\n field: 'indexed_metadata.' + field,\n order: order\n });\n return this;\n };\n /**\n * Sort by nested field and filter\n *\n * @param field\n * @param order\n * @param filter\n * @param mode\n *\n * @return {SortBy}\n */\n SortBy.prototype.byNestedFieldAndFilter = function (field, order, filter, mode) {\n if (mode === void 0) { mode = exports.SORT_BY_MODE_AVG; }\n var fieldPath = __1.Item.getPathByField(filter.getField());\n var filterAsArray = filter.toArray();\n filterAsArray.field = fieldPath;\n filter = Filter_1.Filter.createFromArray(filterAsArray);\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_NESTED,\n mode: mode,\n filter: filter,\n field: 'indexed_metadata.' + field,\n order: order\n });\n return this;\n };\n /**\n * Sort by function\n *\n * @param func\n * @param order\n *\n * @return {SortBy}\n */\n SortBy.prototype.byFunction = function (func, order) {\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_FUNCTION,\n \"function\": func,\n order: order\n });\n return this;\n };\n /**\n * Is sorted by geo distance\n *\n * @return {boolean}\n */\n SortBy.prototype.isSortedByGeoDistance = function () {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_DISTANCE) {\n return true;\n }\n }\n return false;\n };\n /**\n * Set coordinate\n *\n * @param coordinate\n *\n * @return {SortBy}\n */\n SortBy.prototype.setCoordinate = function (coordinate) {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_DISTANCE) {\n this.sortsBy[i].coordinate = coordinate;\n }\n }\n return this;\n };\n /**\n * Has random sort\n *\n * @return {boolean}\n */\n SortBy.prototype.hasRandomSort = function () {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_RANDOM) {\n return true;\n }\n }\n return false;\n };\n /**\n * get first sort value as string\n *\n * @return {string}\n */\n SortBy.prototype.getFirstSortAsString = function () {\n if (this.sortsBy[0] === undefined) {\n return 'score';\n }\n var firstSortBy = this.sortsBy[0];\n if (firstSortBy.type === exports.SORT_BY_TYPE_RANDOM) {\n return 'random';\n }\n if (firstSortBy.type === exports.SORT_BY_TYPE_DISTANCE) {\n return firstSortBy.type + ':' + firstSortBy.unit;\n }\n if (firstSortBy.type === exports.SORT_BY_TYPE_SCORE) {\n return 'score';\n }\n var field = firstSortBy.field;\n var order = firstSortBy.order;\n var fieldParts = field.split('.');\n return fieldParts[1] + ':' + order;\n };\n /**\n * To array\n *\n * @return {[]}\n */\n SortBy.prototype.toArray = function () {\n var copySortBy = this.copy();\n var sortsByAsArray = copySortBy.sortsBy;\n for (var i in sortsByAsArray) {\n if (typeof sortsByAsArray[i].filter === typeof {} &&\n sortsByAsArray[i].filter != null) {\n sortsByAsArray[i].filter = sortsByAsArray[i].filter.toArray();\n }\n if (sortsByAsArray[i].coordinate !== null &&\n sortsByAsArray[i].coordinate instanceof __1.Coordinate) {\n sortsByAsArray[i].coordinate = sortsByAsArray[i].coordinate.toArray();\n }\n }\n return sortsByAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {SortBy}\n */\n SortBy.createFromArray = function (array) {\n var innerArray = JSON.parse(JSON.stringify(array));\n var sortBy = SortBy.create();\n for (var i in innerArray) {\n var element = innerArray[i];\n if (typeof element.type == \"undefined\") {\n element.type = exports.SORT_BY_TYPE_FIELD;\n }\n if (typeof element.filter === typeof {} &&\n element.filter != null) {\n element.filter = Filter_1.Filter.createFromArray(element.filter);\n }\n if (element.coordinate != null &&\n typeof element.coordinate === typeof {}) {\n element.coordinate = __1.Coordinate.createFromArray(element.coordinate);\n }\n sortBy.sortsBy.push(element);\n }\n return sortBy;\n };\n /**\n * Make a copy of this\n *\n * @returns {SortBy}\n */\n SortBy.prototype.copy = function () {\n var newSortBy = SortBy.create();\n for (var i in this.sortsBy) {\n var sortBy = this.sortsBy[i];\n if (typeof sortBy !== \"function\") {\n var sortByAsArray = JSON.parse(JSON.stringify(sortBy));\n if (typeof sortBy.filter === typeof {} &&\n sortBy.filter != null) {\n sortByAsArray.filter = Filter_1.Filter.createFromArray(sortBy.filter.toArray());\n }\n if (sortBy.coordinate != null &&\n typeof sortBy.coordinate == typeof {}) {\n sortByAsArray.coordinate = __1.Coordinate.createFromArray(sortBy.coordinate.toArray());\n }\n newSortBy.sortsBy.push(sortByAsArray);\n }\n }\n return newSortBy;\n };\n return SortBy;\n}());\nexports.SortBy = SortBy;\n","\"use strict\";\nexports.__esModule = true;\nexports.HttpRepository = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ConnectionError_1 = require(\"../Error/ConnectionError\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar InvalidTokenError_1 = require(\"../Error/InvalidTokenError\");\nvar ResourceExistsError_1 = require(\"../Error/ResourceExistsError\");\nvar ResourceNotAvailableError_1 = require(\"../Error/ResourceNotAvailableError\");\nvar UnknownError_1 = require(\"../Error/UnknownError\");\nvar Response_1 = require(\"../Http/Response\");\nvar Index_1 = require(\"../Model/Index\");\nvar Item_1 = require(\"../Model/Item\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\nvar Result_1 = require(\"../Result/Result\");\nvar Repository_1 = require(\"./Repository\");\n/**\n * Aggregation class\n */\nvar HttpRepository = /** @class */ (function (_super) {\n tslib_1.__extends(HttpRepository, _super);\n /**\n * Constructor\n *\n * @param httpClient\n * @param appId\n * @param indexId\n * @param token\n * @param transformer\n */\n function HttpRepository(httpClient, appId, indexId, token, transformer) {\n var _this = _super.call(this, appId, indexId, token) || this;\n _this.httpClient = httpClient;\n _this.transformer = transformer;\n return _this;\n }\n /**\n * Get transformer\n *\n * @return {Transformer}\n */\n HttpRepository.prototype.getTransformer = function () {\n return this.transformer;\n };\n /**\n * Generate item document by a simple object.\n *\n * @param object\n *\n * @returns {void}\n */\n HttpRepository.prototype.addObject = function (object) {\n var item = this\n .transformer\n .toItem(object);\n if (item instanceof Item_1.Item) {\n this.addItem(item);\n }\n };\n /**\n * Delete item document by uuid.\n *\n * @param object\n *\n * @returns {void}\n */\n HttpRepository.prototype.deleteObject = function (object) {\n var itemUUID = this\n .transformer\n .toItemUUID(object);\n if (itemUUID instanceof ItemUUID_1.ItemUUID) {\n this.deleteItem(itemUUID);\n }\n };\n /**\n * Flush update items\n *\n * @param {Item[]} itemsToUpdate\n *\n * @return {Promise}\n */\n HttpRepository.prototype.flushUpdateItems = function (itemsToUpdate) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_1;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (itemsToUpdate.length === 0) {\n return [2 /*return*/];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items\", \"put\", this.getCredentials(), {}, itemsToUpdate.map(function (item) {\n return item.toArray();\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_1 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_1);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Flush delete items\n *\n * @param {ItemUUID[]} itemsToDelete\n *\n * @return {Promise}\n */\n HttpRepository.prototype.flushDeleteItems = function (itemsToDelete) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_2;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (itemsToDelete.length === 0) {\n return [2 /*return*/];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items\", \"delete\", this.getCredentials(), {}, itemsToDelete.map(function (itemUUID) {\n return itemUUID.toArray();\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_2 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_2);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Query\n *\n * @param {Query} query\n *\n * @return {Promise}\n */\n HttpRepository.prototype.query = function (query) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_3, result, _a, _b;\n return tslib_1.__generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId, \"get\", this.getCredentials(), {\n query: JSON.stringify(query.optimize().toArray())\n .replace(/&/g, \"%26\"),\n }, {})];\n case 1:\n response = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n response_3 = _c.sent();\n throw HttpRepository.createErrorFromResponse(response_3);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n result = this.applyTransformersToResult(result);\n if (!(typeof globalThis !== \"undefined\" &&\n typeof globalThis.apisearchItemsTransformation === \"function\")) return [3 /*break*/, 5];\n _b = (_a = result).withItems;\n return [4 /*yield*/, globalThis.apisearchItemsTransformation(result.getItems())];\n case 4:\n _b.apply(_a, [_c.sent()]);\n _c.label = 5;\n case 5: return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Get similar items\n *\n * @param {Query} query\n * @param {ItemUUID[]} itemUUIDs\n * @param {number} similarity\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getSimilarItems = function (query, itemUUIDs, similarity) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_4, result;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + '/similar-items', \"get\", this.getCredentials(), {}, {\n query: query.toArray(),\n items_uuid: itemUUIDs.map(function (itemUUID) {\n return itemUUID.toArray();\n }),\n similarity: similarity,\n })];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_4 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_4);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n return [2 /*return*/, this.applyTransformersToResult(result)];\n }\n });\n });\n };\n /**\n * Get recommended items\n *\n * @param {Query} query\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getRecommendedItems = function (query) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_5, result;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + '/recommended-items', \"get\", this.getCredentials(), {}, query.toArray())];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_5 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_5);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n return [2 /*return*/, this.applyTransformersToResult(result)];\n }\n });\n });\n };\n /**\n * Update items\n *\n * @param {Query} query\n * @param {Changes} changes\n *\n * @return {Promise}\n */\n HttpRepository.prototype.updateItems = function (query, changes) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_6;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items/update-by-query\", \"put\", this.getCredentials(), {}, {\n changes: changes.toArray(),\n query: query.toArray(),\n })];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_6 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_6);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Create index\n *\n * @param {IndexUUID} indexUUID\n * @param {Config} config\n *\n * @return {Promise}\n */\n HttpRepository.prototype.createIndex = function (indexUUID, config) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_7;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"put\", this.getCredentials(), {}, config.toArray())];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_7 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_7);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Delete index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.deleteIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_8;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"delete\", this.getCredentials(), {}, {})];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_8 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_8);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Reset index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.resetIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_9;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/reset\", \"put\", this.getCredentials(), {}, {})];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_9 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_9);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Check index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.checkIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_10;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"head\", this.getCredentials(), {}, {})];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_10 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_10);\n case 3: return [2 /*return*/, response.getCode() === 200];\n }\n });\n });\n };\n /**\n * Check index\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getIndices = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_11, result, _i, _a, indexAsArray;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\", \"get\", this.getCredentials(), {}, {})];\n case 1:\n response = _b.sent();\n return [3 /*break*/, 3];\n case 2:\n response_11 = _b.sent();\n throw HttpRepository.createErrorFromResponse(response_11);\n case 3:\n result = [];\n for (_i = 0, _a = response.getBody(); _i < _a.length; _i++) {\n indexAsArray = _a[_i];\n result.push(Index_1.Index.createFromArray(indexAsArray));\n }\n return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Configure index\n *\n * @param {IndexUUID} indexUUID\n * @param {Config} config\n *\n * @return {Promise}\n */\n HttpRepository.prototype.configureIndex = function (indexUUID, config) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_12;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/configure\", \"put\", this.getCredentials(), {}, config.toArray())];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_12 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_12);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @param indexUUID\n * @param itemUUID\n * @param userId\n * @param queryString\n * @param interaction\n * @param site\n * @param device\n * @param position\n */\n HttpRepository.prototype.pushInteraction = function (indexUUID, itemUUID, userId, queryString, interaction, site, device, position) {\n if (site === void 0) { site = null; }\n if (device === void 0) { device = null; }\n if (position === void 0) { position = 0; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var parameters, response_13;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n parameters = {\n query_string: queryString,\n site: site,\n device: device,\n user_id: userId,\n position: position,\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/items/\" + itemUUID.composedUUID() + \"/interaction/\" + interaction, \"post\", {\n token: this.token,\n }, parameters, {})];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_13 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_13);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @param {IndexUUID} indexUUID\n * @param {string} userId\n * @param {ItemUUID[]} itemUUIDs\n * @param {string} site\n * @param {string} device\n *\n * @return {Promise}\n */\n HttpRepository.prototype.purchase = function (indexUUID, userId, itemUUIDs, site, device) {\n if (site === void 0) { site = null; }\n if (device === void 0) { device = null; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var parameters, response_14;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n parameters = {\n site: site,\n device: device,\n user_id: userId,\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/purchase\", \"post\", {\n token: this.token,\n }, parameters, {\n items_uuid: itemUUIDs.map(function (itemUUID) {\n return itemUUID.toArray();\n }),\n })];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_14 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_14);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n *\n */\n HttpRepository.prototype.getHttpClient = function () {\n return this.httpClient;\n };\n /**\n * Get query values\n *\n * @returns any\n */\n HttpRepository.prototype.getCredentials = function () {\n return {\n app_id: this.appId,\n token: this.token,\n };\n };\n /**\n * Apply transformers to results\n *\n * @param {Result} result\n *\n * @return {Result}\n */\n HttpRepository.prototype.applyTransformersToResult = function (result) {\n if (!this.transformer.hasReadTransformers()) {\n return result;\n }\n var subresults = result.getSubresults();\n if (Object.keys(subresults).length > 0) {\n Object.keys(subresults).map(function (key) {\n subresults[key] = this.applyTransformersToResult(subresults[key]);\n }.bind(this));\n return Result_1.Result.createMultiresults(subresults);\n }\n return Result_1.Result.create(result.getQueryUUID(), result.getTotalItems(), result.getTotalHits(), result.getAggregations(), result.getSuggestions(), this\n .transformer\n .fromItems(result.getItems()), result.getAutocomplete());\n };\n /**\n * @param response\n * @private\n */\n HttpRepository.createErrorFromResponse = function (response) {\n var error;\n if (response instanceof Response_1.Response) {\n switch (response.getCode()) {\n case ResourceNotAvailableError_1.ResourceNotAvailableError.getTransportableHTTPError():\n error = new ResourceNotAvailableError_1.ResourceNotAvailableError(response.getBody().message);\n break;\n case InvalidTokenError_1.InvalidTokenError.getTransportableHTTPError():\n error = new InvalidTokenError_1.InvalidTokenError(response.getBody().message);\n break;\n case InvalidFormatError_1.InvalidFormatError.getTransportableHTTPError():\n error = new InvalidFormatError_1.InvalidFormatError(response.getBody().message);\n break;\n case ResourceExistsError_1.ResourceExistsError.getTransportableHTTPError():\n error = new ResourceExistsError_1.ResourceExistsError(response.getBody().message);\n break;\n case ConnectionError_1.ConnectionError.getTransportableHTTPError():\n error = new ConnectionError_1.ConnectionError(response.getBody().message);\n break;\n }\n }\n return undefined === error\n ? UnknownError_1.UnknownError.createUnknownError()\n : error;\n };\n return HttpRepository;\n}(Repository_1.Repository));\nexports.HttpRepository = HttpRepository;\n","\"use strict\";\nexports.__esModule = true;\nexports.Repository = void 0;\nvar tslib_1 = require(\"tslib\");\n/**\n * Aggregation class\n */\nvar Repository = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param appId\n * @param indexId\n * @param token\n */\n function Repository(appId, indexId, token) {\n this.itemsToUpdate = [];\n this.itemsToDelete = [];\n this.appId = appId;\n this.indexId = indexId;\n this.token = token;\n }\n /**\n * Reset cached elements\n */\n Repository.prototype.resetCachedElements = function () {\n this.itemsToUpdate = [];\n this.itemsToDelete = [];\n };\n /**\n * Add element\n *\n * @param item\n */\n Repository.prototype.addItem = function (item) {\n this.itemsToUpdate.push(item);\n };\n /**\n * Add elements\n *\n * @param items\n */\n Repository.prototype.addItems = function (items) {\n for (var i in items) {\n this.addItem(items[i]);\n }\n };\n /**\n * Delete item\n *\n * @param itemUUID\n */\n Repository.prototype.deleteItem = function (itemUUID) {\n this.itemsToDelete.push(itemUUID);\n };\n /**\n * Delete items\n *\n * @param itemsUUID\n */\n Repository.prototype.deleteItems = function (itemsUUID) {\n for (var i in itemsUUID) {\n this.deleteItem(itemsUUID[i]);\n }\n };\n /**\n * flush\n *\n * @param bulkNumber\n * @param skipIfLess\n *\n * @return {Promise}\n */\n Repository.prototype.flush = function (bulkNumber, skipIfLess) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var promise, resetCachedElements;\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n if (!bulkNumber) {\n bulkNumber = 500;\n }\n if (!skipIfLess) {\n skipIfLess = false;\n }\n if (skipIfLess &&\n this.itemsToUpdate.length < bulkNumber) {\n return [2 /*return*/];\n }\n promise = Promise.all(Repository\n .chunkArray(this.itemsToUpdate, bulkNumber)\n .map(function (arrayOfItems) {\n return _this.flushUpdateItems(arrayOfItems);\n })\n .concat(Repository\n .chunkArray(this.itemsToDelete, bulkNumber)\n .map(function (arrayOfItemsUUID) {\n return _this.flushDeleteItems(arrayOfItemsUUID);\n })));\n resetCachedElements = function () {\n _this.resetCachedElements();\n };\n promise.then(resetCachedElements, resetCachedElements);\n return [2 /*return*/, promise];\n });\n });\n };\n /**\n * Make chunks of n elements\n *\n * @param array\n * @param chunk\n *\n * @return any[]\n */\n Repository.chunkArray = function (array, chunk) {\n var arrayChunked = [];\n for (var i = 0, j = array.length; i < j; i += chunk) {\n arrayChunked.push(array.slice(i, i + chunk));\n }\n return arrayChunked;\n };\n return Repository;\n}());\nexports.Repository = Repository;\n","\"use strict\";\nexports.__esModule = true;\nexports.Counter = void 0;\nvar Metadata_1 = require(\"../Model/Metadata\");\n/**\n * Aggregation class\n */\nvar Counter = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param values\n * @param used\n * @param n\n */\n function Counter(values, used, n) {\n this.values = values;\n this.used = used;\n this.n = n;\n }\n /**\n * Get id\n *\n * @return {string|null}\n */\n Counter.prototype.getId = function () {\n return typeof this.values.id == \"string\"\n ? this.values.id\n : null;\n };\n /**\n * Get name\n *\n * @return {string|null}\n */\n Counter.prototype.getName = function () {\n return typeof this.values.name == \"string\"\n ? this.values.name\n : null;\n };\n /**\n * Get slug\n *\n * @return {string|null}\n */\n Counter.prototype.getSlug = function () {\n return typeof this.values.slug == \"string\"\n ? this.values.slug\n : null;\n };\n /**\n * Get level\n *\n * @return {number}\n */\n Counter.prototype.getLevel = function () {\n return typeof this.values.level == \"number\"\n ? this.values.level\n : 0;\n };\n /**\n * Get values\n *\n * @returns {{}}\n */\n Counter.prototype.getValues = function () {\n return this.values;\n };\n /**\n * Is used\n *\n * @returns {boolean}\n */\n Counter.prototype.isUsed = function () {\n return this.used;\n };\n /**\n * Get N\n *\n * @returns {number}\n */\n Counter.prototype.getN = function () {\n return this.n;\n };\n /**\n * Create by active elements\n *\n * @param name\n * @param n\n * @param activeElements\n */\n Counter.createByActiveElements = function (name, n, activeElements) {\n var values = Metadata_1.Metadata.fromMetadata(name);\n if (values == null) {\n return null;\n }\n var i = activeElements.length;\n var inActiveElements = false;\n while (i--) {\n if (activeElements[i] == values.id) {\n inActiveElements = true;\n }\n }\n return new Counter(values, inActiveElements, n);\n };\n /**\n * To array\n *\n * @return {{}}\n */\n Counter.prototype.toArray = function () {\n var values = {\n values: this.values,\n n: this.n,\n };\n if (this.used === true) {\n values.used = true;\n }\n return values;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {Counter}\n */\n Counter.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new Counter(array.values, (typeof array.used == \"boolean\")\n ? array.used\n : false, array.n);\n };\n return Counter;\n}());\nexports.Counter = Counter;\n","\"use strict\";\nexports.__esModule = true;\nexports.Result = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar ResultAggregations_1 = require(\"./ResultAggregations\");\n/**\n * Result class\n */\nvar Result = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param queryUUID\n * @param totalItems\n * @param totalHits\n */\n function Result(queryUUID, totalItems, totalHits) {\n this.items = [];\n this.autocomplete = null;\n this.suggestions = [];\n this.subresults = {};\n this.metadata = {};\n this.queryUUID = queryUUID;\n this.totalItems = totalItems;\n this.totalHits = totalHits;\n }\n /**\n * @param queryUUID\n * @param totalItems\n * @param totalHits\n * @param aggregations\n * @param suggestions\n * @param items\n * @param autocomplete\n * @param metadata\n */\n Result.create = function (queryUUID, totalItems, totalHits, aggregations, suggestions, items, autocomplete, metadata) {\n if (autocomplete === void 0) { autocomplete = null; }\n if (metadata === void 0) { metadata = {}; }\n var result = new Result(queryUUID, totalItems, totalHits);\n result.aggregations = aggregations;\n result.suggestions = suggestions;\n result.items = items;\n result.autocomplete = autocomplete;\n result.metadata = metadata;\n return result;\n };\n /**\n * Create multi results\n *\n * @param subresults\n *\n * @returns {Result}\n */\n Result.createMultiresults = function (subresults) {\n var result = new Result('', 0, 0);\n result.subresults = subresults;\n return result;\n };\n /**\n * Add item\n *\n * @param item\n */\n Result.prototype.addItem = function (item) {\n this.items.push(item);\n };\n /**\n * Get items\n *\n * @return {Item[]}\n */\n Result.prototype.getItems = function () {\n return this.items;\n };\n /**\n * @param items\n */\n Result.prototype.withItems = function (items) {\n this.items = items;\n };\n /**\n * Get items grouped by types\n *\n * @return {any[]}\n */\n Result.prototype.getItemsGroupedByTypes = function () {\n if (this.itemsGroupedByTypeCache instanceof Object &&\n Object.keys(this.itemsGroupedByTypeCache).length > 0) {\n return this.itemsGroupedByTypeCache;\n }\n var itemsGroupedByTypes = {};\n for (var i in this.items) {\n var item = this.items[i];\n if (!(itemsGroupedByTypes[item.getType()] instanceof Array)) {\n itemsGroupedByTypes[item.getType()] = [];\n }\n itemsGroupedByTypes[item.getType()].push(item);\n }\n this.itemsGroupedByTypeCache = itemsGroupedByTypes;\n return itemsGroupedByTypes;\n };\n /**\n * Get items by type\n *\n * @param type\n *\n * @return {Array}\n */\n Result.prototype.getItemsByType = function (type) {\n var itemsGroupedByTypes = this.getItemsGroupedByTypes();\n return itemsGroupedByTypes[type] == null\n ? []\n : itemsGroupedByTypes[type];\n };\n /**\n * Get items by types\n *\n * @param types\n */\n Result.prototype.getItemsByTypes = function (types) {\n return this.items.filter(function (item) { return types.indexOf(item.getType()) >= 0; });\n };\n /**\n * Get first item\n *\n * @return {Item}\n */\n Result.prototype.getFirstItem = function () {\n return this.items.length > 0\n ? this.items[0]\n : null;\n };\n /**\n * Set aggregations\n *\n * @param aggregations\n */\n Result.prototype.setAggregations = function (aggregations) {\n this.aggregations = aggregations;\n };\n /**\n * Get aggregations\n *\n * @return {ResultAggregations}\n */\n Result.prototype.getAggregations = function () {\n return this.aggregations instanceof ResultAggregations_1.ResultAggregations\n ? this.aggregations\n : null;\n };\n /**\n * Get aggregation\n *\n * @param name\n *\n * @return {null}\n */\n Result.prototype.getAggregation = function (name) {\n return this.aggregations == null\n ? null\n : this.aggregations.getAggregation(name);\n };\n /**\n * Has no empty aggregation\n *\n * @param name\n *\n * @return {boolean}\n */\n Result.prototype.hasNotEmptyAggregation = function (name) {\n return this.aggregations == null\n ? false\n : this.aggregations.hasNotEmptyAggregation(name);\n };\n /**\n * Get suggestions\n *\n * @return {string[]}\n */\n Result.prototype.getSuggestions = function () {\n return this.suggestions;\n };\n /**\n * Get autocomplete\n *\n * @return {string|null}\n */\n Result.prototype.getAutocomplete = function () {\n return this.autocomplete;\n };\n /**\n * Get query uuid\n *\n * @return {string}\n */\n Result.prototype.getQueryUUID = function () {\n return this.queryUUID;\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n Result.prototype.getTotalItems = function () {\n return this.totalItems;\n };\n /**\n * Get total hits\n *\n * @return {number}\n */\n Result.prototype.getTotalHits = function () {\n return this.totalHits;\n };\n /**\n * Get subresults\n *\n * @return Object\n */\n Result.prototype.getSubresults = function () {\n return this.subresults;\n };\n /**\n * @return any\n */\n Result.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * @param name\n */\n Result.prototype.getMetadataValue = function (name) {\n var _a;\n return (_a = this.metadata[name]) !== null && _a !== void 0 ? _a : null;\n };\n /**\n * to array\n *\n * @return {{query: any, total_items: number, total_hits: number, items:any[], aggregations: any, suggestions: string[]}}\n */\n Result.prototype.toArray = function () {\n var array = {\n query_uuid: this.queryUUID,\n total_items: this.totalItems,\n total_hits: this.totalHits,\n items: this.items.map(function (item) { return item.toArray(); }),\n aggregations: this.aggregations == null\n ? null\n : this.aggregations.toArray(),\n suggests: this.suggestions,\n autocomplete: this.autocomplete === null\n ? undefined\n : this.autocomplete,\n metadata: this.metadata,\n };\n if (this.subresults instanceof Object &&\n Object.keys(this.subresults).length) {\n array.subresults = {};\n for (var i in this.subresults) {\n var subresult = this.subresults[i];\n array.subresults[i] = subresult.toArray();\n }\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {Result}\n */\n Result.createFromArray = function (array) {\n var result = Result.create(array.query_uuid\n ? array.query_uuid\n : '', array.total_items\n ? array.total_items\n : 0, array.total_hits\n ? array.total_hits\n : 0, array.aggregations instanceof Object\n ? ResultAggregations_1.ResultAggregations.createFromArray(array.aggregations)\n : null, array.suggests\n ? array.suggests\n : [], array.items instanceof Array\n ? array.items.map(function (itemAsArray) { return Item_1.Item.createFromArray(itemAsArray); })\n : [], array.autocomplete === undefined\n ? null\n : array.autocomplete, array.metadata === undefined\n ? {}\n : array.metadata);\n /**\n * Subqueries\n */\n var subresultsAsArray = typeof array.subresults === typeof {}\n ? array.subresults\n : {};\n for (var i in subresultsAsArray) {\n result.subresults[i] = Result.createFromArray(subresultsAsArray[i]);\n }\n return result;\n };\n return Result;\n}());\nexports.Result = Result;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResultAggregation = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Filter_1 = require(\"../Query/Filter\");\nvar Counter_1 = require(\"./Counter\");\n/**\n * ResultAggregation class\n */\nvar ResultAggregation = /** @class */ (function () {\n /**\n * @param name\n * @param applicationType\n * @param totalElements\n * @param activeElements\n * @param metadata\n */\n function ResultAggregation(name, applicationType, totalElements, activeElements, metadata) {\n if (metadata === void 0) { metadata = {}; }\n this.counters = {};\n this.highestActiveElement = 0;\n this.name = name;\n this.applicationType = applicationType;\n this.totalElements = totalElements;\n this.activeElements = {};\n this.metadata = metadata;\n for (var i in activeElements) {\n var activeElement = activeElements[i];\n this.activeElements[activeElement] = activeElement;\n }\n }\n /**\n * Add counter\n *\n * @param name\n * @param counter\n */\n ResultAggregation.prototype.addCounter = function (name, counter) {\n if (counter == 0) {\n return;\n }\n var counterInstance = Counter_1.Counter.createByActiveElements(name, counter, Object.keys(this.activeElements));\n if (!(counterInstance instanceof Counter_1.Counter)) {\n return;\n }\n if ((this.applicationType & Filter_1.FILTER_MUST_ALL_WITH_LEVELS) &&\n (this.applicationType & ~Filter_1.FILTER_MUST_ALL) &&\n counterInstance.isUsed()) {\n this.activeElements[counterInstance.getId()] = counterInstance;\n this.highestActiveElement = Math.max(counterInstance.getLevel(), this.highestActiveElement);\n return;\n }\n this.counters[counterInstance.getId()] = counterInstance;\n };\n /**\n * Get name\n *\n * @return {string}\n */\n ResultAggregation.prototype.getName = function () {\n return this.name;\n };\n /**\n * Get counter\n *\n * @return {any}\n */\n ResultAggregation.prototype.getCounters = function () {\n return this.counters;\n };\n /**\n *\n */\n ResultAggregation.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Return if the aggregation belongs to a filter.\n *\n * @return {boolean}\n */\n ResultAggregation.prototype.isFilter = function () {\n return (this.applicationType & Filter_1.FILTER_MUST_ALL) > 0;\n };\n /**\n * Aggregation has levels.\n *\n * @return {boolean}\n */\n ResultAggregation.prototype.hasLevels = function () {\n return (this.applicationType & Filter_1.FILTER_MUST_ALL_WITH_LEVELS) > 0;\n };\n /**\n * Get counter by name\n *\n * @param name\n *\n * @return {null}\n */\n ResultAggregation.prototype.getCounter = function (name) {\n return this.counters[name] instanceof Counter_1.Counter\n ? this.counters[name]\n : null;\n };\n /**\n * Get all elements\n *\n * @return {{}}\n */\n ResultAggregation.prototype.getAllElements = function () {\n return tslib_1.__assign(tslib_1.__assign({}, this.activeElements), this.counters);\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n ResultAggregation.prototype.getTotalElements = function () {\n return this.totalElements;\n };\n /**\n * Get active elements\n *\n * @return {any}\n */\n ResultAggregation.prototype.getActiveElements = function () {\n if (Object.keys(this.activeElements).length === 0) {\n return {};\n }\n if (this.applicationType === Filter_1.FILTER_MUST_ALL_WITH_LEVELS) {\n var value = null;\n for (var i in this.activeElements) {\n var activeElement = this.activeElements[i];\n if (!(activeElement instanceof Counter_1.Counter)) {\n continue;\n }\n if (value == null) {\n value = activeElement;\n }\n value = value.getLevel() > activeElement.getLevel()\n ? value\n : activeElement;\n }\n return value instanceof Counter_1.Counter\n ? { 0: value }\n : null;\n }\n return this.activeElements;\n };\n /**\n * Clean results by level and remove all levels higher than the lowest.\n */\n ResultAggregation.prototype.cleanCountersByLevel = function () {\n for (var i in this.counters) {\n var counter = this.counters[i];\n if (counter.getLevel() !== this.highestActiveElement + 1) {\n delete this.counters[i];\n }\n }\n };\n /**\n * Is empty\n *\n * @returns {boolean}\n */\n ResultAggregation.prototype.isEmpty = function () {\n return Object.keys(this.activeElements).length == 0 &&\n Object.keys(this.counters).length == 0;\n };\n /**\n * To array\n *\n * @return {any}\n */\n ResultAggregation.prototype.toArray = function () {\n var array = {\n name: this.name,\n counters: [],\n active_elements: [],\n metadata: this.metadata\n };\n for (var i in this.counters) {\n array.counters.push(this.counters[i].toArray());\n }\n if (this.applicationType !== Filter_1.FILTER_AT_LEAST_ONE) {\n array.application_type = this.applicationType;\n }\n if (this.totalElements > 0) {\n array.total_elements = this.totalElements;\n }\n for (var i in this.activeElements) {\n var activeElement = this.activeElements[i];\n array.active_elements.push(activeElement instanceof Counter_1.Counter\n ? activeElement.toArray()\n : activeElement);\n }\n if (this.highestActiveElement > 0) {\n array.highest_active_level = this.highestActiveElement;\n }\n if (array.counters.length === 0) {\n delete array.counters;\n }\n if (array.active_elements.length === 0) {\n delete array.active_elements;\n }\n if (Object.keys(array.metadata).length === 0) {\n delete array.metadata;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n */\n ResultAggregation.createFromArray = function (array) {\n var activeElements = [];\n var activeElementsAsArray = array.active_elements;\n activeElementsAsArray = typeof activeElementsAsArray === typeof []\n ? activeElementsAsArray\n : [];\n for (var i in activeElementsAsArray) {\n var activeElementAsArray = activeElementsAsArray[i];\n activeElements.push(typeof activeElementAsArray === typeof {}\n ? Counter_1.Counter.createFromArray(activeElementAsArray)\n : activeElementAsArray);\n }\n var aggregation = new ResultAggregation(array.name, parseInt(array.application_type ? array.application_type : Filter_1.FILTER_AT_LEAST_ONE), parseInt(array.total_elements ? array.total_elements : 0), []);\n aggregation.activeElements = activeElements;\n var countersAsArray = typeof array.counters === typeof []\n ? array.counters\n : [];\n for (var i in countersAsArray) {\n var counterAsArray = countersAsArray[i];\n if (typeof counterAsArray !== \"function\") {\n var counter = Counter_1.Counter.createFromArray(counterAsArray);\n aggregation.counters['_' + counter.getId()] = counter;\n }\n }\n aggregation.highestActiveElement = typeof array.highest_active_level === \"number\"\n ? array.highest_active_level\n : 0;\n aggregation.metadata = typeof array.metadata === typeof {}\n ? array.metadata\n : {};\n return aggregation;\n };\n return ResultAggregation;\n}());\nexports.ResultAggregation = ResultAggregation;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResultAggregations = void 0;\nvar ResultAggregation_1 = require(\"./ResultAggregation\");\n/**\n * ResultAggregation class\n */\nvar ResultAggregations = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param totalElements\n */\n function ResultAggregations(totalElements) {\n this.aggregations = {};\n this.totalElements = totalElements;\n }\n /**\n * Add aggregation\n *\n * @param name\n * @param aggregation\n */\n ResultAggregations.prototype.addAggregation = function (name, aggregation) {\n this.aggregations[name] = aggregation;\n };\n /**\n * Get aggregations\n *\n * @returns {{}}\n */\n ResultAggregations.prototype.getAggregations = function () {\n return this.aggregations;\n };\n /**\n * Get aggregation\n *\n * @param name\n *\n * @returns {Aggregation|null}\n */\n ResultAggregations.prototype.getAggregation = function (name) {\n return this.aggregations[name] instanceof ResultAggregation_1.ResultAggregation\n ? this.aggregations[name]\n : null;\n };\n /**\n * Has not empty aggregation\n *\n * @param name\n *\n * @returns {boolean}\n */\n ResultAggregations.prototype.hasNotEmptyAggregation = function (name) {\n var aggregation = this.getAggregation(name);\n return (aggregation instanceof ResultAggregation_1.ResultAggregation) &&\n (!aggregation.isEmpty());\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n ResultAggregations.prototype.getTotalElements = function () {\n return this.totalElements;\n };\n /**\n * To array\n *\n * @return {{total_elements?: number, aggregations?: {}}}\n */\n ResultAggregations.prototype.toArray = function () {\n var aggregationCollection = {};\n for (var i in this.aggregations) {\n aggregationCollection[i] = this.aggregations[i].toArray();\n }\n var array = {};\n if (this.totalElements > 0) {\n array.total_elements = this.totalElements;\n }\n if (Object.keys(aggregationCollection).length > 0) {\n array.aggregations = aggregationCollection;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ResultAggregations}\n */\n ResultAggregations.createFromArray = function (array) {\n var aggregations = new ResultAggregations(typeof array.total_elements === \"number\"\n ? array.total_elements\n : 0);\n if (typeof array.aggregations === typeof {}) {\n for (var i in array.aggregations) {\n aggregations.addAggregation(i, ResultAggregation_1.ResultAggregation.createFromArray(array.aggregations[i]));\n }\n }\n return aggregations;\n };\n return ResultAggregations;\n}());\nexports.ResultAggregations = ResultAggregations;\n","\"use strict\";\nexports.__esModule = true;\n","\"use strict\";\nexports.__esModule = true;\nexports.Transformer = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\n/**\n * Transformer\n */\nvar Transformer = /** @class */ (function () {\n function Transformer() {\n this.readTransformers = [];\n this.writeTransformers = [];\n }\n /**\n * Add read transformer\n *\n * @param readTransformer\n */\n Transformer.prototype.addReadTransformer = function (readTransformer) {\n this\n .readTransformers\n .push(readTransformer);\n };\n /**\n * @return {boolean}\n */\n Transformer.prototype.hasReadTransformers = function () {\n return this.readTransformers.length > 0;\n };\n /**\n * Add write transformer\n *\n * @param writeTransformer\n */\n Transformer.prototype.addWriteTransformer = function (writeTransformer) {\n this\n .writeTransformers\n .push(writeTransformer);\n };\n /**\n * Items to objects\n *\n * @param items\n *\n * @returns {any[]}\n */\n Transformer.prototype.fromItems = function (items) {\n var objects = [];\n for (var i in items) {\n objects.push(this.fromItem(items[i]));\n }\n return objects;\n };\n /**\n * Item to object\n *\n * @param item\n *\n * @returns {any}\n */\n Transformer.prototype.fromItem = function (item) {\n for (var i in this.readTransformers) {\n var transformer = this.readTransformers[i];\n if (transformer.isValidItem(item)) {\n return transformer.fromItem(item);\n }\n }\n return item;\n };\n /**\n * Objects to items\n *\n * @param objects\n *\n * @returns {Item[]}\n */\n Transformer.prototype.toItems = function (objects) {\n var items = [];\n for (var i in objects) {\n var item = this.toItem(objects[i]);\n if (item instanceof Item_1.Item) {\n items.push(item);\n }\n }\n return items;\n };\n /**\n * Object to item\n *\n * @param object\n *\n * @returns {any}\n */\n Transformer.prototype.toItem = function (object) {\n for (var i in this.writeTransformers) {\n var transformer = this.writeTransformers[i];\n if (transformer.isValidObject(object)) {\n return transformer.toItem(object);\n }\n }\n return object;\n };\n /**\n * Objects to items\n *\n * @param objects\n *\n * @returns {ItemUUID[]}\n */\n Transformer.prototype.toItemUUIDs = function (objects) {\n var itemUUIDs = [];\n for (var i in objects) {\n var itemUUID = this.toItemUUID(objects[i]);\n if (itemUUID instanceof ItemUUID_1.ItemUUID) {\n itemUUIDs.push(itemUUID);\n }\n }\n return itemUUIDs;\n };\n /**\n * Object to item\n *\n * @param object\n *\n * @returns {any}\n */\n Transformer.prototype.toItemUUID = function (object) {\n for (var i in this.writeTransformers) {\n var transformer = this.writeTransformers[i];\n if (transformer.isValidObject(object)) {\n return transformer.toItemUUID(object);\n }\n }\n return object;\n };\n return Transformer;\n}());\nexports.Transformer = Transformer;\n","\"use strict\";\nexports.__esModule = true;\n","\"use strict\";\nexports.__esModule = true;\nvar tslib_1 = require(\"tslib\");\nvar Apisearch_1 = require(\"./Apisearch\");\nexports[\"default\"] = Apisearch_1[\"default\"];\ntslib_1.__exportStar(require(\"./Config/Config\"), exports);\ntslib_1.__exportStar(require(\"./Config/Synonym\"), exports);\ntslib_1.__exportStar(require(\"./Error/ConnectionError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ErrorWithMessage\"), exports);\ntslib_1.__exportStar(require(\"./Error/EventError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ForbiddenError\"), exports);\ntslib_1.__exportStar(require(\"./Error/InvalidFormatError\"), exports);\ntslib_1.__exportStar(require(\"./Error/InvalidTokenError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ResourceExistsError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ResourceNotAvailableError\"), exports);\ntslib_1.__exportStar(require(\"./Error/UnsupportedContentTypeError\"), exports);\ntslib_1.__exportStar(require(\"./Geo/LocationRange\"), exports);\ntslib_1.__exportStar(require(\"./Http/AxiosClient\"), exports);\ntslib_1.__exportStar(require(\"./Http/Client\"), exports);\ntslib_1.__exportStar(require(\"./Http/HttpClient\"), exports);\ntslib_1.__exportStar(require(\"./Http/Response\"), exports);\ntslib_1.__exportStar(require(\"./Http/CacheClient\"), exports);\ntslib_1.__exportStar(require(\"./Model/Changes\"), exports);\ntslib_1.__exportStar(require(\"./Model/Coordinate\"), exports);\ntslib_1.__exportStar(require(\"./Model/Item\"), exports);\ntslib_1.__exportStar(require(\"./Model/ItemUUID\"), exports);\ntslib_1.__exportStar(require(\"./Model/Metadata\"), exports);\ntslib_1.__exportStar(require(\"./Model/User\"), exports);\ntslib_1.__exportStar(require(\"./Query/Aggregation\"), exports);\ntslib_1.__exportStar(require(\"./Query/Filter\"), exports);\ntslib_1.__exportStar(require(\"./Query/Query\"), exports);\ntslib_1.__exportStar(require(\"./Query/Range\"), exports);\ntslib_1.__exportStar(require(\"./Query/ScoreStrategies\"), exports);\ntslib_1.__exportStar(require(\"./Query/ScoreStrategy\"), exports);\ntslib_1.__exportStar(require(\"./Query/SortBy\"), exports);\ntslib_1.__exportStar(require(\"./Repository/HttpRepository\"), exports);\ntslib_1.__exportStar(require(\"./Repository/Repository\"), exports);\ntslib_1.__exportStar(require(\"./Result/ResultAggregation\"), exports);\ntslib_1.__exportStar(require(\"./Result/ResultAggregations\"), exports);\ntslib_1.__exportStar(require(\"./Result/Counter\"), exports);\ntslib_1.__exportStar(require(\"./Result/Result\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/ReadTransformer\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/Transformer\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/WriteTransformer\"), exports);\n","\"use strict\";\n/*\n\nTypeScript Md5\n==============\n\nBased on work by\n* Joseph Myers: http://www.myersdaily.org/joseph/javascript/md5-text.html\n* André Cruz: https://github.com/satazor/SparkMD5\n* Raymond Hill: https://github.com/gorhill/yamd5.js\n\nEffectively a TypeScrypt re-write of Raymond Hill JS Library\n\nThe MIT License (MIT)\n\nCopyright (C) 2014 Raymond Hill\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n Version 2, December 2004\n\n Copyright (C) 2015 André Cruz \n\n Everyone is permitted to copy and distribute verbatim or modified\n copies of this license document, and changing it is allowed as long\n as the name is changed.\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. You just DO WHAT YOU WANT TO.\n\n\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar Md5 = /** @class */ (function () {\n function Md5() {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state = new Int32Array(4);\n this._buffer = new ArrayBuffer(68);\n this._buffer8 = new Uint8Array(this._buffer, 0, 68);\n this._buffer32 = new Uint32Array(this._buffer, 0, 17);\n this.start();\n }\n Md5.hashStr = function (str, raw) {\n if (raw === void 0) { raw = false; }\n return this.onePassHasher\n .start()\n .appendStr(str)\n .end(raw);\n };\n Md5.hashAsciiStr = function (str, raw) {\n if (raw === void 0) { raw = false; }\n return this.onePassHasher\n .start()\n .appendAsciiStr(str)\n .end(raw);\n };\n Md5._hex = function (x) {\n var hc = Md5.hexChars;\n var ho = Md5.hexOut;\n var n;\n var offset;\n var j;\n var i;\n for (i = 0; i < 4; i += 1) {\n offset = i * 8;\n n = x[i];\n for (j = 0; j < 8; j += 2) {\n ho[offset + 1 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n ho[offset + 0 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n }\n }\n return ho.join('');\n };\n Md5._md5cycle = function (x, k) {\n var a = x[0];\n var b = x[1];\n var c = x[2];\n var d = x[3];\n // ff()\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n // gg()\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n // hh()\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n // ii()\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n };\n Md5.prototype.start = function () {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state.set(Md5.stateIdentity);\n return this;\n };\n // Char to code point to to array conversion:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n // #Example.3A_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown\n Md5.prototype.appendStr = function (str) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var code;\n var i;\n for (i = 0; i < str.length; i += 1) {\n code = str.charCodeAt(i);\n if (code < 128) {\n buf8[bufLen++] = code;\n }\n else if (code < 0x800) {\n buf8[bufLen++] = (code >>> 6) + 0xC0;\n buf8[bufLen++] = code & 0x3F | 0x80;\n }\n else if (code < 0xD800 || code > 0xDBFF) {\n buf8[bufLen++] = (code >>> 12) + 0xE0;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n else {\n code = ((code - 0xD800) * 0x400) + (str.charCodeAt(++i) - 0xDC00) + 0x10000;\n if (code > 0x10FFFF) {\n throw new Error('Unicode standard supports code points up to U+10FFFF');\n }\n buf8[bufLen++] = (code >>> 18) + 0xF0;\n buf8[bufLen++] = (code >>> 12 & 0x3F) | 0x80;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n if (bufLen >= 64) {\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen -= 64;\n buf32[0] = buf32[16];\n }\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.appendAsciiStr = function (str) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var i;\n var j = 0;\n for (;;) {\n i = Math.min(str.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = str.charCodeAt(j++);\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.appendByteArray = function (input) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var i;\n var j = 0;\n for (;;) {\n i = Math.min(input.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = input[j++];\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.getState = function () {\n var s = this._state;\n return {\n buffer: String.fromCharCode.apply(null, Array.from(this._buffer8)),\n buflen: this._bufferLength,\n length: this._dataLength,\n state: [s[0], s[1], s[2], s[3]]\n };\n };\n Md5.prototype.setState = function (state) {\n var buf = state.buffer;\n var x = state.state;\n var s = this._state;\n var i;\n this._dataLength = state.length;\n this._bufferLength = state.buflen;\n s[0] = x[0];\n s[1] = x[1];\n s[2] = x[2];\n s[3] = x[3];\n for (i = 0; i < buf.length; i += 1) {\n this._buffer8[i] = buf.charCodeAt(i);\n }\n };\n Md5.prototype.end = function (raw) {\n if (raw === void 0) { raw = false; }\n var bufLen = this._bufferLength;\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var i = (bufLen >> 2) + 1;\n this._dataLength += bufLen;\n var dataBitsLen = this._dataLength * 8;\n buf8[bufLen] = 0x80;\n buf8[bufLen + 1] = buf8[bufLen + 2] = buf8[bufLen + 3] = 0;\n buf32.set(Md5.buffer32Identity.subarray(i), i);\n if (bufLen > 55) {\n Md5._md5cycle(this._state, buf32);\n buf32.set(Md5.buffer32Identity);\n }\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n if (dataBitsLen <= 0xFFFFFFFF) {\n buf32[14] = dataBitsLen;\n }\n else {\n var matches = dataBitsLen.toString(16).match(/(.*?)(.{0,8})$/);\n if (matches === null) {\n return;\n }\n var lo = parseInt(matches[2], 16);\n var hi = parseInt(matches[1], 16) || 0;\n buf32[14] = lo;\n buf32[15] = hi;\n }\n Md5._md5cycle(this._state, buf32);\n return raw ? this._state : Md5._hex(this._state);\n };\n // Private Static Variables\n Md5.stateIdentity = new Int32Array([1732584193, -271733879, -1732584194, 271733878]);\n Md5.buffer32Identity = new Int32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\n Md5.hexChars = '0123456789abcdef';\n Md5.hexOut = [];\n // Permanent instance is to use for one-call hashing\n Md5.onePassHasher = new Md5();\n return Md5;\n}());\nexports.Md5 = Md5;\nif (Md5.hashStr('hello') !== '5d41402abc4b2a76b9719d911017c592') {\n throw new Error('Md5 self test failed.');\n}\n//# sourceMappingURL=md5.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(3607);\n"],"names":["root","factory","exports","module","define","amd","self","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","transitionalDefaults","AxiosError","CanceledError","parseProtocol","config","Promise","resolve","reject","onCanceled","requestData","data","requestHeaders","headers","responseType","done","cancelToken","unsubscribe","signal","removeEventListener","isFormData","isStandardBrowserEnv","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","value","err","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","protocol","ERR_BAD_REQUEST","send","bind","Axios","mergeConfig","axios","createInstance","defaultConfig","context","instance","prototype","extend","create","instanceConfig","CancelToken","isCancel","VERSION","toFormData","Cancel","all","promises","spread","isAxiosError","executor","TypeError","resolvePromise","this","promise","token","then","_listeners","i","l","length","onfulfilled","_resolve","message","reason","throwIfRequested","listener","push","index","splice","source","c","call","ERR_CANCELED","name","inherits","__CANCEL__","InterceptorManager","dispatchRequest","validator","validators","defaults","interceptors","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","Array","apply","concat","shift","newConfig","onFulfilled","onRejected","error","getUri","generateHTTPMethod","isForm","code","Error","toJSON","description","number","fileName","lineNumber","columnNumber","stack","descriptors","Object","defineProperties","defineProperty","from","customProps","axiosError","toFlatObject","obj","assign","handlers","use","options","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","config1","config2","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","keys","configValue","validateStatus","ERR_BAD_RESPONSE","Math","floor","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","toString","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isFileList","isObjectPayload","isObject","contentType","_FormData","env","FormData","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","arguments","encode","replace","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","exec","callback","arr","formData","convertValue","isTypedArray","Blob","Buffer","build","parentKey","fullKey","endsWith","toArray","el","append","pop","thing","deprecatedWarnings","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","schema","allowUnknown","ERR_BAD_OPTION_VALUE","result","ERR_BAD_OPTION","cache","kindOf","str","kindOfTest","getPrototypeOf","isFunction","hasOwnProperty","TypedArray","Uint8Array","constructor","pattern","ArrayBuffer","isView","pipe","product","assignValue","a","b","stripBOM","content","charCodeAt","superConstructor","props","sourceObj","destObj","filter","merged","getOwnPropertyNames","searchString","position","String","lastIndex","__esModule","tslib_1","AxiosClient_1","Query_1","Query_2","Query_3","SortBy_1","HttpRepository_1","Result_1","ResultAggregations_1","Transformer_1","CacheClient_1","Apisearch","createRepository","ensureRepositoryConfigIsValid","__assign","api_version","override_queries","httpClient","http_client","AxiosClient","endpoint","use_cache","CacheClient","HttpRepository","app_id","index_id","Transformer","ensureIsDefined","param","createQueryLocated","coordinate","queryText","page","size","QUERY_DEFAULT_PAGE","QUERY_DEFAULT_SIZE","Query","createLocated","createQuery","createQueryMatchAll","createMatchAll","createQueryByUUID","uuid","createByUUID","createQueryByUUIDs","uuids","_i","createByUUIDs","createEmptyResult","Result","ResultAggregations","createEmptySortBy","SortBy","createEmptyScoreStrategy","Config","DEFAULT_REPLICAS","DEFAULT_SHARDS","Synonym_1","language","storeSearchableMetadata","shards","replicas","synonyms","getLanguage","shouldSearchableMetadataBeStored","addSynonym","synonym","getSynonyms","getShards","getReplicas","store_searchable_metadata","map","createFromArray","array","Synonym","words","getWords","createbyWords","expand","ConnectionError","_super","__extends","getTransportableHTTPError","ErrorWithMessage","EventError","throwEndpointNotAvailable","ForbiddenError","createAppIdIsRequiredException","createIndexIsRequiredException","createTokenIsRequiredException","InvalidFormatError","itemRepresentationNotValid","itemUUIDRepresentationNotValid","composedItemUUIDNotValid","querySortedByDistanceWithoutCoordinate","queryFormatNotValid","coordinateFormatNotValid","configFormatNotValid","tokenFormatNotValid","indexFormatNotValid","indexUUIDFormatNotValid","appUUIDFormatNotValid","campaignFormatNotValid","changesFormatNotValid","boostClauseFormatNotValid","tokenUUIDFormatNotValid","userFormatNotValid","InvalidTokenError","createInvalidTokenPermissions","tokenReference","createInvalidTokenMaxHitsPerQuery","maxHitsPerQuery","ResourceExistsError","indexAvailable","eventsIndexAvailable","logsIndexAvailable","ResourceNotAvailableError","indexNotAvailable","resourceId","eventsIndexNotAvailable","logsIndexNotAvailable","engineNotAvailable","UnknownError","createUnknownError","UnsupportedContentTypeError","createUnsupportedContentTypeException","Square","Polygon","CoordinateAndDistance","LocationRange","Coordinate_1","fromFilterObject","object","getName","toFilterObject","distance","_this","Coordinate","coordinates","topLeftCoordinate","bottomRightCoordinate","top_left","bottom_right","axios_1","__1","Client_1","Response_1","overrideQueries","abortControllers","get","credentials","parameters","__awaiter","axiosRequestConfig","axiosResponse","error_1","__generator","_a","label","rawData","Client","objectToUrlParameters","trys","fetch","sent","Response","urlIsFormatted","generateAbortController","AbortController","retries","ts_md5_1","hits","flushCache","getNumberOfHits","cacheUID","_b","_c","Md5","hashStr","builtParams","HttpClient","body","getCode","getBody","AppUUID","InvalidFormatError_1","createById","getId","composedUUID","Changes","TYPE_ARRAY","TYPE_ARRAY_EXPECTS_ELEMENT","TYPE_ARRAY_ELEMENT_DELETE","TYPE_ARRAY_ELEMENT_ADD","TYPE_ARRAY_ELEMENT_UPDATE","TYPE_LITERAL","TYPE_VALUE","changes","addChange","field","updateElementFromList","condition","addElementInList","deleteElementFromList","getChanges","lat","lon","getLatitude","getLongitude","Index","IndexUUID_1","AppUUID_1","appUUID","isOK","docCount","getUUID","getAppUUID","isOk","getDocCount","getSize","is_ok","doc_count","IndexUUID","Item","ItemUUID_1","metadata","indexedMetadata","searchableMetadata","exactMatchingMetadata","suggest","highlights","promoted","getType","getCoordinate","getDistance","getMetadata","setMetadata","addMetadata","getIndexedMetadata","setIndexedMetadata","addIndexedMetadata","getSearchableMetadata","setSearchableMetadata","addSearchableMetadata","getExactMatchingMetadata","setExactMatchingMetadata","addExactMatchingMetadata","getAllMetadata","allMetadata","getSuggest","getHighlights","getHighlight","isPromoted","setScore","score","getScore","getIndexUUID","indexUUID","itemAsArray","indexed_metadata","searchable_metadata","exact_matching_metadata","is_promoted","app_uuid","index_uuid","item","ItemUUID","composeUUID","getPathByField","createByComposedUUID","Metadata","toMetadata","fromMetadata","values","splittedParts","iterator","lastElement","part","User","attributes","getAttributes","Aggregation","AGGREGATION_NO_LIMIT","AGGREGATION_SORT_BY_NAME_DESC","AGGREGATION_SORT_BY_NAME_ASC","AGGREGATION_SORT_BY_COUNT_DESC","AGGREGATION_SORT_BY_COUNT_ASC","Filter_1","applicationType","filterType","subgroup","sort","limit","getField","getApplicationType","getFilterType","getSubgroup","getSort","getLimit","getPromoted","aggregationAsArray","FILTER_AT_LEAST_ONE","application_type","FILTER_TYPE_FIELD","filter_type","Filter","FILTER_TYPE_QUERY","FILTER_TYPE_GEO","FILTER_TYPE_DATE_RANGE","FILTER_TYPE_RANGE","FILTER_PROMOTE","FILTER_EXCLUDE","FILTER_MUST_ALL_WITH_LEVELS","FILTER_MUST_ALL","filterTerms","getValues","hasValue","getFilterTerms","filterAsArray","filter_terms","NO_MIN_SCORE","Item_1","User_1","Aggregation_1","Filter_2","Aggregation_2","Filter_3","ScoreStrategies_1","UUID","fields","universeFilters","filters","itemsPromoted","aggregations","resultsEnabled","aggregationsEnabled","numberOfSuggestions","highlightsEnabled","autocompleteEnabled","searchableFields","fuzziness","minScore","subqueries","queryOperator","sortByInstance","_query","query","max","ids","disableAggregations","disableSuggestions","_id","createMultiquery","queries","setFields","getFields","filterUniverseByTypes","fieldPath","filterByTypes","aggregate","aggregationSort","filterUniverseByIds","filterByIds","filterUniverseBy","filterBy","filterName","aggregateBy","filterUniverseByRange","rangeType","filterUniverseByDateRange","filterByRange","ranges","aggregateByRange","filterByDateRange","filterUniverseByLocation","locationRange","setSearchableFields","getSearchableFields","sortBy","isSortedByGeoDistance","setCoordinate","aggregateByDateRange","getAggregations","getAggregation","aggregationName","getQueryText","getUniverseFilters","getUniverseFilter","getFilters","getFilter","getFilterByField","fieldName","getSortBy","getFrom","getPage","enableResults","disableResults","areResultsEnabled","enableAggregations","areAggregationsEnabled","setNumberOfSuggestions","getNumberOfSuggestions","enableAutocomplete","disableAutocomplete","areAutocompleteEnabled","enableHighlights","disableHighlights","areHighlightsEnabled","promoteUUID","itemUUID","promoteUUIDs","getItemsPromoted","excludeUUID","excludeUUIDs","getScoreStrategies","scoreStrategies","setScoreStrategies","getFuzziness","setFuzziness","setAutoFuzziness","getMinScore","setMinScore","byUser","user","anonymously","getUser","setMetadataValue","addSubquery","subquery","getSubqueries","identifyWith","forceIndexUUID","setQueryOperator","getQueryOperator","optimize","copy","extraFilters","otherAggregations","startsWith","ef","q","universe_filters","universeFilter","aggregation","results_enabled","autocomplete_enabled","number_of_suggestions","highlight_enabled","aggregations_enabled","searchable_fields","ScoreStrategies","scoreStrategiesAsArray","score_strategies","min_score","items_promoted","query_operator","aggregationsAsArray","sortAsArray","filtersAsArray","universeFiltersAsArray","itemsPromotedAsArray","subqueriesAsArray","Range","RANGE_SEPARATOR","RANGE_INFINITE","RANGE_MINUS_INFINITE","stringToArray","string","to","finalFrom","finalTo","parseInt","arrayToString","finalValues","createRanges","incremental","nextTo","MIN","MAX","AVG","SUM","MULTIPLY","ScoreStrategy_1","createEmpty","scoreMode","addScoreStrategy","scoreStrategy","getScoreMode","score_mode","ScoreStrategy","DEFAULT_FACTOR","DEFAULT_MISSING","SCORE_MODE_MIN","SCORE_MODE_MAX","SCORE_MODE_AVG","SCORE_MODE_SUM","SCORE_MODE_NONE","MODIFIER_SQUARE","MODIFIER_LN","MODIFIER_LOG","MODIFIER_SQRT","MODIFIER_NONE","DECAY_GAUSS","DECAY_EXP","DECAY_LINEAR","DECAY","CUSTOM_FUNCTION","BOOSTING_FIELD_VALUE","DEFAULT_WEIGHT","DEFAULT_TYPE","weight","configuration","getConfigurationValue","element","getWeight","createDefault","createFieldBoosting","factor","missing","modifier","fixFilterFieldPath","createCustomFunction","func","createDecayFunction","origin","scale","offset","decay","SORT_BY_LOCATION_MI_ASC","SORT_BY_LOCATION_KM_ASC","SORT_BY_TYPE_DESC","SORT_BY_TYPE_ASC","SORT_BY_ID_DESC","SORT_BY_ID_ASC","SORT_BY_AL_TUN_TUN","SORT_BY_RANDOM","SORT_BY_SCORE","SORT_BY_MODE_MEDIAN","SORT_BY_MODE_MAX","SORT_BY_MODE_MIN","SORT_BY_MODE_SUM","SORT_BY_MODE_AVG","SORT_BY_DESC","SORT_BY_ASC","SORT_BY_TYPE_RANDOM","SORT_BY_TYPE_FUNCTION","SORT_BY_TYPE_DISTANCE","SORT_BY_TYPE_SCORE","SORT_BY_TYPE_NESTED","SORT_BY_TYPE_FIELD","order","unit","sortsBy","byFieldsValues","shortSortByElements","byFieldValue","byValue","byNestedField","mode","byNestedFieldAndFilter","byFunction","hasRandomSort","getFirstSortAsString","firstSortBy","sortsByAsArray","innerArray","newSortBy","sortByAsArray","ConnectionError_1","InvalidTokenError_1","ResourceExistsError_1","ResourceNotAvailableError_1","UnknownError_1","Index_1","appId","indexId","transformer","getTransformer","addObject","toItem","addItem","deleteObject","toItemUUID","deleteItem","flushUpdateItems","itemsToUpdate","response_1","getCredentials","createErrorFromResponse","flushDeleteItems","itemsToDelete","response_2","response_3","applyTransformersToResult","globalThis","apisearchItemsTransformation","withItems","getItems","getSimilarItems","itemUUIDs","similarity","response_4","items_uuid","getRecommendedItems","response_5","updateItems","response_6","createIndex","response_7","deleteIndex","response_8","resetIndex","response_9","checkIndex","response_10","getIndices","response_11","indexAsArray","configureIndex","response_12","pushInteraction","userId","queryString","interaction","site","device","response_13","query_string","user_id","purchase","response_14","getHttpClient","hasReadTransformers","subresults","getSubresults","createMultiresults","getQueryUUID","getTotalItems","getTotalHits","getSuggestions","fromItems","getAutocomplete","Repository","resetCachedElements","addItems","items","deleteItems","itemsUUID","flush","bulkNumber","skipIfLess","chunkArray","arrayOfItems","arrayOfItemsUUID","chunk","arrayChunked","j","Counter","Metadata_1","used","n","getSlug","slug","getLevel","level","isUsed","getN","createByActiveElements","activeElements","inActiveElements","queryUUID","totalItems","totalHits","autocomplete","suggestions","getItemsGroupedByTypes","itemsGroupedByTypeCache","itemsGroupedByTypes","getItemsByType","getItemsByTypes","types","getFirstItem","setAggregations","hasNotEmptyAggregation","getMetadataValue","query_uuid","total_items","total_hits","suggests","subresult","subresultsAsArray","ResultAggregation","Counter_1","totalElements","counters","highestActiveElement","activeElement","addCounter","counter","counterInstance","getCounters","isFilter","hasLevels","getCounter","getAllElements","getTotalElements","getActiveElements","cleanCountersByLevel","isEmpty","active_elements","total_elements","highest_active_level","activeElementsAsArray","activeElementAsArray","countersAsArray","counterAsArray","ResultAggregation_1","addAggregation","aggregationCollection","readTransformers","writeTransformers","addReadTransformer","readTransformer","addWriteTransformer","writeTransformer","objects","fromItem","isValidItem","toItems","isValidObject","toItemUUIDs","Apisearch_1","__exportStar","_dataLength","_bufferLength","_state","Int32Array","_buffer","_buffer8","_buffer32","Uint32Array","start","raw","onePassHasher","appendStr","end","hashAsciiStr","appendAsciiStr","_hex","x","hc","hexChars","ho","hexOut","_md5cycle","k","d","set","stateIdentity","buf8","buf32","bufLen","min","appendByteArray","input","getState","s","fromCharCode","buflen","state","setState","buf","dataBitsLen","buffer32Identity","subarray","matches","lo","hi","extendStatics","setPrototypeOf","__proto__","p","__","t","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","r","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","_arguments","P","generator","step","next","f","y","g","_","ops","verb","Symbol","op","__createBinding","o","m","k2","__values","__read","ar","__spread","__spreadArrays","il","jl","__await","__asyncGenerator","asyncIterator","resume","fulfill","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","__importStar","mod","default","__importDefault","__classPrivateFieldGet","receiver","privateMap","has","__classPrivateFieldSet","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","enumerable","toStringTag","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"apisearch.min.js","mappings":"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","sources":["webpack://apisearch/webpack/universalModuleDefinition","webpack://apisearch/./node_modules/axios/index.js","webpack://apisearch/./node_modules/axios/lib/adapters/xhr.js","webpack://apisearch/./node_modules/axios/lib/axios.js","webpack://apisearch/./node_modules/axios/lib/cancel/CancelToken.js","webpack://apisearch/./node_modules/axios/lib/cancel/CanceledError.js","webpack://apisearch/./node_modules/axios/lib/cancel/isCancel.js","webpack://apisearch/./node_modules/axios/lib/core/Axios.js","webpack://apisearch/./node_modules/axios/lib/core/AxiosError.js","webpack://apisearch/./node_modules/axios/lib/core/InterceptorManager.js","webpack://apisearch/./node_modules/axios/lib/core/buildFullPath.js","webpack://apisearch/./node_modules/axios/lib/core/dispatchRequest.js","webpack://apisearch/./node_modules/axios/lib/core/mergeConfig.js","webpack://apisearch/./node_modules/axios/lib/core/settle.js","webpack://apisearch/./node_modules/axios/lib/core/transformData.js","webpack://apisearch/./node_modules/axios/lib/defaults/index.js","webpack://apisearch/./node_modules/axios/lib/defaults/transitional.js","webpack://apisearch/./node_modules/axios/lib/env/data.js","webpack://apisearch/./node_modules/axios/lib/helpers/bind.js","webpack://apisearch/./node_modules/axios/lib/helpers/buildURL.js","webpack://apisearch/./node_modules/axios/lib/helpers/combineURLs.js","webpack://apisearch/./node_modules/axios/lib/helpers/cookies.js","webpack://apisearch/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://apisearch/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://apisearch/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://apisearch/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://apisearch/./node_modules/axios/lib/helpers/null.js","webpack://apisearch/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://apisearch/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://apisearch/./node_modules/axios/lib/helpers/spread.js","webpack://apisearch/./node_modules/axios/lib/helpers/toFormData.js","webpack://apisearch/./node_modules/axios/lib/helpers/validator.js","webpack://apisearch/./node_modules/axios/lib/utils.js","webpack://apisearch/./src/Apisearch.ts","webpack://apisearch/./src/Config/Config.ts","webpack://apisearch/./src/Config/Synonym.ts","webpack://apisearch/./src/Error/ConnectionError.ts","webpack://apisearch/./src/Error/ErrorWithMessage.ts","webpack://apisearch/./src/Error/EventError.ts","webpack://apisearch/./src/Error/ForbiddenError.ts","webpack://apisearch/./src/Error/InvalidFormatError.ts","webpack://apisearch/./src/Error/InvalidTokenError.ts","webpack://apisearch/./src/Error/ResourceExistsError.ts","webpack://apisearch/./src/Error/ResourceNotAvailableError.ts","webpack://apisearch/./src/Error/UnknownError.ts","webpack://apisearch/./src/Error/UnsupportedContentTypeError.ts","webpack://apisearch/./src/Geo/LocationRange.ts","webpack://apisearch/./src/Http/AxiosClient.ts","webpack://apisearch/./src/Http/CacheClient.ts","webpack://apisearch/./src/Http/Client.ts","webpack://apisearch/./src/Http/HttpClient.ts","webpack://apisearch/./src/Http/Response.ts","webpack://apisearch/./src/Model/AppUUID.ts","webpack://apisearch/./src/Model/Changes.ts","webpack://apisearch/./src/Model/Coordinate.ts","webpack://apisearch/./src/Model/Index.ts","webpack://apisearch/./src/Model/IndexUUID.ts","webpack://apisearch/./src/Model/Item.ts","webpack://apisearch/./src/Model/ItemUUID.ts","webpack://apisearch/./src/Model/Metadata.ts","webpack://apisearch/./src/Model/User.ts","webpack://apisearch/./src/Query/Aggregation.ts","webpack://apisearch/./src/Query/Filter.ts","webpack://apisearch/./src/Query/Query.ts","webpack://apisearch/./src/Query/Range.ts","webpack://apisearch/./src/Query/ScoreStrategies.ts","webpack://apisearch/./src/Query/ScoreStrategy.ts","webpack://apisearch/./src/Query/SortBy.ts","webpack://apisearch/./src/Repository/HttpRepository.ts","webpack://apisearch/./src/Repository/Repository.ts","webpack://apisearch/./src/Result/Counter.ts","webpack://apisearch/./src/Result/Result.ts","webpack://apisearch/./src/Result/ResultAggregation.ts","webpack://apisearch/./src/Result/ResultAggregations.ts","webpack://apisearch/./src/Transformer/ReadTransformer.ts","webpack://apisearch/./src/Transformer/Transformer.ts","webpack://apisearch/./src/Transformer/WriteTransformer.ts","webpack://apisearch/./src/index.ts","webpack://apisearch/./node_modules/ts-md5/dist/md5.js","webpack://apisearch/./node_modules/tslib/tslib.es6.js","webpack://apisearch/webpack/bootstrap","webpack://apisearch/webpack/runtime/define property getters","webpack://apisearch/webpack/runtime/hasOwnProperty shorthand","webpack://apisearch/webpack/runtime/make namespace object","webpack://apisearch/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"apisearch\"] = factory();\n\telse\n\t\troot[\"apisearch\"] = factory();\n})(self, () => {\nreturn ","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","\"use strict\";\nexports.__esModule = true;\nvar tslib_1 = require(\"tslib\");\nvar AxiosClient_1 = require(\"./Http/AxiosClient\");\nvar Query_1 = require(\"./Query/Query\");\nvar Query_2 = require(\"./Query/Query\");\nvar Query_3 = require(\"./Query/Query\");\nvar SortBy_1 = require(\"./Query/SortBy\");\nvar HttpRepository_1 = require(\"./Repository/HttpRepository\");\nvar Result_1 = require(\"./Result/Result\");\nvar ResultAggregations_1 = require(\"./Result/ResultAggregations\");\nvar Transformer_1 = require(\"./Transformer/Transformer\");\nvar CacheClient_1 = require(\"./Http/CacheClient\");\n/**\n * Apisearch class\n */\nvar Apisearch = /** @class */ (function () {\n function Apisearch() {\n }\n /**\n * Constructor\n *\n * @param config\n *\n * @return {HttpRepository}\n */\n Apisearch.createRepository = function (config) {\n Apisearch.ensureRepositoryConfigIsValid(config);\n config.options = tslib_1.__assign({ api_version: \"v1\", override_queries: true, timeout: 3000 }, config.options);\n /**\n * Client\n */\n var httpClient = typeof config.options.http_client !== \"undefined\"\n ? config.options.http_client\n : new AxiosClient_1.AxiosClient(config.options.endpoint, config.options.api_version, config.options.timeout, config.options.override_queries);\n if (config.options.use_cache) {\n httpClient = new CacheClient_1.CacheClient(httpClient);\n }\n return new HttpRepository_1.HttpRepository(httpClient, config.app_id, config.index_id, config.token, new Transformer_1.Transformer());\n };\n /**\n * Ensure the Repository configuration is valid\n *\n * @param config\n */\n Apisearch.ensureRepositoryConfigIsValid = function (config) {\n Apisearch.ensureIsDefined(config.app_id, \"app_id\");\n Apisearch.ensureIsDefined(config.index_id, \"index_id\");\n Apisearch.ensureIsDefined(config.token, \"token\");\n Apisearch.ensureIsDefined(config.options.endpoint, \"options.endpoint\");\n };\n /**\n * Ensure the value is not undefined\n *\n * @param param\n * @param name\n */\n Apisearch.ensureIsDefined = function (param, name) {\n if (typeof param === \"undefined\") {\n throw new TypeError(name + \" parameter must be defined.\");\n }\n };\n /**\n * Created located\n *\n * @param coordinate\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Apisearch.createQueryLocated = function (coordinate, queryText, page, size) {\n if (page === void 0) { page = Query_1.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = Query_2.QUERY_DEFAULT_SIZE; }\n return Query_3.Query.createLocated(coordinate, queryText, page, size);\n };\n /**\n * Create\n *\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Apisearch.createQuery = function (queryText, page, size) {\n if (page === void 0) { page = Query_1.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = Query_2.QUERY_DEFAULT_SIZE; }\n return Query_3.Query.create(queryText, page, size);\n };\n /**\n * Create match all\n *\n * @return {Query}\n */\n Apisearch.createQueryMatchAll = function () {\n return Query_3.Query.createMatchAll();\n };\n /**\n * Create by UUID\n *\n * @param uuid\n *\n * @return {Query}\n */\n Apisearch.createQueryByUUID = function (uuid) {\n return Query_3.Query.createByUUID(uuid);\n };\n /**\n * Create by UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Apisearch.createQueryByUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n return Query_3.Query.createByUUIDs.apply(Query_3.Query, uuids);\n };\n /**\n * Create empty result\n *\n * @return {Result}\n */\n Apisearch.createEmptyResult = function () {\n return Result_1.Result.create(\"\", 0, 0, new ResultAggregations_1.ResultAggregations(0), [], []);\n };\n /**\n * Create empty sortby\n *\n * @return {SortBy}\n */\n Apisearch.createEmptySortBy = function () {\n return SortBy_1.SortBy.create();\n };\n /**\n * Create empty sortby\n *\n * @return {SortBy}\n */\n Apisearch.createEmptyScoreStrategy = function () {\n return SortBy_1.SortBy.create();\n };\n return Apisearch;\n}());\nexports[\"default\"] = Apisearch;\n","\"use strict\";\nexports.__esModule = true;\nexports.Config = exports.DEFAULT_REPLICAS = exports.DEFAULT_SHARDS = void 0;\nvar Synonym_1 = require(\"./Synonym\");\nexports.DEFAULT_SHARDS = 1;\nexports.DEFAULT_REPLICAS = 0;\n/**\n * Result class\n */\nvar Config = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param language\n * @param storeSearchableMetadata\n * @param shards\n * @param replicas\n */\n function Config(language, storeSearchableMetadata, shards, replicas) {\n if (language === void 0) { language = null; }\n if (storeSearchableMetadata === void 0) { storeSearchableMetadata = true; }\n if (shards === void 0) { shards = exports.DEFAULT_SHARDS; }\n if (replicas === void 0) { replicas = exports.DEFAULT_REPLICAS; }\n this.synonyms = [];\n this.language = language;\n this.storeSearchableMetadata = storeSearchableMetadata;\n this.shards = shards;\n this.replicas = replicas;\n }\n /**\n * Get language\n *\n * @return {string}\n */\n Config.prototype.getLanguage = function () {\n return this.language;\n };\n /**\n * Should searchable metadata be stored\n *\n * @return {boolean}\n */\n Config.prototype.shouldSearchableMetadataBeStored = function () {\n return this.storeSearchableMetadata;\n };\n /**\n * Add synonym\n *\n * @param synonym\n */\n Config.prototype.addSynonym = function (synonym) {\n this.synonyms.push(synonym);\n };\n /**\n * Get synonyms\n *\n * @return {Synonym[]}\n */\n Config.prototype.getSynonyms = function () {\n return this.synonyms;\n };\n /**\n * Get shards\n *\n * @return {number}\n */\n Config.prototype.getShards = function () {\n return this.shards;\n };\n /**\n * Get replicas\n *\n * @return {number}\n */\n Config.prototype.getReplicas = function () {\n return this.replicas;\n };\n /**\n * to array\n */\n Config.prototype.toArray = function () {\n return {\n language: this.language,\n store_searchable_metadata: this.storeSearchableMetadata,\n synonyms: this.synonyms.map(function (synonym) { return synonym.toArray(); }),\n shards: this.shards,\n replicas: this.replicas\n };\n };\n /**\n * Create from array\n */\n Config.createFromArray = function (array) {\n var config = new Config(array.language ? array.language : null, typeof array.store_searchable_metadata == \"boolean\"\n ? array.store_searchable_metadata\n : true);\n if (array.synonyms instanceof Array &&\n array.synonyms.length > 0) {\n config.synonyms = array.synonyms.map(function (synonym) { return Synonym_1.Synonym.createFromArray(synonym); });\n }\n config.shards = typeof array.shards == \"number\"\n ? array.shards\n : exports.DEFAULT_SHARDS;\n config.replicas = typeof array.replicas == \"number\"\n ? array.replicas\n : exports.DEFAULT_REPLICAS;\n return config;\n };\n return Config;\n}());\nexports.Config = Config;\n","\"use strict\";\nexports.__esModule = true;\nexports.Synonym = void 0;\n/**\n * Result class\n */\nvar Synonym = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param words\n */\n function Synonym(words) {\n this.words = words;\n }\n /**\n * get words\n *\n * @return {string[]}\n */\n Synonym.prototype.getWords = function () {\n return this.words;\n };\n /**\n * Create by words\n *\n * @param words\n *\n * @return {Synonym}\n */\n Synonym.createbyWords = function (words) {\n return new Synonym(words);\n };\n /**\n * To array\n *\n * @return {{words: string[]}}\n */\n Synonym.prototype.toArray = function () {\n return {\n words: this.words,\n };\n };\n /**\n * create from array\n *\n * @param array\n *\n * @returns {Synonym}\n */\n Synonym.createFromArray = function (array) {\n return new Synonym(array.words instanceof Object\n ? array.words\n : []);\n };\n /**\n * Expand\n *\n * @returns {string}\n */\n Synonym.prototype.expand = function () {\n return this.words.join(\",\");\n };\n return Synonym;\n}());\nexports.Synonym = Synonym;\n","\"use strict\";\nexports.__esModule = true;\nexports.ConnectionError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Connection error\n */\nvar ConnectionError = /** @class */ (function (_super) {\n tslib_1.__extends(ConnectionError, _super);\n function ConnectionError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ConnectionError.getTransportableHTTPError = function () {\n return 500;\n };\n return ConnectionError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ConnectionError = ConnectionError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ErrorWithMessage = void 0;\n/**\n * ConnectError\n */\nvar ErrorWithMessage = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param message\n */\n function ErrorWithMessage(message) {\n this.message = message;\n }\n return ErrorWithMessage;\n}());\nexports.ErrorWithMessage = ErrorWithMessage;\n","\"use strict\";\nexports.__esModule = true;\nexports.EventError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * EventError\n */\nvar EventError = /** @class */ (function (_super) {\n tslib_1.__extends(EventError, _super);\n function EventError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n EventError.throwEndpointNotAvailable = function () {\n return new EventError(\"Endpoint not available\");\n };\n return EventError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.EventError = EventError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ForbiddenError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Forbidden Error\n */\nvar ForbiddenError = /** @class */ (function (_super) {\n tslib_1.__extends(ForbiddenError, _super);\n function ForbiddenError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ForbiddenError.getTransportableHTTPError = function () {\n return 403;\n };\n /**\n * App id is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createAppIdIsRequiredException = function () {\n return new ForbiddenError(\"AppId query parameter MUST be defined with a valid value\");\n };\n /**\n * Index id is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createIndexIsRequiredException = function () {\n return new ForbiddenError(\"Index query parameter MUST be defined with a valid value\");\n };\n /**\n * Token is required\n *\n * @return {ForbiddenError}\n */\n ForbiddenError.createTokenIsRequiredException = function () {\n return new ForbiddenError(\"Token query parameter MUST be defined with a valid value\");\n };\n return ForbiddenError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ForbiddenError = ForbiddenError;\n","\"use strict\";\nexports.__esModule = true;\nexports.InvalidFormatError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Class InvalidFormatError\n */\nvar InvalidFormatError = /** @class */ (function (_super) {\n tslib_1.__extends(InvalidFormatError, _super);\n function InvalidFormatError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n InvalidFormatError.getTransportableHTTPError = function () {\n return 400;\n };\n /**\n * Item representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.itemRepresentationNotValid = function () {\n return new InvalidFormatError(\"Item representation not valid. Expecting Item array serialized but found malformed data\");\n };\n /**\n * Item UUID representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.itemUUIDRepresentationNotValid = function () {\n return new InvalidFormatError(\"Item UUID representation not valid. Expecting UUID array serialized but found malformed data\");\n };\n /**\n * Create Composed UUID bad format.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.composedItemUUIDNotValid = function () {\n return new InvalidFormatError(\"A composed UUID should always follow this format: {id}~{type}.\");\n };\n /**\n * Create Query sorted by distance without coordinate.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.querySortedByDistanceWithoutCoordinate = function () {\n return new InvalidFormatError(\"In order to be able to sort by coordinates, you need to create a Query by using Query::createLocated() instead of Query::create()\");\n };\n /**\n * Query representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.queryFormatNotValid = function () {\n return new InvalidFormatError(\"Query Format not valid. Expecting a Query serialized but found malformed data\");\n };\n /**\n * Coordinate representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.coordinateFormatNotValid = function () {\n return new InvalidFormatError(\"A Coordinate should always contain a lat (Latitude) and a lon (Longitude)\");\n };\n /**\n * Config representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.configFormatNotValid = function () {\n return new InvalidFormatError(\"Config Format not valid. Expecting a Config serialized but found malformed data\");\n };\n /**\n * Token representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.tokenFormatNotValid = function () {\n return new InvalidFormatError(\"Token Format not valid. Expecting a Token serialized but found malformed data\");\n };\n /**\n * Index format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.indexFormatNotValid = function () {\n return new InvalidFormatError('Index Format not valid. Expecting an Index serialized but found malformed data');\n };\n /**\n * IndexUUI format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.indexUUIDFormatNotValid = function () {\n return new InvalidFormatError('IndexUUID Format not valid. Expecting an IndexUUID serialized but found malformed data');\n };\n /**\n * App format not valid.\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.appUUIDFormatNotValid = function () {\n return new InvalidFormatError('AppUUID Format not valid. Expecting an AppUUID serialized but found malformed data');\n };\n /**\n * Campaign representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.campaignFormatNotValid = function () {\n return new InvalidFormatError(\"Campaign Format not valid. Expecting a Campaign serialized but found malformed data\");\n };\n /**\n * Changes representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.changesFormatNotValid = function () {\n return new InvalidFormatError(\"Changes Format not valid. Expecting a Changes serialized but found malformed data\");\n };\n /**\n * Boost clause representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.boostClauseFormatNotValid = function () {\n return new InvalidFormatError(\"Boost clause Format not valid. Expecting a Boost clause serialized but found malformed data\");\n };\n /**\n * token uuid representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.tokenUUIDFormatNotValid = function () {\n return new InvalidFormatError(\"Token UUID Format not valid. Expecting a TokenUUID serialized but found malformed data\");\n };\n /**\n * User representation not valid\n *\n * @return {InvalidFormatError}\n */\n InvalidFormatError.userFormatNotValid = function () {\n return new InvalidFormatError(\"User Format not valid. Expecting a User serialized but found malformed data\");\n };\n return InvalidFormatError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.InvalidFormatError = InvalidFormatError;\n","\"use strict\";\nexports.__esModule = true;\nexports.InvalidTokenError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Invalid token error\n */\nvar InvalidTokenError = /** @class */ (function (_super) {\n tslib_1.__extends(InvalidTokenError, _super);\n function InvalidTokenError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n InvalidTokenError.getTransportableHTTPError = function () {\n return 401;\n };\n /**\n * Invalid token permissions\n *\n * @param tokenReference\n *\n * @return {InvalidTokenError}\n */\n InvalidTokenError.createInvalidTokenPermissions = function (tokenReference) {\n return new InvalidTokenError(\"Token \" + tokenReference + \"not valid\");\n };\n /**\n * Invalid token permissions\n *\n * @param tokenReference\n * @param maxHitsPerQuery\n *\n * @return {InvalidTokenError}\n */\n InvalidTokenError.createInvalidTokenMaxHitsPerQuery = function (tokenReference, maxHitsPerQuery) {\n return new InvalidTokenError(\"Token \" + tokenReference + \"not valid. Max \" + maxHitsPerQuery + \" hits allowed\");\n };\n return InvalidTokenError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.InvalidTokenError = InvalidTokenError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResourceExistsError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Resource exists error\n */\nvar ResourceExistsError = /** @class */ (function (_super) {\n tslib_1.__extends(ResourceExistsError, _super);\n function ResourceExistsError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ResourceExistsError.getTransportableHTTPError = function () {\n return 409;\n };\n /**\n * Index not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.indexAvailable = function () {\n return new ResourceExistsError(\"Index exists and cannot be created again\");\n };\n /**\n * Events not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.eventsIndexAvailable = function () {\n return new ResourceExistsError(\"Events index exists and cannot be created again\");\n };\n /**\n * Logs not available\n *\n * @return {InvalidFormatError}\n */\n ResourceExistsError.logsIndexAvailable = function () {\n return new ResourceExistsError(\"Logs index exists and cannot be created again\");\n };\n return ResourceExistsError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ResourceExistsError = ResourceExistsError;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResourceNotAvailableError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Resource not available error\n */\nvar ResourceNotAvailableError = /** @class */ (function (_super) {\n tslib_1.__extends(ResourceNotAvailableError, _super);\n function ResourceNotAvailableError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n ResourceNotAvailableError.getTransportableHTTPError = function () {\n return 404;\n };\n /**\n * Index not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.indexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Index not available - \" + resourceId);\n };\n /**\n * Events not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.eventsIndexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Events not available - \" + resourceId);\n };\n /**\n * Logs not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.logsIndexNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Logs not available - \" + resourceId);\n };\n /**\n * Engine not available\n *\n * @param resourceId\n *\n * @return {InvalidFormatError}\n */\n ResourceNotAvailableError.engineNotAvailable = function (resourceId) {\n return new ResourceNotAvailableError(\"Engine not available - \" + resourceId);\n };\n return ResourceNotAvailableError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.ResourceNotAvailableError = ResourceNotAvailableError;\n","\"use strict\";\nexports.__esModule = true;\nexports.UnknownError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Connection error\n */\nvar UnknownError = /** @class */ (function (_super) {\n tslib_1.__extends(UnknownError, _super);\n function UnknownError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Unknown error\n *\n * @return this\n */\n UnknownError.createUnknownError = function () {\n return new this(\"Unknown error.\");\n };\n return UnknownError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.UnknownError = UnknownError;\n","\"use strict\";\nexports.__esModule = true;\nexports.UnsupportedContentTypeError = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ErrorWithMessage_1 = require(\"./ErrorWithMessage\");\n/**\n * Unsupported content type error\n */\nvar UnsupportedContentTypeError = /** @class */ (function (_super) {\n tslib_1.__extends(UnsupportedContentTypeError, _super);\n function UnsupportedContentTypeError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Get transportable http error\n *\n * @return {number}\n */\n UnsupportedContentTypeError.getTransportableHTTPError = function () {\n return 415;\n };\n /**\n * Unsupported content type\n *\n * @return {InvalidFormatError}\n */\n UnsupportedContentTypeError.createUnsupportedContentTypeException = function () {\n return new UnsupportedContentTypeError(\"This content type is not accepted. Please use application/json\");\n };\n return UnsupportedContentTypeError;\n}(ErrorWithMessage_1.ErrorWithMessage));\nexports.UnsupportedContentTypeError = UnsupportedContentTypeError;\n","\"use strict\";\nexports.__esModule = true;\nexports.Square = exports.Polygon = exports.CoordinateAndDistance = exports.LocationRange = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Coordinate_1 = require(\"../Model/Coordinate\");\n/**\n * Abstract Location Range class\n */\nvar LocationRange = /** @class */ (function () {\n function LocationRange() {\n }\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n LocationRange.fromFilterObject = function (object) {\n throw TypeError(\"Method not valid\");\n };\n /**\n * to array\n */\n LocationRange.prototype.toArray = function () {\n return {\n type: this.getName(),\n data: this.toFilterObject(),\n };\n };\n /**\n * Create from array\n *\n * @param array\n */\n LocationRange.createFromArray = function (array) {\n if (array.type == \"CoordinateAndDistance\") {\n return CoordinateAndDistance.fromFilterObject(array.data);\n }\n if (array.type == \"Polygon\") {\n return Polygon.fromFilterObject(array.data);\n }\n if (array.type == \"Square\") {\n return Square.fromFilterObject(array.data);\n }\n };\n return LocationRange;\n}());\nexports.LocationRange = LocationRange;\n/**\n * CoordinateAndDistance\n */\nvar CoordinateAndDistance = /** @class */ (function (_super) {\n tslib_1.__extends(CoordinateAndDistance, _super);\n /**\n * Constructor\n *\n * @param coordinate\n * @param distance\n */\n function CoordinateAndDistance(coordinate, distance) {\n var _this = _super.call(this) || this;\n _this.coordinate = coordinate;\n _this.distance = distance;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{}}}\n */\n CoordinateAndDistance.prototype.toFilterObject = function () {\n return {\n coordinate: this.coordinate.toArray(),\n distance: this.distance,\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n CoordinateAndDistance.prototype.getName = function () {\n return \"CoordinateAndDistance\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n CoordinateAndDistance.fromFilterObject = function (object) {\n return new CoordinateAndDistance(Coordinate_1.Coordinate.createFromArray(object.coordinate), object.distance);\n };\n return CoordinateAndDistance;\n}(LocationRange));\nexports.CoordinateAndDistance = CoordinateAndDistance;\n/**\n * Polygon\n */\nvar Polygon = /** @class */ (function (_super) {\n tslib_1.__extends(Polygon, _super);\n /**\n * Constructor\n *\n * @param coordinates\n */\n function Polygon(coordinates) {\n var _this = _super.call(this) || this;\n if (coordinates.length < 3) {\n throw new Error(\"A polygon needs more than two coordinates.\");\n }\n _this.coordinates = coordinates;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{coordinates: {lat:number, lon:number}[]}}\n */\n Polygon.prototype.toFilterObject = function () {\n var coordinates = [];\n for (var i in this.coordinates) {\n coordinates.push(this.coordinates[i].toArray());\n }\n return {\n coordinates: coordinates,\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n Polygon.prototype.getName = function () {\n return \"Polygon\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {Polygon}\n */\n Polygon.fromFilterObject = function (object) {\n var coordinates = [];\n for (var i in object.coordinates) {\n coordinates.push(Coordinate_1.Coordinate.createFromArray(object.coordinates[i]));\n }\n return new Polygon(coordinates);\n };\n return Polygon;\n}(LocationRange));\nexports.Polygon = Polygon;\n/**\n * Square\n */\nvar Square = /** @class */ (function (_super) {\n tslib_1.__extends(Square, _super);\n /**\n * Constructor\n *\n * @param topLeftCoordinate\n * @param bottomRightCoordinate\n */\n function Square(topLeftCoordinate, bottomRightCoordinate) {\n var _this = _super.call(this) || this;\n _this.topLeftCoordinate = topLeftCoordinate;\n _this.bottomRightCoordinate = bottomRightCoordinate;\n return _this;\n }\n /**\n * To filter object\n *\n * @return {{}}}\n */\n Square.prototype.toFilterObject = function () {\n return {\n top_left: this.topLeftCoordinate.toArray(),\n bottom_right: this.bottomRightCoordinate.toArray(),\n };\n };\n /**\n * Get name\n *\n * @return {string}\n */\n Square.prototype.getName = function () {\n return \"Square\";\n };\n /**\n * From filter object\n *\n * @param object\n *\n * @return {LocationRange}\n */\n Square.fromFilterObject = function (object) {\n return new Square(Coordinate_1.Coordinate.createFromArray(object.top_left), Coordinate_1.Coordinate.createFromArray(object.bottom_right));\n };\n return Square;\n}(LocationRange));\nexports.Square = Square;\n","\"use strict\";\nexports.__esModule = true;\nexports.AxiosClient = void 0;\nvar tslib_1 = require(\"tslib\");\nvar axios_1 = require(\"axios\");\nvar __1 = require(\"..\");\nvar Client_1 = require(\"./Client\");\nvar Response_1 = require(\"./Response\");\n/**\n * AxiosClient\n */\nvar AxiosClient = /** @class */ (function (_super) {\n tslib_1.__extends(AxiosClient, _super);\n /**\n * Constructor\n *\n * @param host\n * @param version\n * @param timeout\n * @param overrideQueries\n */\n function AxiosClient(host, version, timeout, overrideQueries) {\n var _this = _super.call(this, version) || this;\n _this.host = host;\n _this.timeout = timeout;\n _this.overrideQueries = overrideQueries;\n _this.abortControllers = {};\n return _this;\n }\n /**\n * @param url\n * @param method\n * @param credentials\n * @param parameters\n * @param data\n */\n AxiosClient.prototype.get = function (url, method, credentials, parameters, data) {\n if (parameters === void 0) { parameters = {}; }\n if (data === void 0) { data = {}; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var headers, axiosRequestConfig, axiosResponse, error_1, response;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n url = url.replace(/^\\/*|\\/*$/g, \"\");\n url = \"/\" + (this.version + \"/\" + url).replace(/^\\/*|\\/*$/g, \"\");\n method = method.toLowerCase();\n if (\"get\" === method &&\n this.overrideQueries) {\n this.abort(url, true);\n }\n headers = \"get\" === method\n ? {}\n : {\n \"Content-Encoding\": \"gzip\",\n \"Content-Type\": \"application/json\",\n };\n axiosRequestConfig = {\n baseURL: this.host.replace(/\\/*$/g, \"\"),\n data: data,\n headers: headers,\n method: method,\n timeout: this.timeout,\n transformRequest: [function (rawData) { return JSON.stringify(rawData); }],\n url: url + \"?\" + Client_1.Client.objectToUrlParameters(tslib_1.__assign(tslib_1.__assign({}, parameters), {\n token: credentials.token,\n })).replace(/#/g, \"%23\"),\n };\n if (typeof this.abortControllers[url] !== \"undefined\") {\n axiosRequestConfig.signal = this.abortControllers[url].signal;\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.fetch(url, axiosRequestConfig, 3)];\n case 2:\n axiosResponse = _a.sent();\n return [2 /*return*/, new Response_1.Response(axiosResponse.status, axiosResponse.data)];\n case 3:\n error_1 = _a.sent();\n response = void 0;\n if (error_1.response) {\n response = new Response_1.Response(error_1.response.status, error_1.response.data);\n }\n else {\n response = new Response_1.Response(__1.ConnectionError.getTransportableHTTPError(), {\n message: error_1.message,\n });\n }\n throw response;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Abort current request\n * And regenerate the cancellation token\n *\n * @param url\n * @param urlIsFormatted\n */\n AxiosClient.prototype.abort = function (url, urlIsFormatted) {\n if (!urlIsFormatted) {\n url = url.replace(/^\\/*|\\/*$/g, \"\");\n url = \"/\" + (this.version + \"/\" + url).replace(/^\\/*|\\/*$/g, \"\");\n }\n if (typeof this.abortControllers[url] !== \"undefined\") {\n this.abortControllers[url].abort();\n }\n this.generateAbortController(url);\n };\n /**\n * Generate a new cancellation token for a query\n *\n * @param url\n */\n AxiosClient.prototype.generateAbortController = function (url) {\n this.abortControllers[url] = new AbortController();\n };\n /**\n * @param url\n * @param options\n * @param retries\n */\n AxiosClient.prototype.fetch = function (url, options, retries) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, axios_1[\"default\"]\n .request(options)\n .then(function (response) {\n return {\n data: response.data,\n status: response.status,\n };\n })[\"catch\"](function (error) {\n var response = error.response;\n if (error.code !== undefined &&\n error.code !== \"ECONNREFUSED\" &&\n error.code !== \"ECONNABORTED\" &&\n error.code !== \"ERR_BAD_REQUEST\" &&\n error.message !== \"Network Error\") {\n return {\n data: response.data,\n status: response.status,\n };\n }\n if (retries <= 0) {\n throw error;\n }\n retries = retries - 1;\n return _this.fetch(url, options, retries);\n })];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n return AxiosClient;\n}(Client_1.Client));\nexports.AxiosClient = AxiosClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.CacheClient = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ts_md5_1 = require(\"ts-md5\");\n/**\n * AxiosClient\n */\nvar CacheClient = /** @class */ (function () {\n function CacheClient(httpClient) {\n this.cache = {};\n this.hits = 0;\n this.httpClient = httpClient;\n }\n CacheClient.prototype.flushCache = function () {\n this.cache = {};\n };\n CacheClient.prototype.size = function () {\n return Object.keys(this.cache).length;\n };\n CacheClient.prototype.getNumberOfHits = function () {\n return this.hits;\n };\n /**\n * Get\n *\n * @param url\n * @param method\n * @param credentials\n * @param parameters\n * @param data\n *\n * @return {Promise}\n */\n CacheClient.prototype.get = function (url, method, credentials, parameters, data) {\n if (parameters === void 0) { parameters = {}; }\n if (data === void 0) { data = {}; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var cacheUID, _a, _b;\n return tslib_1.__generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (method !== 'get') {\n return [2 /*return*/, this.httpClient.get(url, method, credentials, parameters, data)];\n }\n cacheUID = ts_md5_1.Md5.hashStr(JSON.stringify({\n 'u': url,\n 'c': credentials,\n 'p': parameters,\n 'd': data,\n })).toString();\n if (!!this.cache[cacheUID]) return [3 /*break*/, 2];\n _a = this.cache;\n _b = cacheUID;\n return [4 /*yield*/, this.httpClient.get(url, method, credentials, parameters, data)];\n case 1:\n _a[_b] = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n this.httpClient.abort(url, false);\n this.hits++;\n _c.label = 3;\n case 3: return [2 /*return*/, this.cache[cacheUID]];\n }\n });\n });\n };\n /**\n * Abort current request\n * And regenerate the cancellation token\n *\n * @param url\n * @param urlIsFormatted\n */\n CacheClient.prototype.abort = function (url, urlIsFormatted) {\n };\n return CacheClient;\n}());\nexports.CacheClient = CacheClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.Client = void 0;\n/**\n * Client\n */\nvar Client = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param version\n */\n function Client(version) {\n this.version = version.replace(/^\\/*|\\/*$/g, \"\");\n }\n /**\n * Build an url parameters array by an object\n *\n * @param params\n *\n * @returns {string}\n */\n Client.objectToUrlParameters = function (params) {\n var builtParams = [];\n for (var i in params) {\n builtParams.push(i + \"=\" + params[i]);\n }\n return builtParams.join(\"&\");\n };\n return Client;\n}());\nexports.Client = Client;\n","\"use strict\";\nexports.__esModule = true;\nexports.HttpClient = void 0;\n/**\n * Http class\n */\nvar HttpClient = /** @class */ (function () {\n function HttpClient() {\n }\n return HttpClient;\n}());\nexports.HttpClient = HttpClient;\n","\"use strict\";\nexports.__esModule = true;\nexports.Response = void 0;\n/**\n * Response\n */\nvar Response = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param code\n * @param body\n */\n function Response(code, body) {\n this.code = code;\n this.body = body;\n }\n /**\n * Get code\n *\n * @return {number}\n */\n Response.prototype.getCode = function () {\n return this.code;\n };\n /**\n * Get body\n *\n * @return {any}\n */\n Response.prototype.getBody = function () {\n return this.body;\n };\n return Response;\n}());\nexports.Response = Response;\n","\"use strict\";\nexports.__esModule = true;\nexports.AppUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * AppUUID class\n */\nvar AppUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n */\n function AppUUID(id) {\n if (id.indexOf('_') >= 0) {\n throw InvalidFormatError_1.InvalidFormatError.appUUIDFormatNotValid();\n }\n this.id = id;\n }\n /**\n * Create by id\n *\n * @param id\n *\n * @returns {ItemUUID}\n */\n AppUUID.createById = function (id) {\n return new AppUUID(id);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n AppUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n AppUUID.prototype.toArray = function () {\n return {\n id: this.id,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n AppUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new AppUUID(array.id);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n AppUUID.prototype.composedUUID = function () {\n return this.id;\n };\n return AppUUID;\n}());\nexports.AppUUID = AppUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Changes = exports.TYPE_ARRAY = exports.TYPE_ARRAY_EXPECTS_ELEMENT = exports.TYPE_ARRAY_ELEMENT_DELETE = exports.TYPE_ARRAY_ELEMENT_ADD = exports.TYPE_ARRAY_ELEMENT_UPDATE = exports.TYPE_LITERAL = exports.TYPE_VALUE = void 0;\n/**\n * filter constants\n */\nexports.TYPE_VALUE = 1;\nexports.TYPE_LITERAL = 4;\nexports.TYPE_ARRAY_ELEMENT_UPDATE = 8;\nexports.TYPE_ARRAY_ELEMENT_ADD = 16;\nexports.TYPE_ARRAY_ELEMENT_DELETE = 32;\nexports.TYPE_ARRAY_EXPECTS_ELEMENT = 24;\nexports.TYPE_ARRAY = 56;\n/**\n * Changes Type cast\n * @param Changes\n */\nvar Changes = /** @class */ (function () {\n function Changes() {\n /**\n * Changes\n *\n * @type {Array}\n */\n this.changes = [];\n }\n /**\n * Add new change\n *\n * @param field\n * @param value\n * @param type\n */\n Changes.prototype.addChange = function (field, value, type) {\n if (type === void 0) { type = exports.TYPE_VALUE; }\n this.changes.push({\n field: field,\n type: type,\n value: value,\n });\n };\n /**\n * Update element from list\n *\n * @param field\n * @param condition\n * @param value\n * @param type\n */\n Changes.prototype.updateElementFromList = function (field, condition, value, type) {\n this.changes.push({\n field: field,\n type: type | exports.TYPE_ARRAY_ELEMENT_UPDATE,\n condition: condition,\n value: value,\n });\n };\n /**\n * Add element in list\n *\n * @param field\n * @param value\n * @param type\n */\n Changes.prototype.addElementInList = function (field, value, type) {\n this.changes.push({\n field: field,\n type: type | exports.TYPE_ARRAY_ELEMENT_ADD,\n value: value,\n });\n };\n /**\n * Delete element from list\n *\n * @param field\n * @param condition\n */\n Changes.prototype.deleteElementFromList = function (field, condition) {\n this.changes.push({\n field: field,\n type: exports.TYPE_ARRAY_ELEMENT_DELETE,\n condition: condition,\n });\n };\n /**\n * Get changes\n *\n * @returns {[]}\n */\n Changes.prototype.getChanges = function () {\n return this.changes;\n };\n /**\n * Create\n *\n * @returns {Changes}\n */\n Changes.create = function () {\n return new Changes();\n };\n /**\n * To array\n *\n * @returns {[]}\n */\n Changes.prototype.toArray = function () {\n return JSON.parse(JSON.stringify(this.changes));\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Changes}\n */\n Changes.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var changes = Changes.create();\n changes.changes = array;\n return changes;\n };\n return Changes;\n}());\nexports.Changes = Changes;\n","\"use strict\";\nexports.__esModule = true;\nexports.Coordinate = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * Coordinate Type cast\n * @param coordinate\n */\nvar Coordinate = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param {number} lat\n * @param {number} lon\n */\n function Coordinate(lat, lon) {\n this.lat = lat;\n this.lon = lon;\n }\n /**\n * Get latitude\n *\n * @return float\n */\n Coordinate.prototype.getLatitude = function () {\n return this.lat;\n };\n /**\n * Get longitude\n *\n * @return float\n */\n Coordinate.prototype.getLongitude = function () {\n return this.lon;\n };\n /**\n * To array\n *\n * @return {{lat: number, lon: number}}\n */\n Coordinate.prototype.toArray = function () {\n return {\n lat: this.lat,\n lon: this.lon,\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return Coordinate\n *\n * @throws InvalidFormatError\n */\n Coordinate.createFromArray = function (array) {\n if (typeof array.lat == \"undefined\" ||\n typeof array.lon == \"undefined\") {\n throw InvalidFormatError_1.InvalidFormatError.coordinateFormatNotValid();\n }\n return new Coordinate(array.lat, array.lon);\n };\n return Coordinate;\n}());\nexports.Coordinate = Coordinate;\n","\"use strict\";\nexports.__esModule = true;\nexports.Index = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar IndexUUID_1 = require(\"./IndexUUID\");\nvar AppUUID_1 = require(\"./AppUUID\");\n/**\n * Index class\n */\nvar Index = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param uuid\n * @param appUUID\n * @param isOK\n * @param docCount\n * @param size\n */\n function Index(uuid, appUUID, isOK, docCount, size) {\n if (isOK === void 0) { isOK = false; }\n if (docCount === void 0) { docCount = 0; }\n if (size === void 0) { size = '0kb'; }\n this.uuid = uuid;\n this.appUUID = appUUID;\n this.isOK = isOK;\n this.docCount = docCount;\n this.size = size;\n }\n /**\n * Get uuid\n *\n * @return {IndexUUID}\n */\n Index.prototype.getUUID = function () {\n return this.uuid;\n };\n /**\n * Get app id\n *\n * @return {AppUUID}\n */\n Index.prototype.getAppUUID = function () {\n return this.appUUID;\n };\n /**\n * Index is OK\n *\n * @return {boolean}\n */\n Index.prototype.isOk = function () {\n return this.isOK;\n };\n /**\n * Get doc count\n *\n * @return {number}\n */\n Index.prototype.getDocCount = function () {\n return this.docCount;\n };\n /**\n * get size\n *\n * @return {string}\n */\n Index.prototype.getSize = function () {\n return this.size;\n };\n /**\n * To array\n *\n * @returns {{id: string, attributes: {}}}\n */\n Index.prototype.toArray = function () {\n return {\n uuid: this.uuid.toArray(),\n app_id: this.appUUID.toArray(),\n is_ok: this.isOK,\n doc_count: this.docCount,\n size: this.size\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return User\n */\n Index.createFromArray = function (array) {\n if (typeof array.uuid == \"undefined\" ||\n typeof array.app_id == \"undefined\") {\n throw InvalidFormatError_1.InvalidFormatError.indexFormatNotValid();\n }\n return new Index(IndexUUID_1.IndexUUID.createFromArray(array.uuid), AppUUID_1.AppUUID.createFromArray(array.app_id), (typeof array.is_ok == \"undefined\" ? false : array.is_ok), (typeof array.doc_count == \"undefined\" ? 0 : array.doc_count), (typeof array.size == \"undefined\" ? '0kb' : array.size));\n };\n return Index;\n}());\nexports.Index = Index;\n","\"use strict\";\nexports.__esModule = true;\nexports.IndexUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * IndexUUID class\n */\nvar IndexUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n */\n function IndexUUID(id) {\n if (id.indexOf('_') >= 0) {\n throw InvalidFormatError_1.InvalidFormatError.indexUUIDFormatNotValid();\n }\n this.id = id;\n }\n /**\n * Create by id\n *\n * @param id\n *\n * @returns {ItemUUID}\n */\n IndexUUID.createById = function (id) {\n return new IndexUUID(id);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n IndexUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n IndexUUID.prototype.toArray = function () {\n return {\n id: this.id,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n IndexUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new IndexUUID(array.id);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n IndexUUID.prototype.composedUUID = function () {\n return this.id;\n };\n return IndexUUID;\n}());\nexports.IndexUUID = IndexUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Item = void 0;\nvar tslib_1 = require(\"tslib\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar Coordinate_1 = require(\"./Coordinate\");\nvar ItemUUID_1 = require(\"./ItemUUID\");\nvar AppUUID_1 = require(\"./AppUUID\");\nvar IndexUUID_1 = require(\"./IndexUUID\");\n/**\n * Item class\n */\nvar Item = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param uuid\n * @param coordinate\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n */\n function Item(uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n this.metadata = {};\n this.indexedMetadata = {};\n this.searchableMetadata = {};\n this.exactMatchingMetadata = [];\n this.suggest = [];\n this.highlights = {};\n this.promoted = false;\n this.uuid = uuid;\n this.coordinate = coordinate;\n this.metadata = metadata;\n this.indexedMetadata = indexedMetadata;\n this.searchableMetadata = searchableMetadata;\n this.exactMatchingMetadata = exactMatchingMetadata;\n this.suggest = suggest;\n }\n /**\n * Create new Item\n *\n * @param uuid\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n * @returns {Item}\n */\n Item.create = function (uuid, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n if (metadata === void 0) { metadata = {}; }\n if (indexedMetadata === void 0) { indexedMetadata = {}; }\n if (searchableMetadata === void 0) { searchableMetadata = {}; }\n if (exactMatchingMetadata === void 0) { exactMatchingMetadata = []; }\n if (suggest === void 0) { suggest = []; }\n return new Item(uuid, null, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest);\n };\n /**\n * Create new located Item\n *\n * @param uuid\n * @param coordinate\n * @param metadata\n * @param indexedMetadata\n * @param searchableMetadata\n * @param exactMatchingMetadata\n * @param suggest\n * @returns {Item}\n */\n Item.createLocated = function (uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest) {\n if (metadata === void 0) { metadata = {}; }\n if (indexedMetadata === void 0) { indexedMetadata = {}; }\n if (searchableMetadata === void 0) { searchableMetadata = {}; }\n if (exactMatchingMetadata === void 0) { exactMatchingMetadata = []; }\n if (suggest === void 0) { suggest = []; }\n return new Item(uuid, coordinate, metadata, indexedMetadata, searchableMetadata, exactMatchingMetadata, suggest);\n };\n /**\n * Get uuid\n *\n * @returns ItemUUID\n */\n Item.prototype.getUUID = function () {\n return this.uuid;\n };\n /**\n * Get id\n *\n * @returns string\n */\n Item.prototype.getId = function () {\n return this.uuid.getId();\n };\n /**\n * Get type\n *\n * @returns string\n */\n Item.prototype.getType = function () {\n return this.uuid.getType();\n };\n /**\n * Get coordinate\n *\n * @returns Coordinate|null\n */\n Item.prototype.getCoordinate = function () {\n return this.coordinate;\n };\n /**\n * Get distance\n *\n * @returns int\n */\n Item.prototype.getDistance = function () {\n return this.distance;\n };\n /**\n * Get metadata\n *\n * @returns Array\n */\n Item.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Set metadata\n *\n * @param metadata\n */\n Item.prototype.setMetadata = function (metadata) {\n this.metadata = metadata;\n };\n /**\n * Add metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addMetadata = function (key, value) {\n this.metadata[key] = value;\n };\n /**\n * Get indexed metadata\n *\n * @returns Array\n */\n Item.prototype.getIndexedMetadata = function () {\n return this.indexedMetadata;\n };\n /**\n * Set indexed metadata\n *\n * @param indexedMetadata\n */\n Item.prototype.setIndexedMetadata = function (indexedMetadata) {\n this.indexedMetadata = indexedMetadata;\n };\n /**\n * Add indexed metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addIndexedMetadata = function (key, value) {\n this.indexedMetadata[key] = value;\n };\n /**\n * Get searchable metadata\n *\n * @returns Array\n */\n Item.prototype.getSearchableMetadata = function () {\n return this.searchableMetadata;\n };\n /**\n * Set searchable metadata\n *\n * @param searchableMetadata\n */\n Item.prototype.setSearchableMetadata = function (searchableMetadata) {\n this.searchableMetadata = searchableMetadata;\n };\n /**\n * Add searchable metadata\n *\n * @param key\n * @param value\n */\n Item.prototype.addSearchableMetadata = function (key, value) {\n this.searchableMetadata[key] = value;\n };\n /**\n * Get exactMatching metadata\n *\n * @returns Array\n */\n Item.prototype.getExactMatchingMetadata = function () {\n return this.exactMatchingMetadata;\n };\n /**\n * Set exactMatching metadata\n *\n * @param exactMatchingMetadata\n */\n Item.prototype.setExactMatchingMetadata = function (exactMatchingMetadata) {\n this.exactMatchingMetadata = exactMatchingMetadata;\n };\n /**\n * Add exactMatching metadata\n *\n * @param value\n */\n Item.prototype.addExactMatchingMetadata = function (value) {\n this.exactMatchingMetadata.push(value);\n };\n /**\n * Get all metadata\n *\n * @returns {{}}\n */\n Item.prototype.getAllMetadata = function () {\n return tslib_1.__assign(tslib_1.__assign({}, this.metadata), this.indexedMetadata);\n };\n /**\n * Get\n *\n * @param key\n *\n * @returns mixed|null\n */\n Item.prototype.get = function (key) {\n var allMetadata = this.getAllMetadata();\n return (typeof allMetadata[key] != \"undefined\")\n ? allMetadata[key]\n : null;\n };\n /**\n * Get suggest\n *\n * @returns Array\n */\n Item.prototype.getSuggest = function () {\n return this.suggest;\n };\n /**\n * Get highlights\n *\n * @returns Array\n */\n Item.prototype.getHighlights = function () {\n return this.highlights;\n };\n /**\n * Get highlight\n *\n * @param key\n *\n * @return string|null\n */\n Item.prototype.getHighlight = function (key) {\n return (typeof this.highlights[key] != \"undefined\")\n ? this.highlights[key]\n : null;\n };\n /**\n * Is promoted\n *\n * @returns boolean\n */\n Item.prototype.isPromoted = function () {\n return this.promoted;\n };\n /**\n * Set score\n *\n * @param score\n *\n * @return {Item}\n */\n Item.prototype.setScore = function (score) {\n this.score = score;\n return this;\n };\n /**\n * Get score\n *\n * @return {number}\n */\n Item.prototype.getScore = function () {\n return this.score;\n };\n /**\n * Set appUUID\n *\n * @return {AppUUID}\n */\n Item.prototype.getAppUUID = function () {\n return this.appUUID;\n };\n /**\n * Set indexUUID\n *\n * @return {IndexUUID}\n */\n Item.prototype.getIndexUUID = function () {\n return this.indexUUID;\n };\n /**\n * To array\n */\n Item.prototype.toArray = function () {\n var itemAsArray = {\n uuid: this.uuid.toArray(),\n };\n if (this.coordinate instanceof Coordinate_1.Coordinate) {\n itemAsArray.coordinate = this.coordinate.toArray();\n }\n if (Object.keys(this.metadata).length > 0) {\n itemAsArray.metadata = this.metadata;\n }\n if (Object.keys(this.indexedMetadata).length > 0) {\n itemAsArray.indexed_metadata = this.indexedMetadata;\n }\n if (Object.keys(this.searchableMetadata).length > 0) {\n itemAsArray.searchable_metadata = this.searchableMetadata;\n }\n if (this.exactMatchingMetadata.length > 0) {\n itemAsArray.exact_matching_metadata = this.exactMatchingMetadata;\n }\n if (this.suggest.length > 0) {\n itemAsArray.suggest = this.suggest;\n }\n if (Object.keys(this.highlights).length > 0) {\n itemAsArray.highlights = this.highlights;\n }\n if (this.isPromoted()) {\n itemAsArray.is_promoted = true;\n }\n if (typeof this.distance != \"undefined\") {\n itemAsArray.distance = this.distance;\n }\n if (typeof this.score != \"undefined\") {\n itemAsArray.score = this.score;\n }\n if (typeof this.appUUID != \"undefined\") {\n itemAsArray.app_uuid = this.appUUID.toArray();\n }\n if (typeof this.indexUUID != \"undefined\") {\n itemAsArray.index_uuid = this.indexUUID.toArray();\n }\n return itemAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n */\n Item.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.uuid != \"object\") {\n throw InvalidFormatError_1.InvalidFormatError.itemUUIDRepresentationNotValid();\n }\n if (typeof array.coordinate != \"undefined\" &&\n typeof array.coordinate != \"object\") {\n throw InvalidFormatError_1.InvalidFormatError.coordinateFormatNotValid();\n }\n var item = (typeof array.coordinate == \"object\" &&\n array.coordinate != null)\n ? Item.createLocated(ItemUUID_1.ItemUUID.createFromArray(array.uuid), Coordinate_1.Coordinate.createFromArray(array.coordinate), ((typeof array.metadata == \"undefined\") ? {} : array.metadata), ((typeof array.indexed_metadata == \"undefined\") ? {} : array.indexed_metadata), ((typeof array.searchable_metadata == \"undefined\") ? {} : array.searchable_metadata), ((typeof array.exact_matching_metadata == \"undefined\") ? [] : array.exact_matching_metadata), ((typeof array.suggest == \"undefined\") ? [] : array.suggest))\n : Item.create(ItemUUID_1.ItemUUID.createFromArray(array.uuid), ((typeof array.metadata == \"undefined\") ? {} : array.metadata), ((typeof array.indexed_metadata == \"undefined\") ? {} : array.indexed_metadata), ((typeof array.searchable_metadata == \"undefined\") ? {} : array.searchable_metadata), ((typeof array.exact_matching_metadata == \"undefined\") ? [] : array.exact_matching_metadata), ((typeof array.suggest == \"undefined\") ? [] : array.suggest));\n if (typeof array.distance != \"undefined\" &&\n array.distance != null) {\n item.distance = array.distance;\n }\n if (typeof array.highlights == \"object\" &&\n array.highlights != null) {\n item.highlights = array.highlights;\n }\n if (typeof array.is_promoted != \"undefined\" &&\n array.is_promoted != null) {\n item.promoted = array.is_promoted;\n }\n if (typeof array.score != \"undefined\" &&\n array.score != null) {\n item.score = array.score;\n }\n if (typeof array.app_uuid != \"undefined\" &&\n array.app_uuid != null) {\n item.appUUID = AppUUID_1.AppUUID.createFromArray(array.app_uuid);\n }\n if (typeof array.index_uuid != \"undefined\" &&\n array.index_uuid != null) {\n item.indexUUID = IndexUUID_1.IndexUUID.createFromArray(array.index_uuid);\n }\n return item;\n };\n /**\n * Compose uuid\n *\n * @returns string\n */\n Item.prototype.composeUUID = function () {\n return this.uuid.composedUUID();\n };\n /**\n * Get path by field.\n *\n * @param field\n *\n * @returns {string}\n */\n Item.getPathByField = function (field) {\n return ([\"id\", \"type\"].indexOf(field) > -1)\n ? \"uuid.\" + field\n : \"indexed_metadata.\" + field;\n };\n return Item;\n}());\nexports.Item = Item;\n","\"use strict\";\nexports.__esModule = true;\nexports.ItemUUID = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * ItemUUID class\n */\nvar ItemUUID = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param id\n * @param type\n */\n function ItemUUID(id, type) {\n this.id = id;\n this.type = type;\n }\n /**\n * Create composed UUID\n *\n * @param composedUUID\n *\n * @returns {ItemUUID}\n */\n ItemUUID.createByComposedUUID = function (composedUUID) {\n var parts = composedUUID.split(\"~\");\n if (2 != parts.length) {\n throw InvalidFormatError_1.InvalidFormatError.composedItemUUIDNotValid();\n }\n return new ItemUUID(parts[0], parts[1]);\n };\n /**\n * Return id\n *\n * @returns {string}\n */\n ItemUUID.prototype.getId = function () {\n return this.id;\n };\n /**\n * Get type\n *\n * @returns {string}\n */\n ItemUUID.prototype.getType = function () {\n return this.type;\n };\n /**\n * To array\n *\n * @returns {{id: *, type: *}}\n */\n ItemUUID.prototype.toArray = function () {\n return {\n id: this.id,\n type: this.type,\n };\n };\n /**\n * Create from array\n *\n * @param array {{id:string, type:string}}\n *\n * @return {ItemUUID}\n */\n ItemUUID.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new ItemUUID(array.id, array.type);\n };\n /**\n * Compose unique id\n *\n * @returns {string}\n */\n ItemUUID.prototype.composedUUID = function () {\n return this.id + \"~\" + this.type;\n };\n return ItemUUID;\n}());\nexports.ItemUUID = ItemUUID;\n","\"use strict\";\nexports.__esModule = true;\nexports.Metadata = void 0;\n/**\n * User class\n */\nvar Metadata = /** @class */ (function () {\n function Metadata() {\n }\n /**\n * To metadata\n *\n * @param array:{}\n *\n * @returns {string}\n */\n Metadata.toMetadata = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var parts = [];\n for (var key in array) {\n parts.push(key + \"##\" + array[key]);\n }\n return parts.join(\"~~\");\n };\n /**\n * From metadata\n *\n * @param metadata\n *\n * @return {{}}\n */\n Metadata.fromMetadata = function (metadata) {\n var values = {};\n var splittedParts = metadata.split(\"~~\");\n var iterator = 0;\n var size = 0;\n var lastElement = null;\n for (var key in splittedParts) {\n var part = splittedParts[key];\n var parts = part.split(\"##\");\n if (parts.length > 1) {\n lastElement = parts[1];\n values[parts[0]] = lastElement;\n }\n else {\n lastElement = part;\n values[iterator++] = lastElement;\n }\n size++;\n }\n if (size == 1) {\n values = {\n id: lastElement,\n name: lastElement,\n };\n }\n if (typeof values.id == \"undefined\") {\n return null;\n }\n return values;\n };\n return Metadata;\n}());\nexports.Metadata = Metadata;\n","\"use strict\";\nexports.__esModule = true;\nexports.User = void 0;\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\n/**\n * User class\n */\nvar User = /** @class */ (function () {\n /**\n * Construct\n *\n * @param id string\n * @param attributes Array\n */\n function User(id, attributes) {\n if (attributes === void 0) { attributes = {}; }\n this.id = id;\n this.attributes = attributes;\n }\n /**\n * Return the user id\n *\n * @return {string}\n */\n User.prototype.getId = function () {\n return this.id;\n };\n /**\n * Return array\n *\n * @returns {{}}\n */\n User.prototype.getAttributes = function () {\n return this.attributes;\n };\n /**\n * To array\n *\n * @returns {{id: string, attributes: {}}}\n */\n User.prototype.toArray = function () {\n var array = {\n id: this.id,\n };\n if (Object.keys(this.attributes).length > 0) {\n array.attributes = this.attributes;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return User\n */\n User.createFromArray = function (array) {\n if (array == null ||\n typeof array.id == \"undefined\" ||\n array.id == null) {\n throw InvalidFormatError_1.InvalidFormatError.userFormatNotValid();\n }\n var attributes = typeof array.attributes === typeof {}\n ? array.attributes\n : {};\n return new User(array.id, attributes);\n };\n return User;\n}());\nexports.User = User;\n","\"use strict\";\nexports.__esModule = true;\nexports.Aggregation = exports.AGGREGATION_NO_LIMIT = exports.AGGREGATION_SORT_BY_NAME_DESC = exports.AGGREGATION_SORT_BY_NAME_ASC = exports.AGGREGATION_SORT_BY_COUNT_DESC = exports.AGGREGATION_SORT_BY_COUNT_ASC = void 0;\nvar Filter_1 = require(\"./Filter\");\n/**\n * Aggregation constants\n */\nexports.AGGREGATION_SORT_BY_COUNT_ASC = [\"_count\", \"asc\"];\nexports.AGGREGATION_SORT_BY_COUNT_DESC = [\"_count\", \"desc\"];\nexports.AGGREGATION_SORT_BY_NAME_ASC = [\"_term\", \"asc\"];\nexports.AGGREGATION_SORT_BY_NAME_DESC = [\"_term\", \"desc\"];\nexports.AGGREGATION_NO_LIMIT = 0;\n/**\n * Aggregation class\n */\nvar Aggregation = /** @class */ (function () {\n /**\n * Construct\n *\n * @param name\n * @param field\n * @param applicationType\n * @param filterType\n * @param subgroup\n * @param sort\n * @param limit\n * @param promoted\n */\n function Aggregation(name, field, applicationType, filterType, subgroup, sort, limit, promoted) {\n this.subgroup = [];\n this.name = name;\n this.field = field;\n this.applicationType = applicationType;\n this.filterType = filterType;\n this.subgroup = subgroup;\n this.sort = sort;\n this.limit = limit;\n this.promoted = promoted;\n }\n /**\n * Get name\n *\n * @returns {string}\n */\n Aggregation.prototype.getName = function () {\n return this.name;\n };\n /**\n * Get field\n *\n * @returns {string}\n */\n Aggregation.prototype.getField = function () {\n return this.field;\n };\n /**\n * getApplicationType\n *\n * @returns {number}\n */\n Aggregation.prototype.getApplicationType = function () {\n return this.applicationType;\n };\n /**\n * Get filter type\n *\n * @return {string}\n */\n Aggregation.prototype.getFilterType = function () {\n return this.filterType;\n };\n /**\n * Get subgroup\n *\n * @return {[]}\n */\n Aggregation.prototype.getSubgroup = function () {\n return this.subgroup;\n };\n /**\n * Get sort\n *\n * @return {[]}\n */\n Aggregation.prototype.getSort = function () {\n return this.sort;\n };\n /**\n * Get limit\n *\n * @return {number}\n */\n Aggregation.prototype.getLimit = function () {\n return this.limit;\n };\n /**\n * Get promoted\n *\n * @return {[]}\n */\n Aggregation.prototype.getPromoted = function () {\n return this.promoted;\n };\n /**\n * Create\n *\n * @param name\n * @param field\n * @param applicationType\n * @param filterType\n * @param subgroup\n * @param sort\n * @param limit\n * @param promoted\n *\n * @returns {Aggregation}\n */\n Aggregation.create = function (name, field, applicationType, filterType, subgroup, sort, limit, promoted) {\n if (subgroup === void 0) { subgroup = []; }\n if (sort === void 0) { sort = exports.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = exports.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n return new Aggregation(name, field, applicationType, filterType, subgroup, sort, limit, promoted);\n };\n /**\n * To array\n *\n * @returns {Array}\n */\n Aggregation.prototype.toArray = function () {\n var aggregationAsArray = {\n name: this.name,\n };\n if (this.field !== \"uuid.type\") {\n aggregationAsArray.field = this.field;\n }\n if (this.applicationType !== Filter_1.FILTER_AT_LEAST_ONE) {\n aggregationAsArray.application_type = this.applicationType;\n }\n if (this.filterType !== Filter_1.FILTER_TYPE_FIELD) {\n aggregationAsArray.filter_type = this.filterType;\n }\n if (this.subgroup.length > 0) {\n aggregationAsArray.subgroup = this.subgroup;\n }\n if (JSON.stringify(this.sort) !== JSON.stringify(exports.AGGREGATION_SORT_BY_COUNT_DESC)) {\n aggregationAsArray.sort = this.sort;\n }\n if (this.limit !== exports.AGGREGATION_NO_LIMIT) {\n aggregationAsArray.limit = this.limit;\n }\n if (this.promoted.length > 0) {\n aggregationAsArray.promoted = this.promoted;\n }\n return aggregationAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Aggregation}\n */\n Aggregation.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.field === \"undefined\") {\n array.field = \"uuid.type\";\n }\n if (typeof array.application_type === \"undefined\") {\n array.application_type = Filter_1.FILTER_AT_LEAST_ONE;\n }\n if (typeof array.filter_type === \"undefined\") {\n array.filter_type = Filter_1.FILTER_TYPE_FIELD;\n }\n if (typeof array.subgroup === \"undefined\") {\n array.subgroup = [];\n }\n if (typeof array.sort === \"undefined\") {\n array.sort = exports.AGGREGATION_SORT_BY_COUNT_DESC;\n }\n if (typeof array.limit === \"undefined\") {\n array.limit = exports.AGGREGATION_NO_LIMIT;\n }\n if (typeof array.promoted === \"undefined\") {\n array.promoted = [];\n }\n return Aggregation.create(array.name, array.field, array.application_type, array.filter_type, array.subgroup, array.sort, array.limit, array.promoted);\n };\n return Aggregation;\n}());\nexports.Aggregation = Aggregation;\n","\"use strict\";\nexports.__esModule = true;\nexports.Filter = exports.FILTER_TYPE_QUERY = exports.FILTER_TYPE_GEO = exports.FILTER_TYPE_DATE_RANGE = exports.FILTER_TYPE_RANGE = exports.FILTER_TYPE_FIELD = exports.FILTER_PROMOTE = exports.FILTER_EXCLUDE = exports.FILTER_AT_LEAST_ONE = exports.FILTER_MUST_ALL_WITH_LEVELS = exports.FILTER_MUST_ALL = void 0;\n/**\n * filter constants\n */\nexports.FILTER_MUST_ALL = 4;\nexports.FILTER_MUST_ALL_WITH_LEVELS = 5;\nexports.FILTER_AT_LEAST_ONE = 8;\nexports.FILTER_EXCLUDE = 16;\nexports.FILTER_PROMOTE = 32;\nexports.FILTER_TYPE_FIELD = \"field\";\nexports.FILTER_TYPE_RANGE = \"range\";\nexports.FILTER_TYPE_DATE_RANGE = \"date_range\";\nexports.FILTER_TYPE_GEO = \"geo\";\nexports.FILTER_TYPE_QUERY = \"query\";\n/**\n * Filter class\n */\nvar Filter = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param field\n * @param values\n * @param applicationType\n * @param filterType\n * @param filterTerms\n */\n function Filter(field, values, applicationType, filterType, filterTerms) {\n this.field = field;\n this.values = values;\n this.applicationType = applicationType;\n this.filterType = filterType;\n this.filterTerms = filterTerms;\n }\n /**\n * Get field\n *\n * @returns {string}\n */\n Filter.prototype.getField = function () {\n return this.field;\n };\n /**\n * Get values\n *\n * @returns {any}\n */\n Filter.prototype.getValues = function () {\n return this.values;\n };\n /**\n * Has value\n *\n * @param value\n *\n * @returns {boolean}\n */\n Filter.prototype.hasValue = function (value) {\n return typeof this.values[value] == \"undefined\";\n };\n /**\n * getApplicationType\n *\n * @returns {number}\n */\n Filter.prototype.getApplicationType = function () {\n return this.applicationType;\n };\n /**\n * Get filter type\n *\n * @return {string}\n */\n Filter.prototype.getFilterType = function () {\n return this.filterType;\n };\n /**\n * Get filter type\n *\n * @return {{}}\n */\n Filter.prototype.getFilterTerms = function () {\n return this.filterTerms;\n };\n /**\n * Create\n *\n * @param field\n * @param values\n * @param applicationType\n * @param filterType\n * @param filterTerms\n *\n * @return {Filter}\n */\n Filter.create = function (field, values, applicationType, filterType, filterTerms) {\n if (filterTerms === void 0) { filterTerms = []; }\n return new Filter(field, values, applicationType, filterType, filterTerms);\n };\n /**\n * To array\n *\n * @returns {Array}\n */\n Filter.prototype.toArray = function () {\n var filterAsArray = {};\n if (this.field != \"uuid.type\") {\n filterAsArray.field = this.field;\n }\n if (this.values.length > 0 ||\n Object.keys(this.values).length > 0) {\n filterAsArray.values = this.values;\n }\n if (this.applicationType != exports.FILTER_AT_LEAST_ONE) {\n filterAsArray.application_type = this.applicationType;\n }\n if (this.filterType != exports.FILTER_TYPE_FIELD) {\n filterAsArray.filter_type = this.filterType;\n }\n if (this.filterTerms.length > 0) {\n filterAsArray.filter_terms = this.filterTerms;\n }\n return filterAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Filter}\n */\n Filter.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n if (typeof array.field == \"undefined\") {\n array.field = \"uuid.type\";\n }\n if (typeof array.values == \"undefined\") {\n array.values = [];\n }\n if (typeof array.application_type == \"undefined\") {\n array.application_type = exports.FILTER_AT_LEAST_ONE;\n }\n if (typeof array.filter_type == \"undefined\") {\n array.filter_type = exports.FILTER_TYPE_FIELD;\n }\n if (typeof array.filter_terms == \"undefined\") {\n array.filter_terms = [];\n }\n return Filter.create(array.field, array.values, array.application_type, array.filter_type, array.filter_terms);\n };\n return Filter;\n}());\nexports.Filter = Filter;\n","\"use strict\";\nexports.__esModule = true;\nexports.Query = exports.NO_MIN_SCORE = exports.QUERY_DEFAULT_SIZE = exports.QUERY_DEFAULT_PAGE = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Coordinate_1 = require(\"../Model/Coordinate\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\nvar Item_1 = require(\"../Model/Item\");\nvar User_1 = require(\"../Model/User\");\nvar Aggregation_1 = require(\"./Aggregation\");\nvar Filter_1 = require(\"./Filter\");\nvar Filter_2 = require(\"./Filter\");\nvar Aggregation_2 = require(\"./Aggregation\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar Filter_3 = require(\"./Filter\");\nvar ScoreStrategies_1 = require(\"./ScoreStrategies\");\nvar SortBy_1 = require(\"./SortBy\");\nvar IndexUUID_1 = require(\"../Model/IndexUUID\");\n/**\n * Query constants\n */\nexports.QUERY_DEFAULT_PAGE = 1;\nexports.QUERY_DEFAULT_SIZE = 10;\nexports.NO_MIN_SCORE = 0.0;\n/**\n * Query class\n */\nvar Query = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param queryText\n */\n function Query(queryText) {\n this.UUID = null;\n this.fields = [];\n this.universeFilters = {};\n this.filters = {};\n this.itemsPromoted = [];\n this.aggregations = {};\n this.resultsEnabled = true;\n this.aggregationsEnabled = true;\n this.numberOfSuggestions = 0;\n this.highlightsEnabled = false;\n this.autocompleteEnabled = false;\n this.searchableFields = [];\n this.fuzziness = null;\n this.minScore = exports.NO_MIN_SCORE;\n this.metadata = {};\n this.subqueries = {};\n this.queryOperator = null;\n this.sortByInstance = SortBy_1.SortBy.create();\n this.filters._query = Filter_1.Filter.create(\"\", [queryText], 0, Filter_3.FILTER_TYPE_QUERY);\n }\n /**\n * Created located\n *\n * @param coordinate\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Query.createLocated = function (coordinate, queryText, page, size) {\n if (page === void 0) { page = exports.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = exports.QUERY_DEFAULT_SIZE; }\n var query = Query.create(queryText, page, size);\n query.coordinate = coordinate;\n return query;\n };\n /**\n * Create\n *\n * @param queryText\n * @param page\n * @param size\n *\n * @returns {Query}\n */\n Query.create = function (queryText, page, size) {\n if (page === void 0) { page = exports.QUERY_DEFAULT_PAGE; }\n if (size === void 0) { size = exports.QUERY_DEFAULT_SIZE; }\n page = Math.max(1, page);\n var query = new Query(queryText);\n query.from = (page - 1) * size;\n query.size = size;\n query.page = page;\n return query;\n };\n /**\n * Create match all\n *\n * @return {Query}\n */\n Query.createMatchAll = function () {\n return Query.create(\"\", exports.QUERY_DEFAULT_PAGE, exports.QUERY_DEFAULT_SIZE);\n };\n /**\n * Create by UUID\n *\n * @param uuid\n *\n * @return {Query}\n */\n Query.createByUUID = function (uuid) {\n return Query.createByUUIDs(uuid);\n };\n /**\n * Create by UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.createByUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n var ids = [];\n for (var i in uuids) {\n ids.push(uuids[i].composedUUID());\n }\n var query = Query.create(\"\", exports.QUERY_DEFAULT_PAGE, ids.length)\n .disableAggregations()\n .disableSuggestions();\n query.filters._id = Filter_1.Filter.create(\"_id\", ids, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD);\n return query;\n };\n /**\n * Create by UUIDs\n *\n * @param queries\n *\n * @return {Query}\n */\n Query.createMultiquery = function (queries) {\n var query = Query.createMatchAll();\n query.subqueries = queries;\n return query;\n };\n /**\n * set fields\n *\n * @param fields\n *\n * @return {Query}\n */\n Query.prototype.setFields = function (fields) {\n this.fields = fields;\n return this;\n };\n /**\n * get fields\n *\n * @return {string[]}\n */\n Query.prototype.getFields = function () {\n return this.fields;\n };\n /**\n * Filter universe by types\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByTypes = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"type\");\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"type\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters.type;\n }\n return this;\n };\n /**\n * Filter by types\n *\n * @param values\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByTypes = function (values, aggregate, aggregationSort) {\n var _a, _b;\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(\"type\");\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"type\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters.type;\n }\n if (aggregate) {\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_b = {}, _b[\"type\"] = Aggregation_1.Aggregation.create(\"type\", fieldPath, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD, [], aggregationSort), _b));\n }\n return this;\n };\n /**\n * Filter universe by ids\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByIds = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"id\");\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"id\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters.id;\n }\n return this;\n };\n /**\n * Filter by ids\n *\n * @param values\n *\n * @return {Query}\n */\n Query.prototype.filterByIds = function (values) {\n var _a;\n var fieldPath = Item_1.Item.getPathByField(\"id\");\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"id\"] = Filter_1.Filter.create(fieldPath, values, Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters.id;\n }\n return this;\n };\n /**\n * Filter universe by\n *\n * @param field\n * @param values\n * @param applicationType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseBy = function (field, values, applicationType) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[field] = Filter_1.Filter.create(fieldPath, values, applicationType, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.universeFilters[field];\n }\n return this;\n };\n /**\n * Filter by\n *\n * @param filterName\n * @param field\n * @param values\n * @param applicationType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterBy = function (filterName, field, values, applicationType, aggregate, aggregationSort) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[filterName] = Filter_1.Filter.create(fieldPath, values, applicationType, Filter_2.FILTER_TYPE_FIELD), _a));\n }\n else {\n delete this.filters[filterName];\n }\n if (aggregate) {\n this.aggregateBy(filterName, field, applicationType, aggregationSort);\n }\n return this;\n };\n /**\n * Filter universe by range\n *\n * @param field\n * @param values\n * @param applicationType\n * @param rangeType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByRange = function (field, values, applicationType, rangeType) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length > 0) {\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[field] = Filter_1.Filter.create(fieldPath, values, applicationType, rangeType), _a));\n }\n else {\n delete this.universeFilters[field];\n }\n return this;\n };\n /**\n * Filter universe by date range\n *\n * @param field\n * @param values\n * @param applicationType\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByDateRange = function (field, values, applicationType) {\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n return this.filterUniverseByRange(field, values, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE);\n };\n /**\n * Filter by range\n *\n * @param filterName\n * @param field\n * @param ranges\n * @param values\n * @param applicationType\n * @param rangeType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByRange = function (filterName, field, ranges, values, applicationType, rangeType, aggregate, aggregationSort) {\n var _a;\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n var fieldPath = Item_1.Item.getPathByField(field);\n if (values.length !== 0) {\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[filterName] = Filter_1.Filter.create(fieldPath, values, applicationType, rangeType), _a));\n }\n else {\n delete this.filters[filterName];\n }\n if (aggregate) {\n this.aggregateByRange(filterName, fieldPath, ranges, applicationType, rangeType, aggregationSort);\n }\n return this;\n };\n /**\n * Filter by date range\n *\n * @param filterName\n * @param field\n * @param options\n * @param values\n * @param applicationType\n * @param aggregate\n * @param aggregationSort\n *\n * @return {Query}\n */\n Query.prototype.filterByDateRange = function (filterName, field, options, values, applicationType, aggregate, aggregationSort) {\n if (applicationType === void 0) { applicationType = Filter_2.FILTER_AT_LEAST_ONE; }\n if (aggregate === void 0) { aggregate = true; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n return this.filterByRange(filterName, field, options, values, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE, aggregate, aggregationSort);\n };\n /**\n * Filter universe by location\n *\n * @param locationRange\n *\n * @return {Query}\n */\n Query.prototype.filterUniverseByLocation = function (locationRange) {\n var _a;\n this.universeFilters = tslib_1.__assign(tslib_1.__assign({}, this.universeFilters), (_a = {}, _a[\"coordinate\"] = Filter_1.Filter.create(\"coordinate\", locationRange.toArray(), Filter_2.FILTER_AT_LEAST_ONE, Filter_2.FILTER_TYPE_GEO), _a));\n return this;\n };\n /**\n * Set filter fields\n *\n * @param searchableFields\n *\n * @return {Query}\n */\n Query.prototype.setSearchableFields = function (searchableFields) {\n this.searchableFields = searchableFields;\n return this;\n };\n /**\n * Get filter fields\n *\n * @return {string[]}\n */\n Query.prototype.getSearchableFields = function () {\n return this.searchableFields;\n };\n /**\n * Sort by\n *\n * @param sortBy\n *\n * @return {Query}\n */\n Query.prototype.sortBy = function (sortBy) {\n if (sortBy.isSortedByGeoDistance()) {\n if (!(this.coordinate instanceof Coordinate_1.Coordinate)) {\n throw InvalidFormatError_1.InvalidFormatError.querySortedByDistanceWithoutCoordinate();\n }\n sortBy.setCoordinate(this.coordinate);\n }\n this.sortByInstance = sortBy;\n return this;\n };\n /**\n * Aggregate by\n *\n * @param filterName\n * @param field\n * @param applicationType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateBy = function (filterName, field, applicationType, aggregationSort, limit, promoted) {\n var _a;\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_a = {}, _a[filterName] = Aggregation_1.Aggregation.create(filterName, Item_1.Item.getPathByField(field), applicationType, Filter_2.FILTER_TYPE_FIELD, [], aggregationSort, limit, promoted), _a));\n return this;\n };\n /**\n * Aggregate by range\n *\n * @param filterName\n * @param field\n * @param ranges\n * @param applicationType\n * @param rangeType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateByRange = function (filterName, field, ranges, applicationType, rangeType, aggregationSort, limit, promoted) {\n var _a;\n if (rangeType === void 0) { rangeType = Filter_2.FILTER_TYPE_RANGE; }\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n if (ranges.length === 0) {\n return this;\n }\n this.aggregations = tslib_1.__assign(tslib_1.__assign({}, this.aggregations), (_a = {}, _a[filterName] = Aggregation_1.Aggregation.create(filterName, Item_1.Item.getPathByField(field), applicationType, rangeType, ranges, aggregationSort, limit, promoted), _a));\n return this;\n };\n /**\n * Aggregate by date range\n *\n * @param filterName\n * @param field\n * @param options\n * @param applicationType\n * @param aggregationSort\n * @param limit\n * @param promoted\n *\n * @return {Query}\n */\n Query.prototype.aggregateByDateRange = function (filterName, field, options, applicationType, aggregationSort, limit, promoted) {\n if (aggregationSort === void 0) { aggregationSort = Aggregation_2.AGGREGATION_SORT_BY_COUNT_DESC; }\n if (limit === void 0) { limit = Aggregation_2.AGGREGATION_NO_LIMIT; }\n if (promoted === void 0) { promoted = []; }\n return this.aggregateByRange(filterName, field, options, applicationType, Filter_2.FILTER_TYPE_DATE_RANGE, aggregationSort, limit, promoted);\n };\n /**\n * Get aggregations\n *\n * @return {{}}\n */\n Query.prototype.getAggregations = function () {\n return this.aggregations;\n };\n /**\n * Get aggregation by name\n *\n * @param aggregationName\n *\n * @return {Aggregation|null}\n */\n Query.prototype.getAggregation = function (aggregationName) {\n return this.aggregations[aggregationName] instanceof Aggregation_1.Aggregation\n ? this.aggregations[aggregationName]\n : null;\n };\n /**\n * Get query text\n *\n * @return {string}\n */\n Query.prototype.getQueryText = function () {\n var filter = this.filters._query;\n return filter instanceof Filter_1.Filter\n ? filter.getValues()[0]\n : \"\";\n };\n /**\n * Get universe filters\n *\n * @return {{}}\n */\n Query.prototype.getUniverseFilters = function () {\n return this.universeFilters;\n };\n /**\n * Get universe filter by name\n *\n * @param filterName\n *\n * @return {Filter|null}\n */\n Query.prototype.getUniverseFilter = function (filterName) {\n return this.universeFilters[filterName] instanceof Filter_1.Filter\n ? this.universeFilters[filterName]\n : null;\n };\n /**\n * Get filters\n *\n * @return {{}}\n */\n Query.prototype.getFilters = function () {\n return this.filters;\n };\n /**\n * Get filter by name\n *\n * @param filterName\n *\n * @return {Filter|null}\n */\n Query.prototype.getFilter = function (filterName) {\n return this.filters[filterName] instanceof Filter_1.Filter\n ? this.filters[filterName]\n : null;\n };\n /**\n * Get filter by field\n *\n * @param fieldName\n *\n * @return {Filter|null}\n */\n Query.prototype.getFilterByField = function (fieldName) {\n var fieldPath = Item_1.Item.getPathByField(fieldName);\n for (var i in this.filters) {\n if (this.filters[i].getField() == fieldPath) {\n return this.filters[i];\n }\n }\n return null;\n };\n /**\n * Get sort by\n *\n * @return {SortBy}\n */\n Query.prototype.getSortBy = function () {\n return this.sortByInstance;\n };\n /**\n * Get from\n *\n * @return {number}\n */\n Query.prototype.getFrom = function () {\n return this.from;\n };\n /**\n * Get size\n *\n * @return {number}\n */\n Query.prototype.getSize = function () {\n return this.size;\n };\n /**\n * Get page\n *\n * @return {number}\n */\n Query.prototype.getPage = function () {\n return this.page;\n };\n /**\n * Enable results\n *\n * @return {Query}\n */\n Query.prototype.enableResults = function () {\n this.resultsEnabled = true;\n return this;\n };\n /**\n * Disable results\n *\n * @return {Query}\n */\n Query.prototype.disableResults = function () {\n this.resultsEnabled = false;\n return this;\n };\n /**\n * Are results enabled\n *\n * @return {boolean}\n */\n Query.prototype.areResultsEnabled = function () {\n return this.resultsEnabled;\n };\n /**\n * Enable aggregations\n *\n * @return {Query}\n */\n Query.prototype.enableAggregations = function () {\n this.aggregationsEnabled = true;\n return this;\n };\n /**\n * Disable aggregations\n *\n * @return {Query}\n */\n Query.prototype.disableAggregations = function () {\n this.aggregationsEnabled = false;\n return this;\n };\n /**\n * Are aggregations enabled\n *\n * @return {boolean}\n */\n Query.prototype.areAggregationsEnabled = function () {\n return this.aggregationsEnabled;\n };\n /**\n * Set number of suggestions\n *\n * @param numberOfSuggestions\n *\n * @return {Query}\n */\n Query.prototype.setNumberOfSuggestions = function (numberOfSuggestions) {\n this.numberOfSuggestions = numberOfSuggestions;\n return this;\n };\n /**\n * Disable suggestions\n *\n * @return {Query}\n */\n Query.prototype.disableSuggestions = function () {\n this.numberOfSuggestions = 0;\n return this;\n };\n /**\n * Get number of suggestions\n *\n * @return {number}\n */\n Query.prototype.getNumberOfSuggestions = function () {\n return this.numberOfSuggestions;\n };\n /**\n * Enable autocomplete\n *\n * @return {Query}\n */\n Query.prototype.enableAutocomplete = function () {\n this.autocompleteEnabled = true;\n return this;\n };\n /**\n * Disable autocomplete\n *\n * @return {Query}\n */\n Query.prototype.disableAutocomplete = function () {\n this.autocompleteEnabled = false;\n return this;\n };\n /**\n * Are autocomplete enabled\n *\n * @return {boolean}\n */\n Query.prototype.areAutocompleteEnabled = function () {\n return this.autocompleteEnabled;\n };\n /**\n * Enable highlights\n *\n * @return {Query}\n */\n Query.prototype.enableHighlights = function () {\n this.highlightsEnabled = true;\n return this;\n };\n /**\n * Disable highlights\n *\n * @return {Query}\n */\n Query.prototype.disableHighlights = function () {\n this.highlightsEnabled = false;\n return this;\n };\n /**\n * Are highlights enabled\n *\n * @return {boolean}\n */\n Query.prototype.areHighlightsEnabled = function () {\n return this.highlightsEnabled;\n };\n /**\n * Promote uuid\n *\n * @param itemUUID\n *\n * @return {Query}\n */\n Query.prototype.promoteUUID = function (itemUUID) {\n this\n .itemsPromoted\n .push(itemUUID);\n return this;\n };\n /**\n * Promote UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.prototype.promoteUUIDs = function () {\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n this.itemsPromoted = uuids;\n return this;\n };\n /**\n * Get promoted UUIDs\n *\n * @return {ItemUUID[]}\n */\n Query.prototype.getItemsPromoted = function () {\n return this.itemsPromoted;\n };\n /**\n * Exclude id\n *\n * @param itemUUID\n *\n * @return {Query}\n */\n Query.prototype.excludeUUID = function (itemUUID) {\n this.excludeUUIDs(itemUUID);\n return this;\n };\n /**\n * Exclude UUIDs\n *\n * @param uuids\n *\n * @return {Query}\n */\n Query.prototype.excludeUUIDs = function () {\n var _a;\n var uuids = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n uuids[_i] = arguments[_i];\n }\n this.filters = tslib_1.__assign(tslib_1.__assign({}, this.filters), (_a = {}, _a[\"excluded_ids\"] = Filter_1.Filter.create(\"_id\", uuids.map(function (uuid) { return uuid.composedUUID(); }), Filter_2.FILTER_EXCLUDE, Filter_2.FILTER_TYPE_FIELD), _a));\n return this;\n };\n /**\n * Get score strategies\n *\n * @return {ScoreStrategies}\n */\n Query.prototype.getScoreStrategies = function () {\n return this.scoreStrategies;\n };\n /**\n * Set score strategies\n *\n * @param scoreStrategies\n */\n Query.prototype.setScoreStrategies = function (scoreStrategies) {\n this.scoreStrategies = scoreStrategies;\n return this;\n };\n /**\n * Get fuzziness\n *\n * @return any\n */\n Query.prototype.getFuzziness = function () {\n return this.fuzziness;\n };\n /**\n * Set fuzziness\n *\n * @param fuzziness\n *\n * @return {Query}\n */\n Query.prototype.setFuzziness = function (fuzziness) {\n this.fuzziness = fuzziness;\n return this;\n };\n /**\n * Set auto fuzziness\n *\n * @return {Query}\n */\n Query.prototype.setAutoFuzziness = function () {\n this.fuzziness = 'AUTO';\n return this;\n };\n /**\n * Get min score\n *\n * @return any\n */\n Query.prototype.getMinScore = function () {\n return this.minScore;\n };\n /**\n * Set min score\n *\n * @param minScore\n *\n * @return {Query}\n */\n Query.prototype.setMinScore = function (minScore) {\n this.minScore = minScore;\n return this;\n };\n /**\n * By user\n *\n * @param user\n *\n * @return {Query}\n */\n Query.prototype.byUser = function (user) {\n this.user = user;\n return this;\n };\n /**\n * By anyone\n *\n * @return {null}\n */\n Query.prototype.anonymously = function () {\n this.user = null;\n return null;\n };\n /**\n * Get user\n *\n * @return {User}\n */\n Query.prototype.getUser = function () {\n return this.user;\n };\n /**\n * set metadata value\n *\n * @param name\n * @param value\n *\n * @return {Query}\n */\n Query.prototype.setMetadataValue = function (name, value) {\n this.metadata[name] = value;\n return this;\n };\n /**\n * Get metadata\n *\n * @return any\n */\n Query.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Add subquery\n *\n * @param name\n * @param subquery\n *\n * @return {Query}\n */\n Query.prototype.addSubquery = function (name, subquery) {\n this.subqueries[name] = subquery;\n return this;\n };\n /**\n * Get subqueries\n *\n * @return {Object}\n */\n Query.prototype.getSubqueries = function () {\n return this.subqueries;\n };\n /**\n * Identify it\n *\n * @param UUID\n *\n * @return {Query}\n */\n Query.prototype.identifyWith = function (UUID) {\n this.UUID = UUID;\n return this;\n };\n /**\n * Get identification\n *\n * @return {string|null}\n */\n Query.prototype.getUUID = function () {\n return this.UUID;\n };\n /**\n * Force Index UUID.\n *\n * @param indexUUID\n *\n * @return {Query}\n */\n Query.prototype.forceIndexUUID = function (indexUUID) {\n this.indexUUID = indexUUID;\n return this;\n };\n /**\n * Get IndexUUID\n *\n * @return {IndexUUID|null}\n */\n Query.prototype.getIndexUUID = function () {\n return this.indexUUID;\n };\n Query.prototype.setQueryOperator = function (queryOperator) {\n this.queryOperator = queryOperator;\n return this;\n };\n Query.prototype.getQueryOperator = function () {\n return this.queryOperator;\n };\n Query.prototype.optimize = function () {\n var _a, _b;\n var copy = this.toArray();\n var extraFilters = [];\n var otherAggregations = {};\n Object.keys((_a = copy.aggregations) !== null && _a !== void 0 ? _a : {}).forEach(function (key) {\n if (copy.aggregations[key].field.startsWith(\"indexed_metadata._\")) {\n extraFilters.push(copy.aggregations[key].field.slice(18));\n }\n else {\n otherAggregations[key] = copy.aggregations[key];\n }\n });\n copy.aggregations = otherAggregations;\n copy.metadata = (_b = copy.metadata) !== null && _b !== void 0 ? _b : [];\n copy.metadata.ef = extraFilters;\n return Query.createFromArray(copy);\n };\n /**\n * To array\n *\n * @return {any}\n */\n Query.prototype.toArray = function () {\n var array = {};\n if (this.UUID !== null) {\n array.UUID = this.UUID;\n }\n if (this.getQueryText() !== \"\") {\n array.q = this.getQueryText();\n }\n if (this.coordinate instanceof Coordinate_1.Coordinate) {\n array.coordinate = this.coordinate.toArray();\n }\n /**\n * Fields\n */\n if (this.fields instanceof Array &&\n this.fields.length > 0) {\n array.fields = this.fields;\n }\n /**\n * Universe Filters\n */\n if (Object.keys(this.universeFilters).length) {\n array.universe_filters = {};\n for (var i in this.universeFilters) {\n var universeFilter = this.universeFilters[i];\n array.universe_filters[i] = universeFilter.toArray();\n }\n }\n /**\n * Filters\n */\n if (this.filters instanceof Object &&\n Object.keys(this.filters).length) {\n var filters = {};\n for (var i in this.filters) {\n var filter = this.filters[i];\n if (filter.getFilterType() !== Filter_3.FILTER_TYPE_QUERY) {\n filters[i] = filter.toArray();\n }\n }\n if (Object.keys(filters).length > 0) {\n array.filters = filters;\n }\n }\n /**\n * Aggregations\n */\n if (this.aggregations instanceof Object &&\n Object.keys(this.aggregations).length) {\n array.aggregations = {};\n for (var i in this.aggregations) {\n var aggregation = this.aggregations[i];\n array.aggregations[i] = aggregation.toArray();\n }\n }\n /**\n * Sort\n */\n var sort = this.sortByInstance.toArray();\n if (Object.keys(sort).length) {\n array.sort = sort;\n }\n /**\n * Page\n */\n var page = this.page;\n if (page !== exports.QUERY_DEFAULT_PAGE) {\n array.page = page;\n }\n /**\n * Size\n */\n var size = this.size;\n if (size !== exports.QUERY_DEFAULT_SIZE) {\n array.size = size;\n }\n /**\n * Booleans\n */\n if (this.resultsEnabled === false) {\n array.results_enabled = false;\n }\n if (this.autocompleteEnabled === true) {\n array.autocomplete_enabled = true;\n }\n if (this.numberOfSuggestions !== 0) {\n array.number_of_suggestions = this.numberOfSuggestions;\n }\n if (this.highlightsEnabled === true) {\n array.highlight_enabled = true;\n }\n if (this.aggregationsEnabled === false) {\n array.aggregations_enabled = false;\n }\n /**\n * Filter fields\n */\n if (this.searchableFields instanceof Array &&\n this.searchableFields.length > 0) {\n array.searchable_fields = this.searchableFields;\n }\n /**\n * Score strategies\n */\n if (this.scoreStrategies instanceof ScoreStrategies_1.ScoreStrategies) {\n var scoreStrategiesAsArray = this.scoreStrategies.toArray();\n if (Object.keys(scoreStrategiesAsArray).length > 0) {\n array.score_strategies = scoreStrategiesAsArray;\n }\n }\n if (this.fuzziness !== null) {\n array.fuzziness = this.fuzziness;\n }\n /**\n * Min score\n */\n var minScore = this.minScore;\n if (minScore !== exports.NO_MIN_SCORE) {\n array.min_score = minScore;\n }\n /**\n * User\n */\n if (this.user instanceof User_1.User) {\n array.user = this.user.toArray();\n }\n if (Object.keys(this.metadata).length > 0) {\n array.metadata = this.metadata;\n }\n if (this.subqueries instanceof Object &&\n Object.keys(this.subqueries).length) {\n array.subqueries = {};\n for (var i in this.subqueries) {\n var subquery = this.subqueries[i];\n array.subqueries[i] = subquery.toArray();\n }\n }\n if (this.indexUUID instanceof IndexUUID_1.IndexUUID) {\n array.index_uuid = this.indexUUID.toArray();\n }\n /**\n * items promoted\n */\n if (this.itemsPromoted.length > 0) {\n array.items_promoted = [];\n for (var i in this.itemsPromoted) {\n array\n .items_promoted\n .push(this.itemsPromoted[i].toArray());\n }\n }\n if (this.queryOperator !== \"or\" && this.queryOperator !== null) {\n array.query_operator = this.queryOperator;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {Query}\n */\n Query.createFromArray = function (array) {\n var query = array.coordinate instanceof Object\n ? Query.createLocated(Coordinate_1.Coordinate.createFromArray(array.coordinate), array.q ? array.q : \"\", array.page ? array.page : exports.QUERY_DEFAULT_PAGE, array.size ? array.size : exports.QUERY_DEFAULT_SIZE)\n : Query.create(array.q ? array.q : \"\", array.page ? array.page : exports.QUERY_DEFAULT_PAGE, array.size ? array.size : exports.QUERY_DEFAULT_SIZE);\n query.UUID = typeof array.UUID === typeof \"\"\n ? array.UUID\n : undefined;\n /**\n * Fields\n */\n query.fields = array.fields instanceof Array\n ? array.fields\n : [];\n /**\n * Aggregations\n */\n var aggregationsAsArray = typeof array.aggregations === typeof {}\n ? array.aggregations\n : {};\n for (var i in aggregationsAsArray) {\n query.aggregations[i] = Aggregation_1.Aggregation.createFromArray(aggregationsAsArray[i]);\n }\n /**\n * Sort\n */\n var sortAsArray = typeof array.sort === typeof {}\n ? array.sort\n : {};\n if (Object.keys(sortAsArray).length > 0) {\n query.sortByInstance = SortBy_1.SortBy.createFromArray(sortAsArray);\n }\n /**\n * Filters\n */\n var filtersAsArray = typeof array.filters === typeof {}\n ? array.filters\n : {};\n for (var i in filtersAsArray) {\n query.filters[i] = Filter_1.Filter.createFromArray(filtersAsArray[i]);\n }\n /**\n * Universe Filters\n */\n var universeFiltersAsArray = typeof array.universe_filters === typeof {}\n ? array.universe_filters\n : {};\n for (var i in universeFiltersAsArray) {\n query.universeFilters[i] = Filter_1.Filter.createFromArray(universeFiltersAsArray[i]);\n }\n /**\n * Booleans\n */\n query.resultsEnabled = typeof array.results_enabled === \"boolean\"\n ? array.results_enabled\n : true;\n query.numberOfSuggestions = typeof array.number_of_suggestions === \"number\"\n ? array.number_of_suggestions\n : 0;\n query.autocompleteEnabled = typeof array.autocomplete_enabled === \"boolean\"\n ? array.autocomplete_enabled\n : false;\n query.aggregationsEnabled = typeof array.aggregations_enabled === \"boolean\"\n ? array.aggregations_enabled\n : true;\n query.highlightsEnabled = typeof array.highlight_enabled === \"boolean\"\n ? array.highlight_enabled\n : false;\n query.fuzziness = array.fuzziness ? array.fuzziness : null;\n query.minScore = array.min_score ? array.min_score : exports.NO_MIN_SCORE;\n /**\n * Items promoted\n */\n var itemsPromotedAsArray = typeof array.items_promoted === typeof {}\n ? array.items_promoted\n : {};\n for (var i in itemsPromotedAsArray) {\n query\n .itemsPromoted\n .push(ItemUUID_1.ItemUUID.createFromArray(itemsPromotedAsArray[i]));\n }\n /**\n * Subqueries\n */\n var subqueriesAsArray = typeof array.subqueries === typeof {}\n ? array.subqueries\n : {};\n for (var i in subqueriesAsArray) {\n query.subqueries[i] = Query.createFromArray(subqueriesAsArray[i]);\n }\n /**\n * Filter fields\n */\n query.metadata = typeof array.metadata === typeof {}\n ? array.metadata\n : {};\n query.searchableFields = array.searchable_fields instanceof Array\n ? array.searchable_fields\n : [];\n query.scoreStrategies = array.score_strategies instanceof Object\n ? ScoreStrategies_1.ScoreStrategies.createFromArray(array.score_strategies)\n : undefined;\n query.user = array.user instanceof Object\n ? User_1.User.createFromArray(array.user)\n : undefined;\n query.indexUUID = array.index_uuid instanceof Object\n ? IndexUUID_1.IndexUUID.createFromArray(array.index_uuid)\n : undefined;\n query.queryOperator = typeof array.query_operator === \"string\"\n ? array.query_operator\n : \"or\";\n return query;\n };\n return Query;\n}());\nexports.Query = Query;\n","\"use strict\";\nexports.__esModule = true;\nexports.Range = exports.RANGE_SEPARATOR = exports.RANGE_INFINITE = exports.RANGE_MINUS_INFINITE = void 0;\n/**\n * Aggregation constants\n */\nexports.RANGE_MINUS_INFINITE = null;\nexports.RANGE_INFINITE = null;\nexports.RANGE_SEPARATOR = \"..\";\n/**\n * Filter class\n */\nvar Range = /** @class */ (function () {\n function Range() {\n }\n /**\n * Strong to array\n *\n * @param string\n *\n * @returns {[number, number]}\n */\n Range.stringToArray = function (string) {\n var parts = string.split(exports.RANGE_SEPARATOR);\n var from = parts[0];\n var to = parts[1];\n var finalFrom = exports.RANGE_MINUS_INFINITE;\n var finalTo = exports.RANGE_INFINITE;\n if (from != \"\") {\n finalFrom = parseInt(from);\n }\n if (to != \"\") {\n finalTo = parseInt(to);\n }\n return [finalFrom, finalTo];\n };\n /**\n * Array to string\n *\n * @param values\n *\n * @return {string}\n */\n Range.arrayToString = function (values) {\n var finalValues = [\"\", \"\"];\n if (values[0] != exports.RANGE_MINUS_INFINITE) {\n finalValues[0] = String(values[0]);\n }\n if (values[1] != exports.RANGE_INFINITE) {\n finalValues[1] = String(values[1]);\n }\n return finalValues.join(exports.RANGE_SEPARATOR);\n };\n /**\n * Create ranges\n *\n * @param from\n * @param to\n * @param incremental\n */\n Range.createRanges = function (from, to, incremental) {\n var ranges = [];\n var nextTo;\n while (from < to) {\n nextTo = from + incremental;\n ranges.push(from + exports.RANGE_SEPARATOR + nextTo);\n from = nextTo;\n }\n return ranges;\n };\n return Range;\n}());\nexports.Range = Range;\n","\"use strict\";\nexports.__esModule = true;\nexports.ScoreStrategies = exports.MIN = exports.MAX = exports.AVG = exports.SUM = exports.MULTIPLY = void 0;\nvar ScoreStrategy_1 = require(\"./ScoreStrategy\");\n/**\n * ScoreStrategies constants\n */\nexports.MULTIPLY = 'multiply';\nexports.SUM = 'sum';\nexports.AVG = 'avg';\nexports.MAX = 'max';\nexports.MIN = 'min';\n/**\n * ScoreStrategies\n */\nvar ScoreStrategies = /** @class */ (function () {\n function ScoreStrategies() {\n this.scoreStrategies = [];\n }\n /**\n * Create empty\n *\n * @param scoreMode\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.createEmpty = function (scoreMode) {\n if (scoreMode === void 0) { scoreMode = exports.SUM; }\n var scoreStrategies = new ScoreStrategies;\n scoreStrategies.scoreMode = scoreMode;\n return scoreStrategies;\n };\n /**\n * Add score strategy\n *\n * @param scoreStrategy\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.prototype.addScoreStrategy = function (scoreStrategy) {\n this.scoreStrategies.push(scoreStrategy);\n return this;\n };\n /**\n * Get score strategies\n *\n * @return {ScoreStrategy[]}\n */\n ScoreStrategies.prototype.getScoreStrategies = function () {\n return this.scoreStrategies;\n };\n /**\n * Get score mode\n *\n * @return {string}\n */\n ScoreStrategies.prototype.getScoreMode = function () {\n return this.scoreMode;\n };\n /**\n * To array\n *\n * @return {{\n * score_mode: string,\n * score_strategies: any\n * }}\n */\n ScoreStrategies.prototype.toArray = function () {\n var scoreStrategiesAsArray = [];\n for (var i in this.scoreStrategies) {\n scoreStrategiesAsArray.push(this.scoreStrategies[i].toArray());\n }\n return {\n score_mode: this.scoreMode,\n score_strategies: scoreStrategiesAsArray\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ScoreStrategies}\n */\n ScoreStrategies.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var scoreStrategies = (typeof array.score_mode != \"undefined\")\n ? ScoreStrategies.createEmpty(array.score_mode)\n : ScoreStrategies.createEmpty();\n scoreStrategies.scoreStrategies = [];\n for (var i in array.score_strategies) {\n scoreStrategies\n .scoreStrategies\n .push(ScoreStrategy_1.ScoreStrategy.createFromArray(array.score_strategies[i]));\n }\n return scoreStrategies;\n };\n return ScoreStrategies;\n}());\nexports.ScoreStrategies = ScoreStrategies;\n","\"use strict\";\nexports.__esModule = true;\nexports.ScoreStrategy = exports.DEFAULT_FACTOR = exports.DEFAULT_MISSING = exports.SCORE_MODE_MIN = exports.SCORE_MODE_MAX = exports.SCORE_MODE_AVG = exports.SCORE_MODE_SUM = exports.SCORE_MODE_NONE = exports.MODIFIER_SQUARE = exports.MODIFIER_LN = exports.MODIFIER_LOG = exports.MODIFIER_SQRT = exports.MODIFIER_NONE = exports.DECAY_GAUSS = exports.DECAY_EXP = exports.DECAY_LINEAR = exports.DECAY = exports.CUSTOM_FUNCTION = exports.BOOSTING_FIELD_VALUE = exports.DEFAULT_WEIGHT = exports.DEFAULT_TYPE = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar Filter_1 = require(\"./Filter\");\n/**\n * ScoreStrategy constants\n */\nexports.DEFAULT_TYPE = 'default';\nexports.DEFAULT_WEIGHT = 1.0;\nexports.BOOSTING_FIELD_VALUE = 'field_value';\nexports.CUSTOM_FUNCTION = 'custom_function';\nexports.DECAY = 'decay';\nexports.DECAY_LINEAR = 'linear';\nexports.DECAY_EXP = 'exp';\nexports.DECAY_GAUSS = 'gauss';\nexports.MODIFIER_NONE = 'none';\nexports.MODIFIER_SQRT = 'sqrt';\nexports.MODIFIER_LOG = 'log';\nexports.MODIFIER_LN = 'ln';\nexports.MODIFIER_SQUARE = 'square';\nexports.SCORE_MODE_NONE = 'none';\nexports.SCORE_MODE_SUM = 'sum';\nexports.SCORE_MODE_AVG = 'avg';\nexports.SCORE_MODE_MAX = 'max';\nexports.SCORE_MODE_MIN = 'min';\nexports.DEFAULT_MISSING = 1.0;\nexports.DEFAULT_FACTOR = 1.0;\n/**\n * ScoreStrategy\n */\nvar ScoreStrategy = /** @class */ (function () {\n function ScoreStrategy() {\n this.type = exports.DEFAULT_TYPE;\n this.filter = null;\n this.weight = exports.DEFAULT_WEIGHT;\n this.scoreMode = exports.SCORE_MODE_AVG;\n this.configuration = {};\n }\n /**\n * Get type\n *\n * @returns {string}\n */\n ScoreStrategy.prototype.getType = function () {\n return this.type;\n };\n /**\n * Get configuration value\n *\n * @returns {string}\n */\n ScoreStrategy.prototype.getConfigurationValue = function (element) {\n if (typeof this.configuration[element] == \"undefined\") {\n return null;\n }\n return this.configuration[element];\n };\n /**\n * Get weight.\n *\n * @return {number}\n */\n ScoreStrategy.prototype.getWeight = function () {\n return this.weight;\n };\n /**\n * Get score mode.\n *\n * @return {string}\n */\n ScoreStrategy.prototype.getScoreMode = function () {\n return this.scoreMode;\n };\n /**\n * Get filter.\n *\n * @return {Filter}\n */\n ScoreStrategy.prototype.getFilter = function () {\n return this.filter;\n };\n /**\n * Create default\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createDefault = function () {\n return new ScoreStrategy();\n };\n /**\n * Create field boosting\n *\n * @param field\n * @param factor\n * @param missing\n * @param modifier\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createFieldBoosting = function (field, factor, missing, modifier, weight, filter, scoreMode) {\n if (factor === void 0) { factor = exports.DEFAULT_FACTOR; }\n if (missing === void 0) { missing = exports.DEFAULT_MISSING; }\n if (modifier === void 0) { modifier = exports.MODIFIER_NONE; }\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.BOOSTING_FIELD_VALUE;\n scoreStrategy.configuration['field'] = field;\n scoreStrategy.configuration['factor'] = factor;\n scoreStrategy.configuration['missing'] = missing;\n scoreStrategy.configuration['modifier'] = modifier;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Create custom function\n *\n * @param func\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createCustomFunction = function (func, weight, filter, scoreMode) {\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.CUSTOM_FUNCTION;\n scoreStrategy.configuration['function'] = func;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Create decay function\n *\n * @param type\n * @param field\n * @param origin\n * @param scale\n * @param offset\n * @param decay\n * @param weight\n * @param filter\n * @param scoreMode\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createDecayFunction = function (type, field, origin, scale, offset, decay, weight, filter, scoreMode) {\n if (weight === void 0) { weight = exports.DEFAULT_WEIGHT; }\n if (filter === void 0) { filter = null; }\n if (scoreMode === void 0) { scoreMode = exports.SCORE_MODE_AVG; }\n var scoreStrategy = ScoreStrategy.createDefault();\n scoreStrategy.type = exports.DECAY;\n scoreStrategy.configuration['type'] = type;\n scoreStrategy.configuration['field'] = field;\n scoreStrategy.configuration['origin'] = origin;\n scoreStrategy.configuration['scale'] = scale;\n scoreStrategy.configuration['offset'] = offset;\n scoreStrategy.configuration['decay'] = decay;\n scoreStrategy.weight = weight;\n scoreStrategy.filter = ScoreStrategy.fixFilterFieldPath(filter);\n scoreStrategy.scoreMode = scoreMode;\n return scoreStrategy;\n };\n /**\n * Fix filter path.\n *\n * @param filter\n *\n * @return {Filter}\n */\n ScoreStrategy.fixFilterFieldPath = function (filter) {\n if (filter == null) {\n return filter;\n }\n var filterAsArray = filter.toArray();\n filterAsArray['field'] = Item_1.Item.getPathByField(filterAsArray['field']);\n return Filter_1.Filter.createFromArray(filterAsArray);\n };\n /**\n * To array\n *\n * @return {{\n * type: string,\n * configuration: any,\n * weight: number,\n * score_mode: string,\n * filter: any\n * }}\n */\n ScoreStrategy.prototype.toArray = function () {\n return {\n type: this.type,\n configuration: this.configuration,\n weight: this.weight,\n score_mode: this.scoreMode,\n filter: this.filter instanceof Filter_1.Filter\n ? this.filter.toArray()\n : null\n };\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ScoreStrategy}\n */\n ScoreStrategy.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n var scoreStrategy = ScoreStrategy.createDefault();\n if (typeof array.type != \"undefined\") {\n scoreStrategy.type = array.type;\n }\n if (typeof array.configuration != \"undefined\") {\n scoreStrategy.configuration = array.configuration;\n }\n if (typeof array.weight != \"undefined\") {\n scoreStrategy.weight = array.weight;\n }\n if (typeof array.score_mode != \"undefined\") {\n scoreStrategy.scoreMode = array.score_mode;\n }\n if (typeof array.filter === 'object' && array.filter !== null) {\n scoreStrategy.filter = Filter_1.Filter.createFromArray(array.filter);\n }\n return scoreStrategy;\n };\n return ScoreStrategy;\n}());\nexports.ScoreStrategy = ScoreStrategy;\n","\"use strict\";\nexports.__esModule = true;\nexports.SortBy = exports.SORT_BY_LOCATION_MI_ASC = exports.SORT_BY_LOCATION_KM_ASC = exports.SORT_BY_TYPE_DESC = exports.SORT_BY_TYPE_ASC = exports.SORT_BY_ID_DESC = exports.SORT_BY_ID_ASC = exports.SORT_BY_AL_TUN_TUN = exports.SORT_BY_RANDOM = exports.SORT_BY_SCORE = exports.SORT_BY_MODE_MEDIAN = exports.SORT_BY_MODE_MAX = exports.SORT_BY_MODE_MIN = exports.SORT_BY_MODE_SUM = exports.SORT_BY_MODE_AVG = exports.SORT_BY_DESC = exports.SORT_BY_ASC = exports.SORT_BY_TYPE_RANDOM = exports.SORT_BY_TYPE_FUNCTION = exports.SORT_BY_TYPE_DISTANCE = exports.SORT_BY_TYPE_SCORE = exports.SORT_BY_TYPE_NESTED = exports.SORT_BY_TYPE_FIELD = void 0;\nvar __1 = require(\"..\");\nvar Filter_1 = require(\"./Filter\");\n/**\n export * Sort by constants\n */\nexports.SORT_BY_TYPE_FIELD = 'field';\nexports.SORT_BY_TYPE_NESTED = 'nested';\nexports.SORT_BY_TYPE_SCORE = 'score';\nexports.SORT_BY_TYPE_DISTANCE = 'distance';\nexports.SORT_BY_TYPE_FUNCTION = 'function';\nexports.SORT_BY_TYPE_RANDOM = 'random';\nexports.SORT_BY_ASC = \"asc\";\nexports.SORT_BY_DESC = \"desc\";\nexports.SORT_BY_MODE_AVG = \"avg\";\nexports.SORT_BY_MODE_SUM = \"sum\";\nexports.SORT_BY_MODE_MIN = \"min\";\nexports.SORT_BY_MODE_MAX = \"max\";\nexports.SORT_BY_MODE_MEDIAN = \"median\";\nexports.SORT_BY_SCORE = {\n type: exports.SORT_BY_TYPE_SCORE,\n};\nexports.SORT_BY_RANDOM = {\n type: exports.SORT_BY_TYPE_RANDOM,\n};\nexports.SORT_BY_AL_TUN_TUN = exports.SORT_BY_RANDOM;\nexports.SORT_BY_ID_ASC = {\n field: \"uuid.id\",\n order: exports.SORT_BY_ASC\n};\nexports.SORT_BY_ID_DESC = {\n field: \"uuid.id\",\n order: exports.SORT_BY_DESC\n};\nexports.SORT_BY_TYPE_ASC = {\n field: \"uuid.type\",\n order: exports.SORT_BY_ASC\n};\nexports.SORT_BY_TYPE_DESC = {\n field: \"uuid.type\",\n order: exports.SORT_BY_DESC\n};\nexports.SORT_BY_LOCATION_KM_ASC = {\n type: exports.SORT_BY_TYPE_DISTANCE,\n unit: \"km\"\n};\nexports.SORT_BY_LOCATION_MI_ASC = {\n type: exports.SORT_BY_TYPE_DISTANCE,\n unit: \"mi\"\n};\n/**\n * ScoreStrategy\n */\nvar SortBy = /** @class */ (function () {\n function SortBy() {\n this.sortsBy = [];\n }\n /**\n * Create\n *\n * @return {SortBy}\n */\n SortBy.create = function () {\n return new SortBy;\n };\n /**\n * Sort By fields values\n *\n * @param shortSortByElements\n *\n * @return {SortBy}\n */\n SortBy.byFieldsValues = function (shortSortByElements) {\n var sortBy = SortBy.create();\n for (var key in shortSortByElements) {\n sortBy.byFieldValue(key, shortSortByElements[key]);\n }\n return sortBy;\n };\n /**\n * All\n *\n * @return {Array}\n */\n SortBy.prototype.all = function () {\n return this.sortsBy.length > 0\n ? this.sortsBy\n : [exports.SORT_BY_SCORE];\n };\n /**\n * Sort by value\n *\n * @param value\n *\n * @return {SortBy}\n */\n SortBy.prototype.byValue = function (value) {\n if (exports.SORT_BY_SCORE != value &&\n exports.SORT_BY_RANDOM != value) {\n if (typeof value.type == \"undefined\") {\n value.type = exports.SORT_BY_TYPE_FIELD;\n }\n }\n if (exports.SORT_BY_SCORE != value) {\n this.sortsBy.push(value);\n }\n return this;\n };\n /**\n * Sort by field value\n *\n * @param field\n * @param order\n *\n * @return {SortBy}\n */\n SortBy.prototype.byFieldValue = function (field, order) {\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_FIELD,\n field: __1.Item.getPathByField(field),\n order: order\n });\n return this;\n };\n /**\n * Sort by nested field\n *\n * @param field\n * @param order\n * @param mode\n *\n * @return {SortBy}\n */\n SortBy.prototype.byNestedField = function (field, order, mode) {\n if (mode === void 0) { mode = exports.SORT_BY_MODE_AVG; }\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_NESTED,\n mode: mode,\n field: 'indexed_metadata.' + field,\n order: order\n });\n return this;\n };\n /**\n * Sort by nested field and filter\n *\n * @param field\n * @param order\n * @param filter\n * @param mode\n *\n * @return {SortBy}\n */\n SortBy.prototype.byNestedFieldAndFilter = function (field, order, filter, mode) {\n if (mode === void 0) { mode = exports.SORT_BY_MODE_AVG; }\n var fieldPath = __1.Item.getPathByField(filter.getField());\n var filterAsArray = filter.toArray();\n filterAsArray.field = fieldPath;\n filter = Filter_1.Filter.createFromArray(filterAsArray);\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_NESTED,\n mode: mode,\n filter: filter,\n field: 'indexed_metadata.' + field,\n order: order\n });\n return this;\n };\n /**\n * Sort by function\n *\n * @param func\n * @param order\n *\n * @return {SortBy}\n */\n SortBy.prototype.byFunction = function (func, order) {\n this.sortsBy.push({\n type: exports.SORT_BY_TYPE_FUNCTION,\n \"function\": func,\n order: order\n });\n return this;\n };\n /**\n * Is sorted by geo distance\n *\n * @return {boolean}\n */\n SortBy.prototype.isSortedByGeoDistance = function () {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_DISTANCE) {\n return true;\n }\n }\n return false;\n };\n /**\n * Set coordinate\n *\n * @param coordinate\n *\n * @return {SortBy}\n */\n SortBy.prototype.setCoordinate = function (coordinate) {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_DISTANCE) {\n this.sortsBy[i].coordinate = coordinate;\n }\n }\n return this;\n };\n /**\n * Has random sort\n *\n * @return {boolean}\n */\n SortBy.prototype.hasRandomSort = function () {\n for (var i in this.sortsBy) {\n if (this.sortsBy[i].type === exports.SORT_BY_TYPE_RANDOM) {\n return true;\n }\n }\n return false;\n };\n /**\n * get first sort value as string\n *\n * @return {string}\n */\n SortBy.prototype.getFirstSortAsString = function () {\n if (this.sortsBy[0] === undefined) {\n return 'score';\n }\n var firstSortBy = this.sortsBy[0];\n if (firstSortBy.type === exports.SORT_BY_TYPE_RANDOM) {\n return 'random';\n }\n if (firstSortBy.type === exports.SORT_BY_TYPE_DISTANCE) {\n return firstSortBy.type + ':' + firstSortBy.unit;\n }\n if (firstSortBy.type === exports.SORT_BY_TYPE_SCORE) {\n return 'score';\n }\n var field = firstSortBy.field;\n var order = firstSortBy.order;\n var fieldParts = field.split('.');\n return fieldParts[1] + ':' + order;\n };\n /**\n * To array\n *\n * @return {[]}\n */\n SortBy.prototype.toArray = function () {\n var copySortBy = this.copy();\n var sortsByAsArray = copySortBy.sortsBy;\n for (var i in sortsByAsArray) {\n if (typeof sortsByAsArray[i].filter === typeof {} &&\n sortsByAsArray[i].filter != null) {\n sortsByAsArray[i].filter = sortsByAsArray[i].filter.toArray();\n }\n if (sortsByAsArray[i].coordinate !== null &&\n sortsByAsArray[i].coordinate instanceof __1.Coordinate) {\n sortsByAsArray[i].coordinate = sortsByAsArray[i].coordinate.toArray();\n }\n }\n return sortsByAsArray;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @returns {SortBy}\n */\n SortBy.createFromArray = function (array) {\n var innerArray = JSON.parse(JSON.stringify(array));\n var sortBy = SortBy.create();\n for (var i in innerArray) {\n var element = innerArray[i];\n if (typeof element.type == \"undefined\") {\n element.type = exports.SORT_BY_TYPE_FIELD;\n }\n if (typeof element.filter === typeof {} &&\n element.filter != null) {\n element.filter = Filter_1.Filter.createFromArray(element.filter);\n }\n if (element.coordinate != null &&\n typeof element.coordinate === typeof {}) {\n element.coordinate = __1.Coordinate.createFromArray(element.coordinate);\n }\n sortBy.sortsBy.push(element);\n }\n return sortBy;\n };\n /**\n * Make a copy of this\n *\n * @returns {SortBy}\n */\n SortBy.prototype.copy = function () {\n var newSortBy = SortBy.create();\n for (var i in this.sortsBy) {\n var sortBy = this.sortsBy[i];\n if (typeof sortBy !== \"function\") {\n var sortByAsArray = JSON.parse(JSON.stringify(sortBy));\n if (typeof sortBy.filter === typeof {} &&\n sortBy.filter != null) {\n sortByAsArray.filter = Filter_1.Filter.createFromArray(sortBy.filter.toArray());\n }\n if (sortBy.coordinate != null &&\n typeof sortBy.coordinate == typeof {}) {\n sortByAsArray.coordinate = __1.Coordinate.createFromArray(sortBy.coordinate.toArray());\n }\n newSortBy.sortsBy.push(sortByAsArray);\n }\n }\n return newSortBy;\n };\n return SortBy;\n}());\nexports.SortBy = SortBy;\n","\"use strict\";\nexports.__esModule = true;\nexports.HttpRepository = void 0;\nvar tslib_1 = require(\"tslib\");\nvar ConnectionError_1 = require(\"../Error/ConnectionError\");\nvar InvalidFormatError_1 = require(\"../Error/InvalidFormatError\");\nvar InvalidTokenError_1 = require(\"../Error/InvalidTokenError\");\nvar ResourceExistsError_1 = require(\"../Error/ResourceExistsError\");\nvar ResourceNotAvailableError_1 = require(\"../Error/ResourceNotAvailableError\");\nvar UnknownError_1 = require(\"../Error/UnknownError\");\nvar Response_1 = require(\"../Http/Response\");\nvar Index_1 = require(\"../Model/Index\");\nvar Item_1 = require(\"../Model/Item\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\nvar Result_1 = require(\"../Result/Result\");\nvar Repository_1 = require(\"./Repository\");\n/**\n * Aggregation class\n */\nvar HttpRepository = /** @class */ (function (_super) {\n tslib_1.__extends(HttpRepository, _super);\n /**\n * Constructor\n *\n * @param httpClient\n * @param appId\n * @param indexId\n * @param token\n * @param transformer\n */\n function HttpRepository(httpClient, appId, indexId, token, transformer) {\n var _this = _super.call(this, appId, indexId, token) || this;\n _this.httpClient = httpClient;\n _this.transformer = transformer;\n return _this;\n }\n /**\n * Get transformer\n *\n * @return {Transformer}\n */\n HttpRepository.prototype.getTransformer = function () {\n return this.transformer;\n };\n /**\n * Generate item document by a simple object.\n *\n * @param object\n *\n * @returns {void}\n */\n HttpRepository.prototype.addObject = function (object) {\n var item = this\n .transformer\n .toItem(object);\n if (item instanceof Item_1.Item) {\n this.addItem(item);\n }\n };\n /**\n * Delete item document by uuid.\n *\n * @param object\n *\n * @returns {void}\n */\n HttpRepository.prototype.deleteObject = function (object) {\n var itemUUID = this\n .transformer\n .toItemUUID(object);\n if (itemUUID instanceof ItemUUID_1.ItemUUID) {\n this.deleteItem(itemUUID);\n }\n };\n /**\n * Flush update items\n *\n * @param {Item[]} itemsToUpdate\n *\n * @return {Promise}\n */\n HttpRepository.prototype.flushUpdateItems = function (itemsToUpdate) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_1;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (itemsToUpdate.length === 0) {\n return [2 /*return*/];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items\", \"put\", this.getCredentials(), {}, itemsToUpdate.map(function (item) {\n return item.toArray();\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_1 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_1);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Flush delete items\n *\n * @param {ItemUUID[]} itemsToDelete\n *\n * @return {Promise}\n */\n HttpRepository.prototype.flushDeleteItems = function (itemsToDelete) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_2;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (itemsToDelete.length === 0) {\n return [2 /*return*/];\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items\", \"delete\", this.getCredentials(), {}, itemsToDelete.map(function (itemUUID) {\n return itemUUID.toArray();\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_2 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_2);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Query\n *\n * @param {Query} query\n *\n * @return {Promise}\n */\n HttpRepository.prototype.query = function (query) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_3, result, _a, _b;\n return tslib_1.__generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId, \"get\", this.getCredentials(), {\n query: JSON.stringify(query.optimize().toArray())\n .replace(/&/g, \"%26\"),\n }, {})];\n case 1:\n response = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n response_3 = _c.sent();\n throw HttpRepository.createErrorFromResponse(response_3);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n result = this.applyTransformersToResult(result);\n if (!(typeof globalThis !== \"undefined\" &&\n typeof globalThis.apisearchItemsTransformation === \"function\")) return [3 /*break*/, 5];\n _b = (_a = result).withItems;\n return [4 /*yield*/, globalThis.apisearchItemsTransformation(result.getItems())];\n case 4:\n _b.apply(_a, [_c.sent()]);\n _c.label = 5;\n case 5: return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Get similar items\n *\n * @param {Query} query\n * @param {ItemUUID[]} itemUUIDs\n * @param {number} similarity\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getSimilarItems = function (query, itemUUIDs, similarity) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_4, result;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + '/similar-items', \"get\", this.getCredentials(), {}, {\n query: query.toArray(),\n items_uuid: itemUUIDs.map(function (itemUUID) {\n return itemUUID.toArray();\n }),\n similarity: similarity,\n })];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_4 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_4);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n return [2 /*return*/, this.applyTransformersToResult(result)];\n }\n });\n });\n };\n /**\n * Get recommended items\n *\n * @param {Query} query\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getRecommendedItems = function (query) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_5, result;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + '/recommended-items', \"get\", this.getCredentials(), {}, query.toArray())];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_5 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_5);\n case 3:\n result = Result_1.Result.createFromArray(response.getBody());\n return [2 /*return*/, this.applyTransformersToResult(result)];\n }\n });\n });\n };\n /**\n * Update items\n *\n * @param {Query} query\n * @param {Changes} changes\n *\n * @return {Promise}\n */\n HttpRepository.prototype.updateItems = function (query, changes) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_6;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + this.indexId + \"/items/update-by-query\", \"put\", this.getCredentials(), {}, {\n changes: changes.toArray(),\n query: query.toArray(),\n })];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_6 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_6);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Create index\n *\n * @param {IndexUUID} indexUUID\n * @param {Config} config\n *\n * @return {Promise}\n */\n HttpRepository.prototype.createIndex = function (indexUUID, config) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_7;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"put\", this.getCredentials(), {}, config.toArray())];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_7 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_7);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Delete index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.deleteIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_8;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"delete\", this.getCredentials(), {}, {})];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_8 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_8);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Reset index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.resetIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_9;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/reset\", \"put\", this.getCredentials(), {}, {})];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_9 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_9);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Check index\n *\n * @param {IndexUUID} indexUUID\n *\n * @return {Promise}\n */\n HttpRepository.prototype.checkIndex = function (indexUUID) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_10;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID(), \"head\", this.getCredentials(), {}, {})];\n case 1:\n response = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_10 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_10);\n case 3: return [2 /*return*/, response.getCode() === 200];\n }\n });\n });\n };\n /**\n * Check index\n *\n * @return {Promise}\n */\n HttpRepository.prototype.getIndices = function () {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response, response_11, result, _i, _a, indexAsArray;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\", \"get\", this.getCredentials(), {}, {})];\n case 1:\n response = _b.sent();\n return [3 /*break*/, 3];\n case 2:\n response_11 = _b.sent();\n throw HttpRepository.createErrorFromResponse(response_11);\n case 3:\n result = [];\n for (_i = 0, _a = response.getBody(); _i < _a.length; _i++) {\n indexAsArray = _a[_i];\n result.push(Index_1.Index.createFromArray(indexAsArray));\n }\n return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Configure index\n *\n * @param {IndexUUID} indexUUID\n * @param {Config} config\n *\n * @return {Promise}\n */\n HttpRepository.prototype.configureIndex = function (indexUUID, config) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var response_12;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/configure\", \"put\", this.getCredentials(), {}, config.toArray())];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n response_12 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_12);\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @param indexUUID\n * @param itemUUID\n * @param userId\n * @param queryString\n * @param interaction\n * @param site\n * @param device\n * @param position\n */\n HttpRepository.prototype.pushInteraction = function (indexUUID, itemUUID, userId, queryString, interaction, site, device, position) {\n if (site === void 0) { site = null; }\n if (device === void 0) { device = null; }\n if (position === void 0) { position = 0; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var parameters, response_13;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n parameters = {\n query_string: queryString,\n site: site,\n device: device,\n user_id: userId,\n position: position,\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/items/\" + itemUUID.composedUUID() + \"/interaction/\" + interaction, \"post\", {\n token: this.token,\n }, parameters, {})];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_13 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_13);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @param {IndexUUID} indexUUID\n * @param {string} userId\n * @param {ItemUUID[]} itemUUIDs\n * @param {string} site\n * @param {string} device\n *\n * @return {Promise}\n */\n HttpRepository.prototype.purchase = function (indexUUID, userId, itemUUIDs, site, device) {\n if (site === void 0) { site = null; }\n if (device === void 0) { device = null; }\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var parameters, response_14;\n return tslib_1.__generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n parameters = {\n site: site,\n device: device,\n user_id: userId,\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.httpClient.get(\"/\" + this.appId + \"/indices/\" + indexUUID.composedUUID() + \"/purchase\", \"post\", {\n token: this.token,\n }, parameters, {\n items_uuid: itemUUIDs.map(function (itemUUID) {\n return itemUUID.toArray();\n }),\n })];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n response_14 = _a.sent();\n throw HttpRepository.createErrorFromResponse(response_14);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n *\n */\n HttpRepository.prototype.getHttpClient = function () {\n return this.httpClient;\n };\n /**\n * Get query values\n *\n * @returns any\n */\n HttpRepository.prototype.getCredentials = function () {\n return {\n app_id: this.appId,\n token: this.token,\n };\n };\n /**\n * Apply transformers to results\n *\n * @param {Result} result\n *\n * @return {Result}\n */\n HttpRepository.prototype.applyTransformersToResult = function (result) {\n if (!this.transformer.hasReadTransformers()) {\n return result;\n }\n var subresults = result.getSubresults();\n if (Object.keys(subresults).length > 0) {\n Object.keys(subresults).map(function (key) {\n subresults[key] = this.applyTransformersToResult(subresults[key]);\n }.bind(this));\n return Result_1.Result.createMultiresults(subresults);\n }\n return Result_1.Result.create(result.getQueryUUID(), result.getTotalItems(), result.getTotalHits(), result.getAggregations(), result.getSuggestions(), this\n .transformer\n .fromItems(result.getItems()), result.getAutocomplete());\n };\n /**\n * @param response\n * @private\n */\n HttpRepository.createErrorFromResponse = function (response) {\n var error;\n if (response instanceof Response_1.Response) {\n switch (response.getCode()) {\n case ResourceNotAvailableError_1.ResourceNotAvailableError.getTransportableHTTPError():\n error = new ResourceNotAvailableError_1.ResourceNotAvailableError(response.getBody().message);\n break;\n case InvalidTokenError_1.InvalidTokenError.getTransportableHTTPError():\n error = new InvalidTokenError_1.InvalidTokenError(response.getBody().message);\n break;\n case InvalidFormatError_1.InvalidFormatError.getTransportableHTTPError():\n error = new InvalidFormatError_1.InvalidFormatError(response.getBody().message);\n break;\n case ResourceExistsError_1.ResourceExistsError.getTransportableHTTPError():\n error = new ResourceExistsError_1.ResourceExistsError(response.getBody().message);\n break;\n case ConnectionError_1.ConnectionError.getTransportableHTTPError():\n error = new ConnectionError_1.ConnectionError(response.getBody().message);\n break;\n }\n }\n return undefined === error\n ? UnknownError_1.UnknownError.createUnknownError()\n : error;\n };\n return HttpRepository;\n}(Repository_1.Repository));\nexports.HttpRepository = HttpRepository;\n","\"use strict\";\nexports.__esModule = true;\nexports.Repository = void 0;\nvar tslib_1 = require(\"tslib\");\n/**\n * Aggregation class\n */\nvar Repository = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param appId\n * @param indexId\n * @param token\n */\n function Repository(appId, indexId, token) {\n this.itemsToUpdate = [];\n this.itemsToDelete = [];\n this.appId = appId;\n this.indexId = indexId;\n this.token = token;\n }\n /**\n * Reset cached elements\n */\n Repository.prototype.resetCachedElements = function () {\n this.itemsToUpdate = [];\n this.itemsToDelete = [];\n };\n /**\n * Add element\n *\n * @param item\n */\n Repository.prototype.addItem = function (item) {\n this.itemsToUpdate.push(item);\n };\n /**\n * Add elements\n *\n * @param items\n */\n Repository.prototype.addItems = function (items) {\n for (var i in items) {\n this.addItem(items[i]);\n }\n };\n /**\n * Delete item\n *\n * @param itemUUID\n */\n Repository.prototype.deleteItem = function (itemUUID) {\n this.itemsToDelete.push(itemUUID);\n };\n /**\n * Delete items\n *\n * @param itemsUUID\n */\n Repository.prototype.deleteItems = function (itemsUUID) {\n for (var i in itemsUUID) {\n this.deleteItem(itemsUUID[i]);\n }\n };\n /**\n * flush\n *\n * @param bulkNumber\n * @param skipIfLess\n *\n * @return {Promise}\n */\n Repository.prototype.flush = function (bulkNumber, skipIfLess) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var promise, resetCachedElements;\n var _this = this;\n return tslib_1.__generator(this, function (_a) {\n if (!bulkNumber) {\n bulkNumber = 500;\n }\n if (!skipIfLess) {\n skipIfLess = false;\n }\n if (skipIfLess &&\n this.itemsToUpdate.length < bulkNumber) {\n return [2 /*return*/];\n }\n promise = Promise.all(Repository\n .chunkArray(this.itemsToUpdate, bulkNumber)\n .map(function (arrayOfItems) {\n return _this.flushUpdateItems(arrayOfItems);\n })\n .concat(Repository\n .chunkArray(this.itemsToDelete, bulkNumber)\n .map(function (arrayOfItemsUUID) {\n return _this.flushDeleteItems(arrayOfItemsUUID);\n })));\n resetCachedElements = function () {\n _this.resetCachedElements();\n };\n promise.then(resetCachedElements, resetCachedElements);\n return [2 /*return*/, promise];\n });\n });\n };\n /**\n * Make chunks of n elements\n *\n * @param array\n * @param chunk\n *\n * @return any[]\n */\n Repository.chunkArray = function (array, chunk) {\n var arrayChunked = [];\n for (var i = 0, j = array.length; i < j; i += chunk) {\n arrayChunked.push(array.slice(i, i + chunk));\n }\n return arrayChunked;\n };\n return Repository;\n}());\nexports.Repository = Repository;\n","\"use strict\";\nexports.__esModule = true;\nexports.Counter = void 0;\nvar Metadata_1 = require(\"../Model/Metadata\");\n/**\n * Aggregation class\n */\nvar Counter = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param values\n * @param used\n * @param n\n */\n function Counter(values, used, n) {\n this.values = values;\n this.used = used;\n this.n = n;\n }\n /**\n * Get id\n *\n * @return {string|null}\n */\n Counter.prototype.getId = function () {\n return typeof this.values.id == \"string\"\n ? this.values.id\n : null;\n };\n /**\n * Get name\n *\n * @return {string|null}\n */\n Counter.prototype.getName = function () {\n return typeof this.values.name == \"string\"\n ? this.values.name\n : null;\n };\n /**\n * Get slug\n *\n * @return {string|null}\n */\n Counter.prototype.getSlug = function () {\n return typeof this.values.slug == \"string\"\n ? this.values.slug\n : null;\n };\n /**\n * Get level\n *\n * @return {number}\n */\n Counter.prototype.getLevel = function () {\n return typeof this.values.level == \"number\"\n ? this.values.level\n : 0;\n };\n /**\n * Get values\n *\n * @returns {{}}\n */\n Counter.prototype.getValues = function () {\n return this.values;\n };\n /**\n * Is used\n *\n * @returns {boolean}\n */\n Counter.prototype.isUsed = function () {\n return this.used;\n };\n /**\n * Get N\n *\n * @returns {number}\n */\n Counter.prototype.getN = function () {\n return this.n;\n };\n /**\n * Create by active elements\n *\n * @param name\n * @param n\n * @param activeElements\n */\n Counter.createByActiveElements = function (name, n, activeElements) {\n var values = Metadata_1.Metadata.fromMetadata(name);\n if (values == null) {\n return null;\n }\n var i = activeElements.length;\n var inActiveElements = false;\n while (i--) {\n if (activeElements[i] == values.id) {\n inActiveElements = true;\n }\n }\n return new Counter(values, inActiveElements, n);\n };\n /**\n * To array\n *\n * @return {{}}\n */\n Counter.prototype.toArray = function () {\n var values = {\n values: this.values,\n n: this.n,\n };\n if (this.used === true) {\n values.used = true;\n }\n return values;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {Counter}\n */\n Counter.createFromArray = function (array) {\n array = JSON.parse(JSON.stringify(array));\n return new Counter(array.values, (typeof array.used == \"boolean\")\n ? array.used\n : false, array.n);\n };\n return Counter;\n}());\nexports.Counter = Counter;\n","\"use strict\";\nexports.__esModule = true;\nexports.Result = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar ResultAggregations_1 = require(\"./ResultAggregations\");\n/**\n * Result class\n */\nvar Result = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param queryUUID\n * @param totalItems\n * @param totalHits\n */\n function Result(queryUUID, totalItems, totalHits) {\n this.items = [];\n this.autocomplete = null;\n this.suggestions = [];\n this.subresults = {};\n this.metadata = {};\n this.queryUUID = queryUUID;\n this.totalItems = totalItems;\n this.totalHits = totalHits;\n }\n /**\n * @param queryUUID\n * @param totalItems\n * @param totalHits\n * @param aggregations\n * @param suggestions\n * @param items\n * @param autocomplete\n * @param metadata\n */\n Result.create = function (queryUUID, totalItems, totalHits, aggregations, suggestions, items, autocomplete, metadata) {\n if (autocomplete === void 0) { autocomplete = null; }\n if (metadata === void 0) { metadata = {}; }\n var result = new Result(queryUUID, totalItems, totalHits);\n result.aggregations = aggregations;\n result.suggestions = suggestions;\n result.items = items;\n result.autocomplete = autocomplete;\n result.metadata = metadata;\n return result;\n };\n /**\n * Create multi results\n *\n * @param subresults\n *\n * @returns {Result}\n */\n Result.createMultiresults = function (subresults) {\n var result = new Result('', 0, 0);\n result.subresults = subresults;\n return result;\n };\n /**\n * Add item\n *\n * @param item\n */\n Result.prototype.addItem = function (item) {\n this.items.push(item);\n };\n /**\n * Get items\n *\n * @return {Item[]}\n */\n Result.prototype.getItems = function () {\n return this.items;\n };\n /**\n * @param items\n */\n Result.prototype.withItems = function (items) {\n this.items = items;\n };\n /**\n * Get items grouped by types\n *\n * @return {any[]}\n */\n Result.prototype.getItemsGroupedByTypes = function () {\n if (this.itemsGroupedByTypeCache instanceof Object &&\n Object.keys(this.itemsGroupedByTypeCache).length > 0) {\n return this.itemsGroupedByTypeCache;\n }\n var itemsGroupedByTypes = {};\n for (var i in this.items) {\n var item = this.items[i];\n if (!(itemsGroupedByTypes[item.getType()] instanceof Array)) {\n itemsGroupedByTypes[item.getType()] = [];\n }\n itemsGroupedByTypes[item.getType()].push(item);\n }\n this.itemsGroupedByTypeCache = itemsGroupedByTypes;\n return itemsGroupedByTypes;\n };\n /**\n * Get items by type\n *\n * @param type\n *\n * @return {Array}\n */\n Result.prototype.getItemsByType = function (type) {\n var itemsGroupedByTypes = this.getItemsGroupedByTypes();\n return itemsGroupedByTypes[type] == null\n ? []\n : itemsGroupedByTypes[type];\n };\n /**\n * Get items by types\n *\n * @param types\n */\n Result.prototype.getItemsByTypes = function (types) {\n return this.items.filter(function (item) { return types.indexOf(item.getType()) >= 0; });\n };\n /**\n * Get first item\n *\n * @return {Item}\n */\n Result.prototype.getFirstItem = function () {\n return this.items.length > 0\n ? this.items[0]\n : null;\n };\n /**\n * Set aggregations\n *\n * @param aggregations\n */\n Result.prototype.setAggregations = function (aggregations) {\n this.aggregations = aggregations;\n };\n /**\n * Get aggregations\n *\n * @return {ResultAggregations}\n */\n Result.prototype.getAggregations = function () {\n return this.aggregations instanceof ResultAggregations_1.ResultAggregations\n ? this.aggregations\n : null;\n };\n /**\n * Get aggregation\n *\n * @param name\n *\n * @return {null}\n */\n Result.prototype.getAggregation = function (name) {\n return this.aggregations == null\n ? null\n : this.aggregations.getAggregation(name);\n };\n /**\n * Has no empty aggregation\n *\n * @param name\n *\n * @return {boolean}\n */\n Result.prototype.hasNotEmptyAggregation = function (name) {\n return this.aggregations == null\n ? false\n : this.aggregations.hasNotEmptyAggregation(name);\n };\n /**\n * Get suggestions\n *\n * @return {string[]}\n */\n Result.prototype.getSuggestions = function () {\n return this.suggestions;\n };\n /**\n * Get autocomplete\n *\n * @return {string|null}\n */\n Result.prototype.getAutocomplete = function () {\n return this.autocomplete;\n };\n /**\n * Get query uuid\n *\n * @return {string}\n */\n Result.prototype.getQueryUUID = function () {\n return this.queryUUID;\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n Result.prototype.getTotalItems = function () {\n return this.totalItems;\n };\n /**\n * Get total hits\n *\n * @return {number}\n */\n Result.prototype.getTotalHits = function () {\n return this.totalHits;\n };\n /**\n * Get subresults\n *\n * @return Object\n */\n Result.prototype.getSubresults = function () {\n return this.subresults;\n };\n /**\n * @return any\n */\n Result.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * @param name\n */\n Result.prototype.getMetadataValue = function (name) {\n var _a;\n return (_a = this.metadata[name]) !== null && _a !== void 0 ? _a : null;\n };\n /**\n * to array\n *\n * @return {{query: any, total_items: number, total_hits: number, items:any[], aggregations: any, suggestions: string[]}}\n */\n Result.prototype.toArray = function () {\n var array = {\n query_uuid: this.queryUUID,\n total_items: this.totalItems,\n total_hits: this.totalHits,\n items: this.items.map(function (item) { return item.toArray(); }),\n aggregations: this.aggregations == null\n ? null\n : this.aggregations.toArray(),\n suggests: this.suggestions,\n autocomplete: this.autocomplete === null\n ? undefined\n : this.autocomplete,\n metadata: this.metadata,\n };\n if (this.subresults instanceof Object &&\n Object.keys(this.subresults).length) {\n array.subresults = {};\n for (var i in this.subresults) {\n var subresult = this.subresults[i];\n array.subresults[i] = subresult.toArray();\n }\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {Result}\n */\n Result.createFromArray = function (array) {\n var result = Result.create(array.query_uuid\n ? array.query_uuid\n : '', array.total_items\n ? array.total_items\n : 0, array.total_hits\n ? array.total_hits\n : 0, array.aggregations instanceof Object\n ? ResultAggregations_1.ResultAggregations.createFromArray(array.aggregations)\n : null, array.suggests\n ? array.suggests\n : [], array.items instanceof Array\n ? array.items.map(function (itemAsArray) { return Item_1.Item.createFromArray(itemAsArray); })\n : [], array.autocomplete === undefined\n ? null\n : array.autocomplete, array.metadata === undefined\n ? {}\n : array.metadata);\n /**\n * Subqueries\n */\n var subresultsAsArray = typeof array.subresults === typeof {}\n ? array.subresults\n : {};\n for (var i in subresultsAsArray) {\n result.subresults[i] = Result.createFromArray(subresultsAsArray[i]);\n }\n return result;\n };\n return Result;\n}());\nexports.Result = Result;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResultAggregation = void 0;\nvar tslib_1 = require(\"tslib\");\nvar Filter_1 = require(\"../Query/Filter\");\nvar Counter_1 = require(\"./Counter\");\n/**\n * ResultAggregation class\n */\nvar ResultAggregation = /** @class */ (function () {\n /**\n * @param name\n * @param applicationType\n * @param totalElements\n * @param activeElements\n * @param metadata\n */\n function ResultAggregation(name, applicationType, totalElements, activeElements, metadata) {\n if (metadata === void 0) { metadata = {}; }\n this.counters = {};\n this.highestActiveElement = 0;\n this.name = name;\n this.applicationType = applicationType;\n this.totalElements = totalElements;\n this.activeElements = {};\n this.metadata = metadata;\n for (var i in activeElements) {\n var activeElement = activeElements[i];\n this.activeElements[activeElement] = activeElement;\n }\n }\n /**\n * Add counter\n *\n * @param name\n * @param counter\n */\n ResultAggregation.prototype.addCounter = function (name, counter) {\n if (counter == 0) {\n return;\n }\n var counterInstance = Counter_1.Counter.createByActiveElements(name, counter, Object.keys(this.activeElements));\n if (!(counterInstance instanceof Counter_1.Counter)) {\n return;\n }\n if ((this.applicationType & Filter_1.FILTER_MUST_ALL_WITH_LEVELS) &&\n (this.applicationType & ~Filter_1.FILTER_MUST_ALL) &&\n counterInstance.isUsed()) {\n this.activeElements[counterInstance.getId()] = counterInstance;\n this.highestActiveElement = Math.max(counterInstance.getLevel(), this.highestActiveElement);\n return;\n }\n this.counters[counterInstance.getId()] = counterInstance;\n };\n /**\n * Get name\n *\n * @return {string}\n */\n ResultAggregation.prototype.getName = function () {\n return this.name;\n };\n /**\n * Get counter\n *\n * @return {any}\n */\n ResultAggregation.prototype.getCounters = function () {\n return this.counters;\n };\n /**\n *\n */\n ResultAggregation.prototype.getMetadata = function () {\n return this.metadata;\n };\n /**\n * Return if the aggregation belongs to a filter.\n *\n * @return {boolean}\n */\n ResultAggregation.prototype.isFilter = function () {\n return (this.applicationType & Filter_1.FILTER_MUST_ALL) > 0;\n };\n /**\n * Aggregation has levels.\n *\n * @return {boolean}\n */\n ResultAggregation.prototype.hasLevels = function () {\n return (this.applicationType & Filter_1.FILTER_MUST_ALL_WITH_LEVELS) > 0;\n };\n /**\n * Get counter by name\n *\n * @param name\n *\n * @return {null}\n */\n ResultAggregation.prototype.getCounter = function (name) {\n return this.counters[name] instanceof Counter_1.Counter\n ? this.counters[name]\n : null;\n };\n /**\n * Get all elements\n *\n * @return {{}}\n */\n ResultAggregation.prototype.getAllElements = function () {\n return tslib_1.__assign(tslib_1.__assign({}, this.activeElements), this.counters);\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n ResultAggregation.prototype.getTotalElements = function () {\n return this.totalElements;\n };\n /**\n * Get active elements\n *\n * @return {any}\n */\n ResultAggregation.prototype.getActiveElements = function () {\n if (Object.keys(this.activeElements).length === 0) {\n return {};\n }\n if (this.applicationType === Filter_1.FILTER_MUST_ALL_WITH_LEVELS) {\n var value = null;\n for (var i in this.activeElements) {\n var activeElement = this.activeElements[i];\n if (!(activeElement instanceof Counter_1.Counter)) {\n continue;\n }\n if (value == null) {\n value = activeElement;\n }\n value = value.getLevel() > activeElement.getLevel()\n ? value\n : activeElement;\n }\n return value instanceof Counter_1.Counter\n ? { 0: value }\n : null;\n }\n return this.activeElements;\n };\n /**\n * Clean results by level and remove all levels higher than the lowest.\n */\n ResultAggregation.prototype.cleanCountersByLevel = function () {\n for (var i in this.counters) {\n var counter = this.counters[i];\n if (counter.getLevel() !== this.highestActiveElement + 1) {\n delete this.counters[i];\n }\n }\n };\n /**\n * Is empty\n *\n * @returns {boolean}\n */\n ResultAggregation.prototype.isEmpty = function () {\n return Object.keys(this.activeElements).length == 0 &&\n Object.keys(this.counters).length == 0;\n };\n /**\n * To array\n *\n * @return {any}\n */\n ResultAggregation.prototype.toArray = function () {\n var array = {\n name: this.name,\n counters: [],\n active_elements: [],\n metadata: this.metadata\n };\n for (var i in this.counters) {\n array.counters.push(this.counters[i].toArray());\n }\n if (this.applicationType !== Filter_1.FILTER_AT_LEAST_ONE) {\n array.application_type = this.applicationType;\n }\n if (this.totalElements > 0) {\n array.total_elements = this.totalElements;\n }\n for (var i in this.activeElements) {\n var activeElement = this.activeElements[i];\n array.active_elements.push(activeElement instanceof Counter_1.Counter\n ? activeElement.toArray()\n : activeElement);\n }\n if (this.highestActiveElement > 0) {\n array.highest_active_level = this.highestActiveElement;\n }\n if (array.counters.length === 0) {\n delete array.counters;\n }\n if (array.active_elements.length === 0) {\n delete array.active_elements;\n }\n if (Object.keys(array.metadata).length === 0) {\n delete array.metadata;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n */\n ResultAggregation.createFromArray = function (array) {\n var activeElements = [];\n var activeElementsAsArray = array.active_elements;\n activeElementsAsArray = typeof activeElementsAsArray === typeof []\n ? activeElementsAsArray\n : [];\n for (var i in activeElementsAsArray) {\n var activeElementAsArray = activeElementsAsArray[i];\n activeElements.push(typeof activeElementAsArray === typeof {}\n ? Counter_1.Counter.createFromArray(activeElementAsArray)\n : activeElementAsArray);\n }\n var aggregation = new ResultAggregation(array.name, parseInt(array.application_type ? array.application_type : Filter_1.FILTER_AT_LEAST_ONE), parseInt(array.total_elements ? array.total_elements : 0), []);\n aggregation.activeElements = activeElements;\n var countersAsArray = typeof array.counters === typeof []\n ? array.counters\n : [];\n for (var i in countersAsArray) {\n var counterAsArray = countersAsArray[i];\n if (typeof counterAsArray !== \"function\") {\n var counter = Counter_1.Counter.createFromArray(counterAsArray);\n aggregation.counters['_' + counter.getId()] = counter;\n }\n }\n aggregation.highestActiveElement = typeof array.highest_active_level === \"number\"\n ? array.highest_active_level\n : 0;\n aggregation.metadata = typeof array.metadata === typeof {}\n ? array.metadata\n : {};\n return aggregation;\n };\n return ResultAggregation;\n}());\nexports.ResultAggregation = ResultAggregation;\n","\"use strict\";\nexports.__esModule = true;\nexports.ResultAggregations = void 0;\nvar ResultAggregation_1 = require(\"./ResultAggregation\");\n/**\n * ResultAggregation class\n */\nvar ResultAggregations = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param totalElements\n */\n function ResultAggregations(totalElements) {\n this.aggregations = {};\n this.totalElements = totalElements;\n }\n /**\n * Add aggregation\n *\n * @param name\n * @param aggregation\n */\n ResultAggregations.prototype.addAggregation = function (name, aggregation) {\n this.aggregations[name] = aggregation;\n };\n /**\n * Get aggregations\n *\n * @returns {{}}\n */\n ResultAggregations.prototype.getAggregations = function () {\n return this.aggregations;\n };\n /**\n * Get aggregation\n *\n * @param name\n *\n * @returns {Aggregation|null}\n */\n ResultAggregations.prototype.getAggregation = function (name) {\n return this.aggregations[name] instanceof ResultAggregation_1.ResultAggregation\n ? this.aggregations[name]\n : null;\n };\n /**\n * Has not empty aggregation\n *\n * @param name\n *\n * @returns {boolean}\n */\n ResultAggregations.prototype.hasNotEmptyAggregation = function (name) {\n var aggregation = this.getAggregation(name);\n return (aggregation instanceof ResultAggregation_1.ResultAggregation) &&\n (!aggregation.isEmpty());\n };\n /**\n * Get total elements\n *\n * @return {number}\n */\n ResultAggregations.prototype.getTotalElements = function () {\n return this.totalElements;\n };\n /**\n * To array\n *\n * @return {{total_elements?: number, aggregations?: {}}}\n */\n ResultAggregations.prototype.toArray = function () {\n var aggregationCollection = {};\n for (var i in this.aggregations) {\n aggregationCollection[i] = this.aggregations[i].toArray();\n }\n var array = {};\n if (this.totalElements > 0) {\n array.total_elements = this.totalElements;\n }\n if (Object.keys(aggregationCollection).length > 0) {\n array.aggregations = aggregationCollection;\n }\n return array;\n };\n /**\n * Create from array\n *\n * @param array\n *\n * @return {ResultAggregations}\n */\n ResultAggregations.createFromArray = function (array) {\n var aggregations = new ResultAggregations(typeof array.total_elements === \"number\"\n ? array.total_elements\n : 0);\n if (typeof array.aggregations === typeof {}) {\n for (var i in array.aggregations) {\n aggregations.addAggregation(i, ResultAggregation_1.ResultAggregation.createFromArray(array.aggregations[i]));\n }\n }\n return aggregations;\n };\n return ResultAggregations;\n}());\nexports.ResultAggregations = ResultAggregations;\n","\"use strict\";\nexports.__esModule = true;\n","\"use strict\";\nexports.__esModule = true;\nexports.Transformer = void 0;\nvar Item_1 = require(\"../Model/Item\");\nvar ItemUUID_1 = require(\"../Model/ItemUUID\");\n/**\n * Transformer\n */\nvar Transformer = /** @class */ (function () {\n function Transformer() {\n this.readTransformers = [];\n this.writeTransformers = [];\n }\n /**\n * Add read transformer\n *\n * @param readTransformer\n */\n Transformer.prototype.addReadTransformer = function (readTransformer) {\n this\n .readTransformers\n .push(readTransformer);\n };\n /**\n * @return {boolean}\n */\n Transformer.prototype.hasReadTransformers = function () {\n return this.readTransformers.length > 0;\n };\n /**\n * Add write transformer\n *\n * @param writeTransformer\n */\n Transformer.prototype.addWriteTransformer = function (writeTransformer) {\n this\n .writeTransformers\n .push(writeTransformer);\n };\n /**\n * Items to objects\n *\n * @param items\n *\n * @returns {any[]}\n */\n Transformer.prototype.fromItems = function (items) {\n var objects = [];\n for (var i in items) {\n objects.push(this.fromItem(items[i]));\n }\n return objects;\n };\n /**\n * Item to object\n *\n * @param item\n *\n * @returns {any}\n */\n Transformer.prototype.fromItem = function (item) {\n for (var i in this.readTransformers) {\n var transformer = this.readTransformers[i];\n if (transformer.isValidItem(item)) {\n return transformer.fromItem(item);\n }\n }\n return item;\n };\n /**\n * Objects to items\n *\n * @param objects\n *\n * @returns {Item[]}\n */\n Transformer.prototype.toItems = function (objects) {\n var items = [];\n for (var i in objects) {\n var item = this.toItem(objects[i]);\n if (item instanceof Item_1.Item) {\n items.push(item);\n }\n }\n return items;\n };\n /**\n * Object to item\n *\n * @param object\n *\n * @returns {any}\n */\n Transformer.prototype.toItem = function (object) {\n for (var i in this.writeTransformers) {\n var transformer = this.writeTransformers[i];\n if (transformer.isValidObject(object)) {\n return transformer.toItem(object);\n }\n }\n return object;\n };\n /**\n * Objects to items\n *\n * @param objects\n *\n * @returns {ItemUUID[]}\n */\n Transformer.prototype.toItemUUIDs = function (objects) {\n var itemUUIDs = [];\n for (var i in objects) {\n var itemUUID = this.toItemUUID(objects[i]);\n if (itemUUID instanceof ItemUUID_1.ItemUUID) {\n itemUUIDs.push(itemUUID);\n }\n }\n return itemUUIDs;\n };\n /**\n * Object to item\n *\n * @param object\n *\n * @returns {any}\n */\n Transformer.prototype.toItemUUID = function (object) {\n for (var i in this.writeTransformers) {\n var transformer = this.writeTransformers[i];\n if (transformer.isValidObject(object)) {\n return transformer.toItemUUID(object);\n }\n }\n return object;\n };\n return Transformer;\n}());\nexports.Transformer = Transformer;\n","\"use strict\";\nexports.__esModule = true;\n","\"use strict\";\nexports.__esModule = true;\nvar tslib_1 = require(\"tslib\");\nvar Apisearch_1 = require(\"./Apisearch\");\nexports[\"default\"] = Apisearch_1[\"default\"];\ntslib_1.__exportStar(require(\"./Config/Config\"), exports);\ntslib_1.__exportStar(require(\"./Config/Synonym\"), exports);\ntslib_1.__exportStar(require(\"./Error/ConnectionError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ErrorWithMessage\"), exports);\ntslib_1.__exportStar(require(\"./Error/EventError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ForbiddenError\"), exports);\ntslib_1.__exportStar(require(\"./Error/InvalidFormatError\"), exports);\ntslib_1.__exportStar(require(\"./Error/InvalidTokenError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ResourceExistsError\"), exports);\ntslib_1.__exportStar(require(\"./Error/ResourceNotAvailableError\"), exports);\ntslib_1.__exportStar(require(\"./Error/UnsupportedContentTypeError\"), exports);\ntslib_1.__exportStar(require(\"./Geo/LocationRange\"), exports);\ntslib_1.__exportStar(require(\"./Http/AxiosClient\"), exports);\ntslib_1.__exportStar(require(\"./Http/Client\"), exports);\ntslib_1.__exportStar(require(\"./Http/HttpClient\"), exports);\ntslib_1.__exportStar(require(\"./Http/Response\"), exports);\ntslib_1.__exportStar(require(\"./Http/CacheClient\"), exports);\ntslib_1.__exportStar(require(\"./Model/Changes\"), exports);\ntslib_1.__exportStar(require(\"./Model/Coordinate\"), exports);\ntslib_1.__exportStar(require(\"./Model/Item\"), exports);\ntslib_1.__exportStar(require(\"./Model/ItemUUID\"), exports);\ntslib_1.__exportStar(require(\"./Model/Metadata\"), exports);\ntslib_1.__exportStar(require(\"./Model/User\"), exports);\ntslib_1.__exportStar(require(\"./Query/Aggregation\"), exports);\ntslib_1.__exportStar(require(\"./Query/Filter\"), exports);\ntslib_1.__exportStar(require(\"./Query/Query\"), exports);\ntslib_1.__exportStar(require(\"./Query/Range\"), exports);\ntslib_1.__exportStar(require(\"./Query/ScoreStrategies\"), exports);\ntslib_1.__exportStar(require(\"./Query/ScoreStrategy\"), exports);\ntslib_1.__exportStar(require(\"./Query/SortBy\"), exports);\ntslib_1.__exportStar(require(\"./Repository/HttpRepository\"), exports);\ntslib_1.__exportStar(require(\"./Repository/Repository\"), exports);\ntslib_1.__exportStar(require(\"./Result/ResultAggregation\"), exports);\ntslib_1.__exportStar(require(\"./Result/ResultAggregations\"), exports);\ntslib_1.__exportStar(require(\"./Result/Counter\"), exports);\ntslib_1.__exportStar(require(\"./Result/Result\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/ReadTransformer\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/Transformer\"), exports);\ntslib_1.__exportStar(require(\"./Transformer/WriteTransformer\"), exports);\n","\"use strict\";\n/*\n\nTypeScript Md5\n==============\n\nBased on work by\n* Joseph Myers: http://www.myersdaily.org/joseph/javascript/md5-text.html\n* André Cruz: https://github.com/satazor/SparkMD5\n* Raymond Hill: https://github.com/gorhill/yamd5.js\n\nEffectively a TypeScrypt re-write of Raymond Hill JS Library\n\nThe MIT License (MIT)\n\nCopyright (C) 2014 Raymond Hill\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n Version 2, December 2004\n\n Copyright (C) 2015 André Cruz \n\n Everyone is permitted to copy and distribute verbatim or modified\n copies of this license document, and changing it is allowed as long\n as the name is changed.\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. You just DO WHAT YOU WANT TO.\n\n\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\n;\nvar Md5 = /** @class */ (function () {\n function Md5() {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state = new Int32Array(4);\n this._buffer = new ArrayBuffer(68);\n this._buffer8 = new Uint8Array(this._buffer, 0, 68);\n this._buffer32 = new Uint32Array(this._buffer, 0, 17);\n this.start();\n }\n Md5.hashStr = function (str, raw) {\n if (raw === void 0) { raw = false; }\n return this.onePassHasher\n .start()\n .appendStr(str)\n .end(raw);\n };\n Md5.hashAsciiStr = function (str, raw) {\n if (raw === void 0) { raw = false; }\n return this.onePassHasher\n .start()\n .appendAsciiStr(str)\n .end(raw);\n };\n Md5._hex = function (x) {\n var hc = Md5.hexChars;\n var ho = Md5.hexOut;\n var n;\n var offset;\n var j;\n var i;\n for (i = 0; i < 4; i += 1) {\n offset = i * 8;\n n = x[i];\n for (j = 0; j < 8; j += 2) {\n ho[offset + 1 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n ho[offset + 0 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n }\n }\n return ho.join('');\n };\n Md5._md5cycle = function (x, k) {\n var a = x[0];\n var b = x[1];\n var c = x[2];\n var d = x[3];\n // ff()\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n // gg()\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n // hh()\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n // ii()\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n };\n Md5.prototype.start = function () {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state.set(Md5.stateIdentity);\n return this;\n };\n // Char to code point to to array conversion:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n // #Example.3A_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown\n Md5.prototype.appendStr = function (str) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var code;\n var i;\n for (i = 0; i < str.length; i += 1) {\n code = str.charCodeAt(i);\n if (code < 128) {\n buf8[bufLen++] = code;\n }\n else if (code < 0x800) {\n buf8[bufLen++] = (code >>> 6) + 0xC0;\n buf8[bufLen++] = code & 0x3F | 0x80;\n }\n else if (code < 0xD800 || code > 0xDBFF) {\n buf8[bufLen++] = (code >>> 12) + 0xE0;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n else {\n code = ((code - 0xD800) * 0x400) + (str.charCodeAt(++i) - 0xDC00) + 0x10000;\n if (code > 0x10FFFF) {\n throw new Error('Unicode standard supports code points up to U+10FFFF');\n }\n buf8[bufLen++] = (code >>> 18) + 0xF0;\n buf8[bufLen++] = (code >>> 12 & 0x3F) | 0x80;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n if (bufLen >= 64) {\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen -= 64;\n buf32[0] = buf32[16];\n }\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.appendAsciiStr = function (str) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var i;\n var j = 0;\n for (;;) {\n i = Math.min(str.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = str.charCodeAt(j++);\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.appendByteArray = function (input) {\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var bufLen = this._bufferLength;\n var i;\n var j = 0;\n for (;;) {\n i = Math.min(input.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = input[j++];\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n };\n Md5.prototype.getState = function () {\n var s = this._state;\n return {\n buffer: String.fromCharCode.apply(null, Array.from(this._buffer8)),\n buflen: this._bufferLength,\n length: this._dataLength,\n state: [s[0], s[1], s[2], s[3]]\n };\n };\n Md5.prototype.setState = function (state) {\n var buf = state.buffer;\n var x = state.state;\n var s = this._state;\n var i;\n this._dataLength = state.length;\n this._bufferLength = state.buflen;\n s[0] = x[0];\n s[1] = x[1];\n s[2] = x[2];\n s[3] = x[3];\n for (i = 0; i < buf.length; i += 1) {\n this._buffer8[i] = buf.charCodeAt(i);\n }\n };\n Md5.prototype.end = function (raw) {\n if (raw === void 0) { raw = false; }\n var bufLen = this._bufferLength;\n var buf8 = this._buffer8;\n var buf32 = this._buffer32;\n var i = (bufLen >> 2) + 1;\n this._dataLength += bufLen;\n var dataBitsLen = this._dataLength * 8;\n buf8[bufLen] = 0x80;\n buf8[bufLen + 1] = buf8[bufLen + 2] = buf8[bufLen + 3] = 0;\n buf32.set(Md5.buffer32Identity.subarray(i), i);\n if (bufLen > 55) {\n Md5._md5cycle(this._state, buf32);\n buf32.set(Md5.buffer32Identity);\n }\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n if (dataBitsLen <= 0xFFFFFFFF) {\n buf32[14] = dataBitsLen;\n }\n else {\n var matches = dataBitsLen.toString(16).match(/(.*?)(.{0,8})$/);\n if (matches === null) {\n return;\n }\n var lo = parseInt(matches[2], 16);\n var hi = parseInt(matches[1], 16) || 0;\n buf32[14] = lo;\n buf32[15] = hi;\n }\n Md5._md5cycle(this._state, buf32);\n return raw ? this._state : Md5._hex(this._state);\n };\n // Private Static Variables\n Md5.stateIdentity = new Int32Array([1732584193, -271733879, -1732584194, 271733878]);\n Md5.buffer32Identity = new Int32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\n Md5.hexChars = '0123456789abcdef';\n Md5.hexOut = [];\n // Permanent instance is to use for one-call hashing\n Md5.onePassHasher = new Md5();\n return Md5;\n}());\nexports.Md5 = Md5;\nif (Md5.hashStr('hello') !== '5d41402abc4b2a76b9719d911017c592') {\n throw new Error('Md5 self test failed.');\n}\n//# sourceMappingURL=md5.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(3607);\n"],"names":["root","factory","exports","module","define","amd","self","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","transitionalDefaults","AxiosError","CanceledError","parseProtocol","config","Promise","resolve","reject","onCanceled","requestData","data","requestHeaders","headers","responseType","done","cancelToken","unsubscribe","signal","removeEventListener","isFormData","isStandardBrowserEnv","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","value","err","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","ETIMEDOUT","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","protocol","ERR_BAD_REQUEST","send","bind","Axios","mergeConfig","axios","createInstance","defaultConfig","context","instance","prototype","extend","create","instanceConfig","CancelToken","isCancel","VERSION","toFormData","Cancel","all","promises","spread","isAxiosError","executor","TypeError","resolvePromise","this","promise","token","then","_listeners","i","l","length","onfulfilled","_resolve","message","reason","throwIfRequested","listener","push","index","splice","source","c","call","ERR_CANCELED","name","inherits","__CANCEL__","InterceptorManager","dispatchRequest","validator","validators","defaults","interceptors","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","Array","apply","concat","shift","newConfig","onFulfilled","onRejected","error","getUri","generateHTTPMethod","isForm","code","Error","toJSON","description","number","fileName","lineNumber","columnNumber","stack","descriptors","Object","defineProperties","defineProperty","from","customProps","axiosError","toFlatObject","obj","assign","handlers","use","options","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","config1","config2","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","keys","configValue","validateStatus","ERR_BAD_RESPONSE","Math","floor","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","toString","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isFileList","isObjectPayload","isObject","contentType","_FormData","env","FormData","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","arguments","encode","replace","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","exec","callback","arr","formData","convertValue","isTypedArray","Blob","Buffer","build","parentKey","fullKey","endsWith","toArray","el","append","pop","thing","deprecatedWarnings","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","console","warn","schema","allowUnknown","ERR_BAD_OPTION_VALUE","result","ERR_BAD_OPTION","cache","kindOf","str","kindOfTest","getPrototypeOf","isFunction","hasOwnProperty","TypedArray","Uint8Array","constructor","pattern","ArrayBuffer","isView","pipe","product","assignValue","a","b","stripBOM","content","charCodeAt","superConstructor","props","sourceObj","destObj","filter","merged","getOwnPropertyNames","searchString","position","String","lastIndex","__esModule","tslib_1","AxiosClient_1","Query_1","Query_2","Query_3","SortBy_1","HttpRepository_1","Result_1","ResultAggregations_1","Transformer_1","CacheClient_1","Apisearch","createRepository","ensureRepositoryConfigIsValid","__assign","api_version","override_queries","httpClient","http_client","AxiosClient","endpoint","use_cache","CacheClient","HttpRepository","app_id","index_id","Transformer","ensureIsDefined","param","createQueryLocated","coordinate","queryText","page","size","QUERY_DEFAULT_PAGE","QUERY_DEFAULT_SIZE","Query","createLocated","createQuery","createQueryMatchAll","createMatchAll","createQueryByUUID","uuid","createByUUID","createQueryByUUIDs","uuids","_i","createByUUIDs","createEmptyResult","Result","ResultAggregations","createEmptySortBy","SortBy","createEmptyScoreStrategy","Config","DEFAULT_REPLICAS","DEFAULT_SHARDS","Synonym_1","language","storeSearchableMetadata","shards","replicas","synonyms","getLanguage","shouldSearchableMetadataBeStored","addSynonym","synonym","getSynonyms","getShards","getReplicas","store_searchable_metadata","map","createFromArray","array","Synonym","words","getWords","createbyWords","expand","ConnectionError","_super","__extends","getTransportableHTTPError","ErrorWithMessage","EventError","throwEndpointNotAvailable","ForbiddenError","createAppIdIsRequiredException","createIndexIsRequiredException","createTokenIsRequiredException","InvalidFormatError","itemRepresentationNotValid","itemUUIDRepresentationNotValid","composedItemUUIDNotValid","querySortedByDistanceWithoutCoordinate","queryFormatNotValid","coordinateFormatNotValid","configFormatNotValid","tokenFormatNotValid","indexFormatNotValid","indexUUIDFormatNotValid","appUUIDFormatNotValid","campaignFormatNotValid","changesFormatNotValid","boostClauseFormatNotValid","tokenUUIDFormatNotValid","userFormatNotValid","InvalidTokenError","createInvalidTokenPermissions","tokenReference","createInvalidTokenMaxHitsPerQuery","maxHitsPerQuery","ResourceExistsError","indexAvailable","eventsIndexAvailable","logsIndexAvailable","ResourceNotAvailableError","indexNotAvailable","resourceId","eventsIndexNotAvailable","logsIndexNotAvailable","engineNotAvailable","UnknownError","createUnknownError","UnsupportedContentTypeError","createUnsupportedContentTypeException","Square","Polygon","CoordinateAndDistance","LocationRange","Coordinate_1","fromFilterObject","object","getName","toFilterObject","distance","_this","Coordinate","coordinates","topLeftCoordinate","bottomRightCoordinate","top_left","bottom_right","axios_1","__1","Client_1","Response_1","overrideQueries","abortControllers","get","credentials","parameters","__awaiter","axiosRequestConfig","axiosResponse","error_1","__generator","_a","label","rawData","Client","objectToUrlParameters","trys","fetch","sent","Response","urlIsFormatted","generateAbortController","AbortController","retries","ts_md5_1","hits","flushCache","getNumberOfHits","cacheUID","_b","_c","Md5","hashStr","builtParams","HttpClient","body","getCode","getBody","AppUUID","InvalidFormatError_1","createById","getId","composedUUID","Changes","TYPE_ARRAY","TYPE_ARRAY_EXPECTS_ELEMENT","TYPE_ARRAY_ELEMENT_DELETE","TYPE_ARRAY_ELEMENT_ADD","TYPE_ARRAY_ELEMENT_UPDATE","TYPE_LITERAL","TYPE_VALUE","changes","addChange","field","updateElementFromList","condition","addElementInList","deleteElementFromList","getChanges","lat","lon","getLatitude","getLongitude","Index","IndexUUID_1","AppUUID_1","appUUID","isOK","docCount","getUUID","getAppUUID","isOk","getDocCount","getSize","is_ok","doc_count","IndexUUID","Item","ItemUUID_1","metadata","indexedMetadata","searchableMetadata","exactMatchingMetadata","suggest","highlights","promoted","getType","getCoordinate","getDistance","getMetadata","setMetadata","addMetadata","getIndexedMetadata","setIndexedMetadata","addIndexedMetadata","getSearchableMetadata","setSearchableMetadata","addSearchableMetadata","getExactMatchingMetadata","setExactMatchingMetadata","addExactMatchingMetadata","getAllMetadata","allMetadata","getSuggest","getHighlights","getHighlight","isPromoted","setScore","score","getScore","getIndexUUID","indexUUID","itemAsArray","indexed_metadata","searchable_metadata","exact_matching_metadata","is_promoted","app_uuid","index_uuid","item","ItemUUID","composeUUID","getPathByField","createByComposedUUID","Metadata","toMetadata","fromMetadata","values","splittedParts","iterator","lastElement","part","User","attributes","getAttributes","Aggregation","AGGREGATION_NO_LIMIT","AGGREGATION_SORT_BY_NAME_DESC","AGGREGATION_SORT_BY_NAME_ASC","AGGREGATION_SORT_BY_COUNT_DESC","AGGREGATION_SORT_BY_COUNT_ASC","Filter_1","applicationType","filterType","subgroup","sort","limit","getField","getApplicationType","getFilterType","getSubgroup","getSort","getLimit","getPromoted","aggregationAsArray","FILTER_AT_LEAST_ONE","application_type","FILTER_TYPE_FIELD","filter_type","Filter","FILTER_TYPE_QUERY","FILTER_TYPE_GEO","FILTER_TYPE_DATE_RANGE","FILTER_TYPE_RANGE","FILTER_PROMOTE","FILTER_EXCLUDE","FILTER_MUST_ALL_WITH_LEVELS","FILTER_MUST_ALL","filterTerms","getValues","hasValue","getFilterTerms","filterAsArray","filter_terms","NO_MIN_SCORE","Item_1","User_1","Aggregation_1","Filter_2","Aggregation_2","Filter_3","ScoreStrategies_1","UUID","fields","universeFilters","filters","itemsPromoted","aggregations","resultsEnabled","aggregationsEnabled","numberOfSuggestions","highlightsEnabled","autocompleteEnabled","searchableFields","fuzziness","minScore","subqueries","queryOperator","sortByInstance","_query","query","max","ids","disableAggregations","disableSuggestions","_id","createMultiquery","queries","setFields","getFields","filterUniverseByTypes","fieldPath","filterByTypes","aggregate","aggregationSort","filterUniverseByIds","filterByIds","filterUniverseBy","filterBy","filterName","aggregateBy","filterUniverseByRange","rangeType","filterUniverseByDateRange","filterByRange","ranges","aggregateByRange","filterByDateRange","filterUniverseByLocation","locationRange","setSearchableFields","getSearchableFields","sortBy","isSortedByGeoDistance","setCoordinate","aggregateByDateRange","getAggregations","getAggregation","aggregationName","getQueryText","getUniverseFilters","getUniverseFilter","getFilters","getFilter","getFilterByField","fieldName","getSortBy","getFrom","getPage","enableResults","disableResults","areResultsEnabled","enableAggregations","areAggregationsEnabled","setNumberOfSuggestions","getNumberOfSuggestions","enableAutocomplete","disableAutocomplete","areAutocompleteEnabled","enableHighlights","disableHighlights","areHighlightsEnabled","promoteUUID","itemUUID","promoteUUIDs","getItemsPromoted","excludeUUID","excludeUUIDs","getScoreStrategies","scoreStrategies","setScoreStrategies","getFuzziness","setFuzziness","setAutoFuzziness","getMinScore","setMinScore","byUser","user","anonymously","getUser","setMetadataValue","addSubquery","subquery","getSubqueries","identifyWith","forceIndexUUID","setQueryOperator","getQueryOperator","optimize","copy","extraFilters","otherAggregations","startsWith","ef","q","universe_filters","universeFilter","aggregation","results_enabled","autocomplete_enabled","number_of_suggestions","highlight_enabled","aggregations_enabled","searchable_fields","ScoreStrategies","scoreStrategiesAsArray","score_strategies","min_score","items_promoted","query_operator","aggregationsAsArray","sortAsArray","filtersAsArray","universeFiltersAsArray","itemsPromotedAsArray","subqueriesAsArray","Range","RANGE_SEPARATOR","RANGE_INFINITE","RANGE_MINUS_INFINITE","stringToArray","string","to","finalFrom","finalTo","parseInt","arrayToString","finalValues","createRanges","incremental","nextTo","MIN","MAX","AVG","SUM","MULTIPLY","ScoreStrategy_1","createEmpty","scoreMode","addScoreStrategy","scoreStrategy","getScoreMode","score_mode","ScoreStrategy","DEFAULT_FACTOR","DEFAULT_MISSING","SCORE_MODE_MIN","SCORE_MODE_MAX","SCORE_MODE_AVG","SCORE_MODE_SUM","SCORE_MODE_NONE","MODIFIER_SQUARE","MODIFIER_LN","MODIFIER_LOG","MODIFIER_SQRT","MODIFIER_NONE","DECAY_GAUSS","DECAY_EXP","DECAY_LINEAR","DECAY","CUSTOM_FUNCTION","BOOSTING_FIELD_VALUE","DEFAULT_WEIGHT","DEFAULT_TYPE","weight","configuration","getConfigurationValue","element","getWeight","createDefault","createFieldBoosting","factor","missing","modifier","fixFilterFieldPath","createCustomFunction","func","createDecayFunction","origin","scale","offset","decay","SORT_BY_LOCATION_MI_ASC","SORT_BY_LOCATION_KM_ASC","SORT_BY_TYPE_DESC","SORT_BY_TYPE_ASC","SORT_BY_ID_DESC","SORT_BY_ID_ASC","SORT_BY_AL_TUN_TUN","SORT_BY_RANDOM","SORT_BY_SCORE","SORT_BY_MODE_MEDIAN","SORT_BY_MODE_MAX","SORT_BY_MODE_MIN","SORT_BY_MODE_SUM","SORT_BY_MODE_AVG","SORT_BY_DESC","SORT_BY_ASC","SORT_BY_TYPE_RANDOM","SORT_BY_TYPE_FUNCTION","SORT_BY_TYPE_DISTANCE","SORT_BY_TYPE_SCORE","SORT_BY_TYPE_NESTED","SORT_BY_TYPE_FIELD","order","unit","sortsBy","byFieldsValues","shortSortByElements","byFieldValue","byValue","byNestedField","mode","byNestedFieldAndFilter","byFunction","hasRandomSort","getFirstSortAsString","firstSortBy","sortsByAsArray","innerArray","newSortBy","sortByAsArray","ConnectionError_1","InvalidTokenError_1","ResourceExistsError_1","ResourceNotAvailableError_1","UnknownError_1","Index_1","appId","indexId","transformer","getTransformer","addObject","toItem","addItem","deleteObject","toItemUUID","deleteItem","flushUpdateItems","itemsToUpdate","response_1","getCredentials","createErrorFromResponse","flushDeleteItems","itemsToDelete","response_2","response_3","applyTransformersToResult","globalThis","apisearchItemsTransformation","withItems","getItems","getSimilarItems","itemUUIDs","similarity","response_4","items_uuid","getRecommendedItems","response_5","updateItems","response_6","createIndex","response_7","deleteIndex","response_8","resetIndex","response_9","checkIndex","response_10","getIndices","response_11","indexAsArray","configureIndex","response_12","pushInteraction","userId","queryString","interaction","site","device","response_13","query_string","user_id","purchase","response_14","getHttpClient","hasReadTransformers","subresults","getSubresults","createMultiresults","getQueryUUID","getTotalItems","getTotalHits","getSuggestions","fromItems","getAutocomplete","Repository","resetCachedElements","addItems","items","deleteItems","itemsUUID","flush","bulkNumber","skipIfLess","chunkArray","arrayOfItems","arrayOfItemsUUID","chunk","arrayChunked","j","Counter","Metadata_1","used","n","getSlug","slug","getLevel","level","isUsed","getN","createByActiveElements","activeElements","inActiveElements","queryUUID","totalItems","totalHits","autocomplete","suggestions","getItemsGroupedByTypes","itemsGroupedByTypeCache","itemsGroupedByTypes","getItemsByType","getItemsByTypes","types","getFirstItem","setAggregations","hasNotEmptyAggregation","getMetadataValue","query_uuid","total_items","total_hits","suggests","subresult","subresultsAsArray","ResultAggregation","Counter_1","totalElements","counters","highestActiveElement","activeElement","addCounter","counter","counterInstance","getCounters","isFilter","hasLevels","getCounter","getAllElements","getTotalElements","getActiveElements","cleanCountersByLevel","isEmpty","active_elements","total_elements","highest_active_level","activeElementsAsArray","activeElementAsArray","countersAsArray","counterAsArray","ResultAggregation_1","addAggregation","aggregationCollection","readTransformers","writeTransformers","addReadTransformer","readTransformer","addWriteTransformer","writeTransformer","objects","fromItem","isValidItem","toItems","isValidObject","toItemUUIDs","Apisearch_1","__exportStar","_dataLength","_bufferLength","_state","Int32Array","_buffer","_buffer8","_buffer32","Uint32Array","start","raw","onePassHasher","appendStr","end","hashAsciiStr","appendAsciiStr","_hex","x","hc","hexChars","ho","hexOut","_md5cycle","k","d","set","stateIdentity","buf8","buf32","bufLen","min","appendByteArray","input","getState","s","fromCharCode","buflen","state","setState","buf","dataBitsLen","buffer32Identity","subarray","matches","lo","hi","extendStatics","setPrototypeOf","__proto__","p","__","t","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","r","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","_arguments","P","generator","step","next","f","y","g","_","ops","verb","Symbol","op","__createBinding","o","m","k2","__values","__read","ar","__spread","__spreadArrays","il","jl","__await","__asyncGenerator","asyncIterator","resume","fulfill","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","__importStar","mod","default","__importDefault","__classPrivateFieldGet","receiver","privateMap","has","__classPrivateFieldSet","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","enumerable","toStringTag","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/Query/Query.js b/lib/Query/Query.js index 8353336..2f994ad 100644 --- a/lib/Query/Query.js +++ b/lib/Query/Query.js @@ -979,7 +979,7 @@ var Query = /** @class */ (function () { return this.queryOperator; }; Query.prototype.optimize = function () { - var _a, _b, _c; + var _a, _b; var copy = this.toArray(); var extraFilters = []; var otherAggregations = {}; @@ -993,7 +993,7 @@ var Query = /** @class */ (function () { }); copy.aggregations = otherAggregations; copy.metadata = (_b = copy.metadata) !== null && _b !== void 0 ? _b : []; - copy.metadata.ef = ((_c = copy.metadata.ef) !== null && _c !== void 0 ? _c : []).concat(extraFilters); + copy.metadata.ef = extraFilters; return Query.createFromArray(copy); }; /** diff --git a/package.json b/package.json index db899d7..ccc795e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "apisearch", - "version": "0.3.21", + "version": "0.3.22", "description": "Javascript client for Apisearch.", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/src/Query/Query.ts b/src/Query/Query.ts index 0884b0c..8fed3f3 100644 --- a/src/Query/Query.ts +++ b/src/Query/Query.ts @@ -1318,7 +1318,7 @@ export class Query { copy.aggregations = otherAggregations; copy.metadata = copy.metadata ?? []; - copy.metadata.ef = (copy.metadata.ef ?? []).concat(extraFilters); + copy.metadata.ef = extraFilters; return Query.createFromArray(copy); } diff --git a/test/Query/Query.test.ts b/test/Query/Query.test.ts index bd5b5b7..166c751 100644 --- a/test/Query/Query.test.ts +++ b/test/Query/Query.test.ts @@ -871,9 +871,6 @@ describe('Query()', () => { query = query.optimize(); expect(Object.keys(query.getAggregations()).length).to.be.equal(1); expect(query.getMetadata()["ef"]).to.be.deep.equal(['field1', "field3"]); - query = query.optimize(); - expect(Object.keys(query.getAggregations()).length).to.be.equal(1); - expect(query.getMetadata()["ef"]).to.be.deep.equal(['field1', "field3"]); }); }); });