indicator-ui 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","mappings":"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,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA,YAAY,mBAAO,CAAC,uDAAW;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,0EAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,UAAU,mBAAO,CAAC,uDAAW;AAC7B,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;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;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,CAAM;AAC7I;AACA;;AAEA,oBAAoB,gCAAgC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH;AACjH;AACA;AACA;;AAEA;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,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACjmBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,0EAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,EAAE,KAAK,EAIN;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;ACXA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,kDAAkD;;AAElD;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,gBAAgB;AAChB,YAAY;AACZ,YAAY;AACZ,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,mBAAmB;AACnB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAClB,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,oBAAoB;AACpB,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc;AACd,GAAG;AACH;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wJAAyD;AAC3D;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;AACA;;AAEA,YAAY,mBAAO,CAAC,oBAAO;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iGAAiG,eAAe;AAChH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;AAC5B;AACA,qCAAqC;;AAErC,gCAAgC;AAChC;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,sBAAsB;AACtB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,iCAAiC;AACjC;AACA,SAAS;AACT,2BAA2B;AAC3B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA,gFAAgF;AAChF;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;;AAGlB;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2HAA2H;AAC3H;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;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;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,oBAAoB;AACpB,2DAA2D,UAAU;AACrE,yBAAyB,UAAU;AACnC;AACA,aAAa,UAAU;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,4CAA4C;;AAE5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0DAA0D;AAC1D;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gDAAgD,gDAAgD,MAAM,aAAa;;AAEnH;AACA,iDAAiD,kCAAkC,OAAO;;AAE1F,yGAAyG,cAAc,UAAU,gGAAgG,kBAAkB,UAAU,UAAU;;AAEvQ;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;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CC;AACA;;;;;;;;;;;;ACJ7B;;;;;;;;;;;;;;;;ACAA,cAAc,aAAa,+CAA+C,gDAAgD,eAAe,QAAQ,IAAI,0CAA0C,yCAAyC,SAAgB,gBAAgB,wCAAwC,IAAI,mDAAmD,SAAS,iEAAe,IAAI;;;;;;;;;;;;;;;ACA5X;AACP;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACJA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;;;;;;;;;;;;;;;;;;;;;;ACRqD;AACJ;AACQ;AACd;AACQ;;AAEK;AACD;;AAEvD;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,sBAAsB;AACzD;AACA;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA,mCAAmC,eAAe;AAClD;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,cAAc;AAC1D;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,2BAA2B,4DAAW;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,oEAAe;AAC5B;;AAEA;AACA;AACA,gDAAgD,cAAc;AAC9D;;AAEA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,wBAAwB,kEAAc;;AAEtC;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,iDAAiD,iBAAiB;AAClE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC;AACrC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,iDAAiD,iBAAiB;AAClE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC;AACrC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gEAAe;AAC9B;AACA;AACA,mDAAmD,eAAe;AAClE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,uCAAuC,sCAAsC;AAC7E;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,mDAAmD,eAAe;AAClE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,uCAAuC,sCAAsC;AAC7E;AACA,GAAG;;AAEH;AACA;AACA,iBAAiB,oDAAO;;AAExB;AACA,4CAA4C,cAAc;AAC1D;;AAEA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,oBAAoB,0DAAU;;AAE9B;AACA,+CAA+C,cAAc;AAC7D;;AAEA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA,sDAAsD,cAAc;AACpE;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,sBAAsB,8DAAY;;AAElC;AACA,iDAAiD,mBAAmB;AACpE;;AAEA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,wDAAwD,aAAa;AACrE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,wDAAwD,aAAa;AACrE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,sDAAsD,aAAa;AACnE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAc;AAC3D;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,6CAA6C,cAAc;AAC3D;;AAEA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,cAAc;AAC3D;;AAEA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA,yDAAyD,gBAAgB;AACzE;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA,yDAAyD,gBAAgB;AACzE;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,oEAAe;AAC3D;;AAEA;AACA;AACA;AACA,kBAAkB,oEAAe;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,oEAAe;AAC/B,kBAAkB,oEAAe;AACjC;AACA;;;;;;;;;;;;;;;;;ACvwBwD;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA,+CAA+C,oEAAe;AAC9D,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;AACH;;;;;;;;;;;;;;;;AC3FA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA,+BAA+B,iBAAiB;AAChD;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA,+BAA+B,iBAAiB;AAChD;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA,6CAA6C,iBAAiB;AAC9D;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;;AAEA;AACA,gBAAgB,MAAM;AACtB,gBAAgB,MAAM;AACtB;;AAEO;AACP;AACA;AACA;;;;;;;;;;;;;;;;;AC/DsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC5BoD;;AAE7C;AACP,oBAAoB,4DAAa;AACjC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACRqD;;AAE9C;AACP,uBAAuB,kEAAc;AACrC,WAAW;AACX;;;;;;;;;;;;;;;;;;ACLA;AACA;;AAEA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB,kBAAkB,MAAM,WAAW,OAAO,qBAAqB,SAAS,iBAAiB,MAAM,IAAI;AACzI;;;;;;;;;;;;;;;;;;;ACtBmD;AACd;;AAErC;AACA,QAAQ,eAAe;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB,4BAA4B,gEAAa;;AAEzC;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iEAAe,OAAO,EAAC;;;;;;;;;;;;;;;;;;;ACzC4B;AACd;;AAErC;AACA,QAAQ,iBAAiB;AACzB;;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;AACO;AACP,gBAAgB,kDAAM;AACtB,4BAA4B,gEAAa;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,gEAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,SAAS,EAAC;;;;;;;;;;;;;;;;;;AC3Ec;;AAEvC;AACA,QAAQ,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,SAAS,oDAAO;AAChB;;AAEA;AACA,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;;;ACjCa;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,yBAAyB,kDAAM;;AAE/B;;AAEA;AACA;AACA;AACA,kBAAkB,kDAAM;;AAExB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxD9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;;;;;;;;;;;;;;;;;ACvN8C;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;;AAEA,0CAA0C,8DAAmB;AAC7D,gBAAgB,8DAAmB;;AAEnC;;AAEA;AACA;;AAEA;AACA,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;;;;;;ACjD+D;AAClC;AACP;AACN;;AAE7C;AACA,QAAQ,gCAAgC;AACxC;;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;AACA;AACA;AACO;AACP,qCAAqC,sEAAc;AACnD;AACA;AACA;AACA;;AAEA,0BAA0B,0DAAU;AACpC,4BAA4B,0DAAU;;AAEtC;AACA,uBAAuB,wGAA+B;AACtD;AACA,yBAAyB,wGAA+B;;AAExD;AACA;AACA;AACA,0DAA0D,4DAAiB;AAC3E;;AAEA;AACA,iEAAe,wBAAwB,EAAC;;;;;;;;;;;;;;;;;;;AC9DkB;AACe;;AAEzE;AACA,QAAQ,wBAAwB;AAChC;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,qCAAqC,sEAAc;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI,sFAAwB;AAC5B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B;AAC5B;AACA;;AAEA;AACA,iEAAe,gBAAgB,EAAC;;;;;;;;;;;;;;;;;;;AC3GgC;AACb;;AAEnD;AACA,QAAQ,yBAAyB;AACjC;;AAEA;AACA,QAAQ,yBAAyB;AACjC;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,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,UAAU,aAAa,EAAE,4EAAiB;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,eAAe,gEAAa;AAC5B;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iEAAe,iBAAiB,EAAC;;;;;;;;;;;;;;;;;;ACvEI;;AAErC;AACA,QAAQ,kBAAkB;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;;ACrCmC;AACxB;;AAErC;AACA,QAAQ,iBAAiB;AACzB;;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,+DAA+D,iBAAiB;AAChF;AACA;AACO;AACP,yBAAyB,yEAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,kDAAM;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,SAAS,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrD+B;AACK;AACJ;AACQ;AAK9B;AACI;AACF;;AAErC;AACA;AACsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEgC;;AAEhC;AACA,QAAQ,cAAc;AACtB;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,WAAW;AAC5D;AACA,iDAAiD,WAAW;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oHAAoH;AACpH,gHAAgH;AAChH,0HAA0H;AAC1H,4HAA4H;AAC5H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,yBAAyB,yEAAiB;AAC1C,6DAA6D,uDAAa;;AAE1E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,kDAAM;;AAE7B,OAAO,oDAAO;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yEAAc;AAC5C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA,iBAAiB;AACjB;;AAEA,UAAU,iEAAU;AACpB,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,UAAU,iFAAwB;AAClC;AACA,UAAU,kFAAyB;AACnC;AACA,QAAQ,kFAAyB;AACjC;;AAEA,wBAAwB,iEAAU;AAClC;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iEAAe,MAAM,EAAC;;;;;;;;;;;;;;;;;;;;ACjbmD;AAC1B;AACV;;AAErC;AACA,QAAQ,oBAAoB;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB,eAAe,sFAAwB,QAAQ,4DAAW;AAC1D;AACA;AACA;;AAEA;AACA,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;;;;;AClCwB;AACC;AACQ;AACxB;;AAErC;AACA,QAAQ,kBAAkB;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB,gBAAgB,kEAAc,WAAW,0EAAkB;;AAE3D;AACA;AACA;AACA,2BAA2B,6DAAkB;AAC7C;;AAEA;AACA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;;;ACxCyB;AACE;AAChB;;AAErC;AACA,QAAQ,sBAAsB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;;AAEA,oCAAoC,gEAAa;AACjD;AACA;AACA,0BAA0B,kEAAc;;AAExC,oCAAoC,gEAAa;AACjD;AACA;AACA,0BAA0B,kEAAc;;AAExC;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;;;;ACpDsB;AACL;AACQ;AAClB;;AAErC;AACA,QAAQ,eAAe;AACvB;;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;AACA;AACA;AACA,IAAI;AACJ;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB,gBAAgB,4DAAW,oBAAoB,oEAAe;;AAE9D;AACA;AACA;AACA,2BAA2B,6DAAkB;AAC7C;;AAEA;AACA,iEAAe,OAAO,EAAC;;;;;;;;;;;;;;;;;;;;;ACtDsC;AACV;AACJ;AACV;;AAErC;AACA,QAAQ,mBAAmB;AAC3B;;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,wDAAwD,iBAAiB;AACzE;AACA;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;;AAEA,yBAAyB,yEAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,gEAAa;AAC3C;AACA;AACA,0BAA0B,4DAAW;;AAErC,8BAA8B,gEAAa;AAC3C;AACA;AACA,0BAA0B,4DAAW;;AAErC;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;AC3E3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,MAAM,EAAC;;;;;;;;;;;;;;;;;;ACzCe;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,UAAU,kDAAM,gBAAgB,kDAAM;AACtC;;AAEA;AACA,iEAAe,OAAO,EAAC;;;;;;;;;;;;;;;;;;;AC5BmC;AACb;;AAE7C;AACA,QAAQ,iBAAiB;AACzB;;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;AACO;AACP,kCAAkC,sEAAc;AAChD;AACA;AACA;AACA;AACA,UAAU,0DAAU,iBAAiB,0DAAU;AAC/C;;AAEA;AACA,iEAAe,SAAS,EAAC;;;;;;;;;;;;;;;;;;AC9CiC;;AAE1D;AACA,QAAQ,mBAAmB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,qCAAqC,sEAAc;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;;AC3C+B;AACX;;AAE/C;AACA,QAAQ,kBAAkB;AAC1B;;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,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,qCAAqC,sEAAc;AACnD;AACA;AACA;AACA;AACA;AACA,KAAK,4DAAW,2BAA2B,4DAAW;AACtD;AACA;;AAEA;AACA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;;ACnDW;AACA;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,aAAa,kDAAM,8CAA8C,kDAAM;AACvE;;AAEA;AACA,iEAAe,OAAO,EAAC;;;;;;;;;;;;;;;;;;ACvCc;;AAErC;AACA,QAAQ,wBAAwB;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA,KAAK,kDAAM;AACX,KAAK,kDAAM;AACX;;AAEA;AACA;;AAEA;AACA,iEAAe,gBAAgB,EAAC;;;;;;;;;;;;;;;;ACzDzB;AACP,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC7DO;AACP,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACxDO;AACP,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,aAAa;AACb;AACA;;;;;;;;;;;;;;;;;;;;;;ACnBgE;AACR;AACQ;AACZ;AACN;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,kBAAkB,wEAAc;AAChC,cAAc,gEAAU;AACxB,kBAAkB,wEAAc;AAChC,YAAY,4DAAQ;AACpB,SAAS,sDAAK;AACd;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;AC5BpB;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;;AAEA;AACA;AACA,wBAAwB,QAAQ;AAChC,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,mBAAmB,QAAQ;AAC3B,GAAG;;AAEH;AACA;AACA,qBAAqB,QAAQ;AAC7B,GAAG;AACH;;AAEO;AACP;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ,yCAAyC,OAAO;AAChD;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;ACpGoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO,OAAO,MAAM;AAC/B,WAAW,OAAO,OAAO,MAAM;AAC/B,aAAa,MAAM,IAAI,MAAM;AAC7B,YAAY,MAAM,IAAI,MAAM;AAC5B;;AAEO;AACP,QAAQ,4EAAiB;AACzB;AACA;AACA,GAAG;;AAEH,QAAQ,4EAAiB;AACzB;AACA;AACA,GAAG;;AAEH,YAAY,4EAAiB;AAC7B;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;;;;;;;;;;;;;;;;;ACVgE;;AAEhE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;;AAEA,OAAO,wEAAe;AACtB;AACA;AACA,GAAG;;AAEH,WAAW,wEAAe;AAC1B;AACA;AACA;AACA,GAAG;;AAEH,SAAS,wEAAe;AACxB;AACA;AACA,GAAG;;AAEH,OAAO,wEAAe;AACtB;AACA;AACA,GAAG;;AAEH,aAAa,wEAAe;AAC5B;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AC1L0D;AACc;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEO;AACP,iBAAiB,gFAAmB;AACpC;AACA;AACA;AACA,GAAG;;AAEH,OAAO,kEAAY;AACnB;AACA;AACA;AACA;AACA,GAAG;;AAEH,WAAW,kEAAY;AACvB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,SAAS,kEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;;AAEH,OAAO,kEAAY;AACnB;AACA;AACA;AACA;AACA,GAAG;;AAEH,aAAa,kEAAY;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;ACnI6D;AACR;AACQ;AACZ;AACN;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,kBAAkB,qEAAc;AAChC,cAAc,6DAAU;AACxB,kBAAkB,qEAAc;AAChC,YAAY,yDAAQ;AACpB,SAAS,mDAAK;AACd;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,iEAAe,EAAE,EAAC;;;;;;;;;;;;;;;;AC5BlB;AACA;AACA;AACA;AACA;;AAE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AqC,QAAQ;AAC7C,KAAK;AACL,GAAG;AACH;;AAEO;AACP;AACA;;;;;;;;;;;;;;;;;ACrPoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,MAAM,IAAI,MAAM;AAC1B;;AAEO;AACP,QAAQ,4EAAiB;AACzB;AACA;AACA,GAAG;;AAEH,QAAQ,4EAAiB;AACzB;AACA;AACA,GAAG;;AAEH,YAAY,4EAAiB;AAC7B;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;ACnCoD;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,0DAAU;AAClB;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,QAAQ,0DAAU;AAClB;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;;AAEO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;ACvFgE;;AAEhE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEO;AACP;;AAEA,OAAO,wEAAe;AACtB;AACA;AACA,GAAG;;AAEH,WAAW,wEAAe;AAC1B;AACA;AACA;AACA,GAAG;;AAEH,SAAS,wEAAe;AACxB;AACA;AACA;AACA;AACA,GAAG;;AAEH,OAAO,wEAAe;AACtB;AACA;AACA,GAAG;;AAEH,aAAa,wEAAe;AAC5B;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;ACjN0D;AACc;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEO;AACP,iBAAiB,gFAAmB;AACpC;AACA;AACA;AACA,GAAG;;AAEH,OAAO,kEAAY;AACnB;AACA;AACA;AACA;AACA,GAAG;;AAEH,WAAW,kEAAY;AACvB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,SAAS,kEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;;AAEH,OAAO,kEAAY;AACnB;AACA;AACA;AACA;AACA,GAAG;;AAEH,aAAa,kEAAY;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;ACzImD;AACd;;AAErC;AACA,QAAQ,WAAW;AACnB;;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;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,4DAAa;;AAE7B,kBAAkB,kDAAM;AACxB;AACA,GAAG;;AAEH,SAAS,gEAAa;AACtB;;AAEA;AACA,iEAAe,GAAG,EAAC;;;;;;;;;;;;;;;;;;;ACjDgC;AACd;;AAErC;AACA,QAAQ,WAAW;AACnB;;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;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,4DAAa;;AAE7B,kBAAkB,kDAAM;AACxB;AACA,GAAG;;AAEH,SAAS,gEAAa;AACtB;;AAEA;AACA,iEAAe,GAAG,EAAC;;;;;;;;;;;;;;;;;;ACjDkB;;AAErC;AACA,QAAQ,kBAAkB;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA;AACA;;AAEA;AACA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnCqB;;AAE/C;AACA,QAAQ,sBAAsB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,SAAS,4DAAW,SAAS,6BAA6B;AAC1D;;AAEA;AACA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;;;ACnCqB;AACE;AACA;;AAErD;AACA,QAAQ,0BAA0B;AAClC;;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;AACO;AACP,eAAe,kEAAc;AAC7B,0BAA0B,gEAAa;AACvC;AACA;AACA,SAAS,kEAAc;AACvB;;AAEA;AACA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;AC1CG;;AAErC;AACA,QAAQ,oBAAoB;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA;AACA;AACA;;AAEA;AACA,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;;;ACrCiC;AACxB;;AAErC;AACA,QAAQ,mBAAmB;AAC3B;;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,iEAAiE,iBAAiB;AAClF;AACA;AACO;AACP,yBAAyB,yEAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,kDAAM;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;;;;ACrDkC;AACV;AACJ;AACA;;AAE/C;AACA,QAAQ,uBAAuB;AAC/B;;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;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACO;AACP,yBAAyB,yEAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,4DAAW;AAC1B,oBAAoB,gEAAa;AACjC;AACA;AACA,gBAAgB,4DAAW;AAC3B;AACA;;AAEA;AACA,iEAAe,eAAe,EAAC;;;;;;;;;;;;;;;;;;AChEM;;AAErC;AACA,QAAQ,mBAAmB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA;AACA;AACA;;AAEA;AACA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACpCgB;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,SAAS,wDAAS;AAClB;;AAEA;AACA,iEAAe,SAAS,EAAC;;;;;;;;;;;;;;;;;;ACjC0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,SAAS,gEAAa;AACtB;;AAEA;AACA,iEAAe,MAAM,EAAC;;;;;;;;;;;;;;;;;;;AC9C+B;AACf;AACX;;AAE3B,6CAA6C,6DAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAEgD;;;;;;;;;;;;;;;;;;;ACrDA;AACf;AACX;;AAE3B,qCAAqC,cAAc;AACnD,mCAAmC,6DAAe;AAClD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK,mBAAmB,6DAAe;;AAEI;;;;;;;;;;;;;;;;;;ACpCC;AACN;;AAEtC;AACA;;AAEA,oCAAoC,cAAc;AAClD,8BAA8B,wDAAW;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAEiC;;;;;;;;;;;;;;;;ACnFtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEmC;;;;;;;;;;;;;;;;;;;;;;;;;ACnCU;AACS;AACS;AACnB;AACoB;AACoB;AAC9C;AACQ;AACd;;AAEhC,wEAAwE,cAAc;AACtF;AACA;AACA;AACA;;AAEA,gBAAgB,cAAc;;AAE9B;AACA,4BAA4B,wDAAW,0FAA0F,6EAA8B,WAAW,mEAAoB;AAC9L,kBAAkB,8DAAU;AAC5B;AACA;AACA;AACA;AACA,uBAAuB,yDAAY;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uDAAK,wCAAwC,+DAAW;AAClF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,mCAAmC,uDAAK,iBAAiB,8DAAU;AACnE;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+HAA+H;AAC/H;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,wDAAwD,cAAc;AACtE;AACA;AACA;AACA;AACA,MAAM,QAAQ;;AAEd;AACA;AACA;AACA,yDAAyD;;AAEzD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6FAA6F,qDAAS;AACtG;;AAEA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,kGAAkG,qDAAS;AAC3G;AACA,4BAA4B,qDAAS,0DAA0D,qDAAS;AACxG;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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,uDAAK;;AAE2B;;;;;;;;;;;;;;;;;AC7VM;;AAEtC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uDAAK;;AAE6B;;;;;;;;;;;;;;;;;AChDK;;AAEvC;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uHAAuH;AACvH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD,gDAAS;;AAElE;AACA;AACA;AACA,wDAAwD,gDAAS,SAAS,gDAAS;AACnF;AACA;;AAEoC;;;;;;;;;;;;;;;;;AC5EJ;;AAEhC;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAK;;AAE+B;;;;;;;;;;;;;;;;AC9CpC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE4C;;;;;;;;;;;;;;;;ACtD5C;AACA;AACA;AACA;AACA;;AAE4B;;;;;;;;;;;;;;;;;;;;;;ACN5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC,gBAAgB,iBAAiB;AACjC;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;;AAE6F;;;;;;;;;;;;;;;;;;;;;;;;;;ACjFhE;AACQ;AACZ;AACS;AACL;AACO;AACW;AACN;AACgB;AACpB;;;;AAIT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACb+B;AACtB;AACuE;AACpB;AACX;AACT;AACA;AACR;AACP;AACI;AACM;AACN;AACkB;AACV;AACJ;AACE;AACuB;AACG;AACA;AAC1B;AACJ;AACE;AACD;AAC1B;AACG;AACM;AACP;;AAEpC;AACA,qBAAqB,uDAAK;AAC1B,EAAE;;AAE0B;;;;;;;;;;;;;;;;;;;;AChC0B;AACiB;AACgB;AACjD;;AAEtC;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wEAAqB;AACpC;;AAEA;AACA;AACA,QAAQ,wDAAQ,mBAAmB,wEAAqB;AACxD;AACA;;AAEA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA,eAAe,+DAAa;AAC5B;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,gCAAgC;AAC1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,gCAAgC;AAC1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,+DAAa;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,+DAAa;AAC5B;;AAEA;AACA;AACA,eAAe,+DAAa;AAC5B;;AAEA;AACA;AACA,SAAS,wDAAQ;AACjB,sBAAsB,wDAAQ,aAAa,wEAAqB;AAChE;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+DAAa;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAa;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAa;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qDAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8DAAc;AACtC;AACA;AACA,OAAO;AACP;AACA;AACA,wBAAwB,+DAAa;;AAErC;AACA,4BAA4B,qDAAS;AACrC,oGAAoG,qDAAS;;AAE7G;AACA;AACA;AACA;AACA,2CAA2C,qDAAS;AACpD,8BAA8B,qDAAS;AACvC;AACA;AACA,gCAAgC,+DAAa;AAC7C;AACA,WAAW;AACX;AACA,QAAQ,6BAA6B,qDAAS;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,8DAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+DAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAEwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACraY;AACJ;AACC;AACM;AACT;AAChB;AACyB;AACtB;AACmB;AACZ;AACU;AACA;AAClB;;AAErB,0BAA0B,EAAE,GAAG,EAAE;;AAEjC;;AAEA;AACA,yBAAyB,mDAAa;AACtC;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,YAAY,wDAAQ;AACpB;AACA;;AAEA,0CAA0C,yBAAyB;;AAEnE;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,wDAAQ;AACpB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;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,UAAU,iDAAW;AACrB;AACA;AACA;AACA,GAAG;AACH;AACA,UAAU,iDAAW;AACrB;AACA;AACA;AACA,GAAG;AACH;AACA,UAAU,iDAAW;AACrB;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK,mDAAa;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAE4B;;;;;;;;;;;;;;;;;;;;;;ACnJ4B;AACP;AACG;AAC1B;AACO;AACM;;AAE5C;AACA,4BAA4B,gDAAM;AAClC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE,0DAAa;AACzB,uBAAuB,uDAAU;AACjC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;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,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,aAAa,8DAAc;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B,aAAa,cAAc;AAC3B;AACA,KAAK,gDAAM;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,yGAAyG,qDAAS;AAClH;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uHAAuH,qDAAS;AAChI;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAE+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpVK;AACH;AACgB;AACT;AAC0B;AACpD;AACG;AACmB;AACZ;AACU;AACA;AAClB;;AAErB;AACA,yBAAyB,mDAAa;AACtC;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,qDAAS;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+DAAa;AAC5B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wEAAqB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,+DAAa;AACnD,wDAAwD,qDAAS;AACjE;AACA,wBAAwB,UAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,mDAAa;AAClB;AACA;AACA,uDAAK;;AAE4B;;;;;;;;;;;;;;;;;;;;ACvG2B;AACtB;;AAEtC;AACA;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,qCAAqC,uDAAK;AAC1C,MAAM,wDAAQ,eAAe,uDAAK;AAClC,4BAA4B,uDAAK;AACjC,8BAA8B,uDAAK;AACnC,oDAAoD,uDAAK;AACzD,MAAM,uDAAK,qCAAqC,uDAAK;AACrD,MAAM,uDAAK,2BAA2B,uDAAK;AAC3C,uCAAuC,uDAAK;AAC5C,iDAAiD;AACjD,SAAS,uDAAK;AACd;AACA;AACA;AACA,MAAM,uDAAK;AACX,kCAAkC,uDAAK;AACvC;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,MAAM,kBAAkB,uDAAK;AAC7B;AACA,MAAM,EAAE,wDAAQ,+BAA+B,uDAAK;AACpD;AACA;AACA;AACA,WAAW,oDAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,wDAAQ;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA,MAAM,uDAAK,2BAA2B,uDAAK;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAEwD;;;;;;;;;;;;;;;;;;;;;ACxH9B;AACO;AACH;AACS;AAClB;;AAE1B;AACA,6BAA6B,gDAAM;AACnC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uDAAK;;AAEgC;;;;;;;;;;;;;;;;;;;;;AC9BsB;AACL;AACvB;AACO;AACM;;AAE5C;AACA;AACA,2BAA2B,gDAAM;AACjC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,4DAAY,oBAAoB,qBAAqB;AACzF;AACA,kEAAkE,wDAAY;AAC9E,gDAAgD,4DAAY;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,EAAE;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACpE,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,+DAAa;AACvC,MAAM;AACN,0BAA0B,+DAAa;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,+DAAa;AAC5B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB;AACA;AACA;AACA;AACA,iHAAiH,qDAAS;AAC1H;AACA;AACA;AACA;AACA;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gDAAM;AACtC;AACA,KAAK,gDAAM;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,uDAAK;;AAE8B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzTmB;AAChB;AACO;AACd;AAC0B;AACO;AAChB;AACmB;AACA;AAC9C;AACuB;;AAE5C;AACA,4BAA4B,gDAAM;AAClC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,EAAE,oEAAsB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,0DAAa,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,uDAAK,qCAAqC,uDAAU;AACvG;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oEAAsB;AACtD;AACA;AACA;AACA;AACA;AACA,WAAW,0DAAa;AACxB;AACA,OAAO,QAAQ,oEAAsB;AACrC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;;AAEA;AACA;AACA,mCAAmC,0BAA0B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,sEAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA,gCAAgC,sEAAiB;AACjD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,wBAAwB;AACvE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,kBAAkB,qDAAS;AAC3B;AACA;AACA,uBAAuB,0DAAa;AACpC,sBAAsB,qDAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,qDAAS,uBAAuB,qDAAS;AAC/D;AACA,wBAAwB,qDAAS;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,qDAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qDAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,qDAAS,wBAAwB,qDAAS;AAChE;AACA;AACA;AACA;AACA,wBAAwB,qDAAS;;AAEjC;AACA;AACA;AACA;AACA;AACA,6CAA6C,qDAAS;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA,KAAK,gDAAM;AACX;AACA;AACA;AACA;AACA;AACA,gCAAgC,oEAAsB;AACtD,gCAAgC,oEAAsB;AACtD,uDAAK;;AAE+B;;;;;;;;;;;;;;;;;;;;AC/cqB;AACV;AAC2B;AACjC;;AAEzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wDAAQ,kBAAkB,wEAAqB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wEAAqB;AAClD;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uDAAK;AACjC,uBAAuB,wEAAqB;AAC5C;AACA;AACA,wBAAwB,+DAAa;AACrC,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,uEAAuE,wEAAqB;AAC5F;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEwC;;;;;;;;;;;;;;;;;AC7JQ;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,qDAAS;AACrE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,qDAAS;AACrE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4DAA4D,qDAAS;AACrE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4DAA4D,qDAAS;AACrE;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,4DAA4D,qDAAS;AACrE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,4DAA4D,qDAAS;AACrE;AACA,KAAK;AACL;AACA;;AAEoC;;;;;;;;;;;;;;;;;;;;AClIqB;AACC;AACgB;AAC5C;;AAE9B;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;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;AACA;AACA,eAAe,+DAAa;AAC5B;AACA;AACA;AACA,kBAAkB,qDAAS;AAC3B;AACA;AACA;AACA;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB,WAAW,qDAAS;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,kCAAkC,+DAAa;AAC/C;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA,eAAe,wEAAqB;AACpC;AACA;AACA,QAAQ,wDAAQ,mBAAmB,wEAAqB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE6C;;;;;;;;;;;;;;;;;;;;ACvJN;AACkB;AACT;AAClB;;AAE9B;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kBAAkB,uDAAU;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+DAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+DAAa;AAC/C;AACA;AACA;AACA;AACA,oBAAoB,+DAAa;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,+DAAa;AAClE;AACA,eAAe,+DAAa;AAC5B;AACA,KAAK;AACL;AACA;AACA,eAAe,+DAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qDAAS;AAC3B;AACA;AACA;AACA;AACA;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB;AACA,WAAW,qDAAS;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;AACA,eAAe,+DAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE6C;;;;;;;;;;;;;;;;;;;;;AC1LP;AACA;AACZ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uDAAU;AAC3B;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,uDAAK;AACL,uDAAK;AACL,uDAAK;;AAEkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCe;AAChB;AACG;AACf;AACP;AACyB;AACtB;AACmB;AACZ;AACU;AACA;AAClB;;AAErB;AACA,0BAA0B,mDAAa;AACvC;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAE6B;;;;;;;;;;;;;;;;;;;;;ACvHH;AACO;AACH;AACS;AAClB;;AAE1B;AACA,2BAA2B,gDAAM;AACjC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAE8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BmB;AAChB;AACmB;AAChB;AACf;AACP;AACyB;AACH;AACZ;AACU;AACA;AAClB;;AAErB;AACA,0BAA0B,mDAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,EAAE,0DAAa,QAAQ;AAC7B,sCAAsC;AACtC,kBAAkB,uDAAU;AAC5B,uIAAuI;;AAEvI;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,wBAAwB,uDAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA,kIAAkI;AAClI;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,+BAA+B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAE6B;;;;;;;;;;;;;;;;;;ACxIE;AAC6B;;AAEjE;AACA;AACA;AACA;AACA,UAAU,6CAAM;AAChB;AACA;AACA;AACA,IAAI,wBAAwB;AAC5B,kBAAkB,6CAAM;AACxB,gDAAgD,+CAAQ,GAAG;AAC3D,4BAA4B,+CAAQ;AACpC,4CAA4C,+CAAQ;AACpD,sCAAsC,+CAAQ;AAC9C,uBAAuB,kDAAW;AAClC;AACA;AACA;AACA,GAAG;AACH,kCAAkC,kDAAW;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,oBAAoB,kDAAW;AAC/B;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,kDAAW;AACjC,EAAE,gDAAS;AACX;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA;AACA,0BAA0B,2DAAK;AAC/B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,gDAAgD;AAChD;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE+B;;;;;;;;;;;;;;;;;;;;;;;;;ACvHZ;AACgC;AACA;AACH;AACG;AACpC;AACK;;;;;;;;;;;;;;;;;;;ACNM;AACU;AAChB;AACK;;AAEzB,wBAAwB,qDAAU;AAClC;AACA;AACA;AACA,IAAI;AACJ,SAAS,gDAAmB;AAC5B;AACA;AACA,GAAG;AACH,CAAC;AACD,qCAAqC,gDAAmB;AACxD;AACA;AACA,CAAC;AACD;AACA,mBAAmB,6CAAgB;;AAEF;;;;;;;;;;;;;;;;;;;ACtBP;AACS;AACC;;AAEpC;AACA;AACA,QAAQ,iDAAmB,EAAE,6CAAe,EAAE,4CAAc,EAAE,8CAAgB,EAAE,kDAAoB,UAAU,6CAAe,gBAAgB,uDAAK,WAAW,kDAAoB,CAAC,uDAAK;AACvL,SAAS,2CAAa;AACtB,UAAU,iDAAmB,EAAE,4CAAc,EAAE,6CAAe;AAC9D,WAAW,4CAAc;AACzB,eAAe,4CAAc;AAC7B,YAAY,4CAAc;AAC1B,UAAU,4CAAc;AACxB,aAAa,iDAAmB,EAAE,4CAAc,EAAE,6CAAe;AACjE,SAAS,iDAAmB,EAAE,4CAAc,EAAE,6CAAe;AAC7D,eAAe,4CAAc;AAC7B;AACA,YAAY,4CAAc;AAC1B,cAAc,4CAAc;AAC5B;AACA,mBAAmB,8CAAgB;AACnC,eAAe,8CAAgB;AAC/B,QAAQ,4CAAc;AACtB,eAAe,8CAAgB;AAC/B,UAAU,8CAAgB;AAC1B;AACA,QAAQ,+CAAiB,CAAC,8CAAgB;AAC1C;AACA,aAAa,8CAAgB;AAC7B,QAAQ,8CAAgB;AACxB,MAAM,8CAAgB;AACtB;AACA,WAAW,8CAAgB;AAC3B,UAAU,4CAAc;AACxB,SAAS,4CAAc;AACvB,WAAW,iDAAmB,EAAE,4CAAc,EAAE,6CAAe;AAC/D;AACA,SAAS,8CAAgB;AACzB,sBAAsB,8CAAgB;AACtC,cAAc,+CAAiB,CAAC,8CAAgB;AAChD,SAAS,8CAAgB;AACzB,kBAAkB,4CAAc;AAChC,sBAAsB,4CAAc;AACpC,OAAO,iDAAmB,EAAE,8CAAgB,EAAE,kDAAoB;AAClE,OAAO,iDAAmB,EAAE,8CAAgB,EAAE,kDAAoB;AAClE;AACA,YAAY,4CAAc;AAC1B;AACA,YAAY,iDAAmB,EAAE,4CAAc,EAAE,6CAAe;AAChE,aAAa,8CAAgB;AAC7B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,4CAAe;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,2MAA2M;AAC3M;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mHAAmH;AACnH;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2DAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,+DAA+D;AACxI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gDAAmB;AAChC;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,6CAAgB,iBAAiB,gDAAmB;AAC7D;AACA;AACA,GAAG;AACH;;AAEiC;;;;;;;UCjKjC;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNoB;AACG;AACA;AACF","sources":["webpack://indicator-ui/webpack/universalModuleDefinition","webpack://indicator-ui/./src/assets/icons/alert-circle.svg","webpack://indicator-ui/./src/assets/icons/alert-square.svg","webpack://indicator-ui/./src/assets/icons/alert-triangle.svg","webpack://indicator-ui/./src/assets/icons/arrow-circle-up-left.svg","webpack://indicator-ui/./src/assets/icons/arrow-left.svg","webpack://indicator-ui/./src/assets/icons/arrow-narrow-left.svg","webpack://indicator-ui/./src/assets/icons/arrow-narrow-right.svg","webpack://indicator-ui/./src/assets/icons/arrow-right.svg","webpack://indicator-ui/./src/assets/icons/arrow-square-up-right.svg","webpack://indicator-ui/./src/assets/icons/bank-note-01.svg","webpack://indicator-ui/./src/assets/icons/bar-chart-07.svg","webpack://indicator-ui/./src/assets/icons/bar-chart-10.svg","webpack://indicator-ui/./src/assets/icons/book-closed.svg","webpack://indicator-ui/./src/assets/icons/book-open-01.svg","webpack://indicator-ui/./src/assets/icons/bookmark-add.svg","webpack://indicator-ui/./src/assets/icons/briefcase-02.svg","webpack://indicator-ui/./src/assets/icons/building-07.svg","webpack://indicator-ui/./src/assets/icons/calendar-check-01.svg","webpack://indicator-ui/./src/assets/icons/calendar-plus-02.svg","webpack://indicator-ui/./src/assets/icons/calendar.svg","webpack://indicator-ui/./src/assets/icons/check-verified-02.svg","webpack://indicator-ui/./src/assets/icons/check.svg","webpack://indicator-ui/./src/assets/icons/chevron-down.svg","webpack://indicator-ui/./src/assets/icons/chevron-left.svg","webpack://indicator-ui/./src/assets/icons/chevron-right.svg","webpack://indicator-ui/./src/assets/icons/chevron-up.svg","webpack://indicator-ui/./src/assets/icons/circle.svg","webpack://indicator-ui/./src/assets/icons/clock-check.svg","webpack://indicator-ui/./src/assets/icons/clock.svg","webpack://indicator-ui/./src/assets/icons/copy-06.svg","webpack://indicator-ui/./src/assets/icons/dataflow-01.svg","webpack://indicator-ui/./src/assets/icons/dots-grid.svg","webpack://indicator-ui/./src/assets/icons/download_01.svg","webpack://indicator-ui/./src/assets/icons/eye.svg","webpack://indicator-ui/./src/assets/icons/face-smile.svg","webpack://indicator-ui/./src/assets/icons/file-04.svg","webpack://indicator-ui/./src/assets/icons/file-06.svg","webpack://indicator-ui/./src/assets/icons/file-attachment-04.svg","webpack://indicator-ui/./src/assets/icons/help-circle.svg","webpack://indicator-ui/./src/assets/icons/image-02.svg","webpack://indicator-ui/./src/assets/icons/layout-alt-01.svg","webpack://indicator-ui/./src/assets/icons/layout-alt-03.svg","webpack://indicator-ui/./src/assets/icons/layout-calendar.svg","webpack://indicator-ui/./src/assets/icons/layout-grid-02.svg","webpack://indicator-ui/./src/assets/icons/layout-left.svg","webpack://indicator-ui/./src/assets/icons/link-01.svg","webpack://indicator-ui/./src/assets/icons/lock-01.svg","webpack://indicator-ui/./src/assets/icons/log-in-01.svg","webpack://indicator-ui/./src/assets/icons/log-out-01.svg","webpack://indicator-ui/./src/assets/icons/marker-pin-02.svg","webpack://indicator-ui/./src/assets/icons/message-notification-circle.svg","webpack://indicator-ui/./src/assets/icons/message-square-02.svg","webpack://indicator-ui/./src/assets/icons/message-text-square-01.svg","webpack://indicator-ui/./src/assets/icons/message-text-square-02.svg","webpack://indicator-ui/./src/assets/icons/minus.svg","webpack://indicator-ui/./src/assets/icons/music-note-01.svg","webpack://indicator-ui/./src/assets/icons/package.svg","webpack://indicator-ui/./src/assets/icons/pause-circle.svg","webpack://indicator-ui/./src/assets/icons/pencil-01.svg","webpack://indicator-ui/./src/assets/icons/play-button.svg","webpack://indicator-ui/./src/assets/icons/play.svg","webpack://indicator-ui/./src/assets/icons/plus.svg","webpack://indicator-ui/./src/assets/icons/rows-03.svg","webpack://indicator-ui/./src/assets/icons/rss-01.svg","webpack://indicator-ui/./src/assets/icons/save-01.svg","webpack://indicator-ui/./src/assets/icons/search-lg.svg","webpack://indicator-ui/./src/assets/icons/search-md.svg","webpack://indicator-ui/./src/assets/icons/search-sm.svg","webpack://indicator-ui/./src/assets/icons/settings-01.svg","webpack://indicator-ui/./src/assets/icons/settings-04.svg","webpack://indicator-ui/./src/assets/icons/share-arrow.svg","webpack://indicator-ui/./src/assets/icons/slash-octagon.svg","webpack://indicator-ui/./src/assets/icons/support.svg","webpack://indicator-ui/./src/assets/icons/switch-horizontal-02.svg","webpack://indicator-ui/./src/assets/icons/thumbs-up.svg","webpack://indicator-ui/./src/assets/icons/trash-01.svg","webpack://indicator-ui/./src/assets/icons/trash-03.svg","webpack://indicator-ui/./src/assets/icons/type-02.svg","webpack://indicator-ui/./src/assets/icons/upload-01.svg","webpack://indicator-ui/./src/assets/icons/user-01.svg","webpack://indicator-ui/./src/assets/icons/user-edit.svg","webpack://indicator-ui/./src/assets/icons/users-01.svg","webpack://indicator-ui/./src/assets/icons/users-02.svg","webpack://indicator-ui/./src/assets/icons/verified.svg","webpack://indicator-ui/./src/assets/icons/volume-max.svg","webpack://indicator-ui/./src/assets/icons/volume-x.svg","webpack://indicator-ui/./src/assets/icons/wallet-03.svg","webpack://indicator-ui/./src/assets/icons/x-close.svg","webpack://indicator-ui/./src/ui/Buttons/styles/Buttons.module.scss?5ccd","webpack://indicator-ui/./src/ui/DatePicker/styles/CalendarDay.module.scss?b05b","webpack://indicator-ui/./src/ui/DatePicker/styles/DateGrid.module.scss?3fac","webpack://indicator-ui/./src/ui/DatePicker/styles/DatePicker.module.scss?7f5a","webpack://indicator-ui/./src/ui/DatePicker/styles/DatePickerFooter.module.scss?1504","webpack://indicator-ui/./src/ui/DatePicker/styles/DatePickerHeader.module.scss?290a","webpack://indicator-ui/./src/ui/DatePicker/styles/DatePickerMain.module.scss?e451","webpack://indicator-ui/./src/ui/InputFields/FlexField/styles/FlexField.module.scss?52b0","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/styles/InputFieldWrapper.module.scss?eb51","webpack://indicator-ui/./src/ui/InputFields/InputField/styles/InputField.module.scss?d01e","webpack://indicator-ui/./src/ui/InputFields/RadioField/styles/RadioField.module.scss?224e","webpack://indicator-ui/./src/ui/InputFields/SelectField/styles/SelectField.module.scss?675d","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/styles/SwitcherField.module.scss?ca61","webpack://indicator-ui/./src/ui/InputFields/TextareaField/styles/TextareaField.module.scss?aef2","webpack://indicator-ui/./src/ui/MicroButton/styles/MicroButton.module.scss?e281","webpack://indicator-ui/./node_modules/object-assign/index.js","webpack://indicator-ui/./node_modules/prop-types/checkPropTypes.js","webpack://indicator-ui/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://indicator-ui/./node_modules/prop-types/index.js","webpack://indicator-ui/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://indicator-ui/./node_modules/prop-types/lib/has.js","webpack://indicator-ui/./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","webpack://indicator-ui/./node_modules/prop-types/node_modules/react-is/index.js","webpack://indicator-ui/./node_modules/react/cjs/react-jsx-runtime.development.js","webpack://indicator-ui/./node_modules/react/jsx-runtime.js","webpack://indicator-ui/./src/assets/icons/index.ts","webpack://indicator-ui/./src/assets/index.ts","webpack://indicator-ui/./src/hooks/index.ts","webpack://indicator-ui/./src/hooks/useFormData.ts","webpack://indicator-ui/./src/hooks/useIsErrorField.ts","webpack://indicator-ui/./src/lib/array/getUniqueArray.ts","webpack://indicator-ui/./src/lib/array/index.ts","webpack://indicator-ui/./src/lib/array/isArray.ts","webpack://indicator-ui/./src/lib/array/isEqualArrays.ts","webpack://indicator-ui/./src/lib/dict/getDeepValue.ts","webpack://indicator-ui/./src/lib/dict/index.ts","webpack://indicator-ui/./src/lib/dict/isDict.ts","webpack://indicator-ui/./src/lib/dict/setDeepValue.ts","webpack://indicator-ui/./src/lib/index.ts","webpack://indicator-ui/./src/lib/reactComponents/handleScrollEnd.ts","webpack://indicator-ui/./src/lib/reactComponents/index.ts","webpack://indicator-ui/./src/lib/reactComponents/isCustomComponent.ts","webpack://indicator-ui/./src/types/DictDeepActionsTypes.ts","webpack://indicator-ui/./src/types/HelperType.ts","webpack://indicator-ui/./src/types/index.ts","webpack://indicator-ui/./src/ui/Buttons/index.ts","webpack://indicator-ui/./src/ui/Buttons/styles/index.ts","webpack://indicator-ui/./src/ui/Buttons/types/ButtonTypes.ts","webpack://indicator-ui/./src/ui/Buttons/types/index.ts","webpack://indicator-ui/./src/ui/Buttons/ui/Button.tsx","webpack://indicator-ui/./src/ui/Buttons/ui/index.ts","webpack://indicator-ui/./src/ui/DatePicker/const/index.ts","webpack://indicator-ui/./src/ui/DatePicker/index.ts","webpack://indicator-ui/./src/ui/DatePicker/lib/index.ts","webpack://indicator-ui/./src/ui/DatePicker/styles/index.ts","webpack://indicator-ui/./src/ui/DatePicker/types/CalendarDayTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/DateGridTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/DatePickerFooterTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/DatePickerHeaderTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/DatePickerMainTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/DatePickerTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/index.ts","webpack://indicator-ui/./src/ui/DatePicker/ui/CalendarDay.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/DateGrid.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/DatePicker.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/DatePickerFooter.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/DatePickerHeader.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/DatePickerMain.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/consts/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/lib/arrayFieldComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/blockComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/blockWrapperComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/customFieldWrapperComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/formBuilder.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/formWrapperComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/lib/inputFieldComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/reactNodeComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/schemes/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/types/FormBuilderTypes.ts","webpack://indicator-ui/./src/ui/FormBuilder/types/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/ui/FormBuilder.tsx","webpack://indicator-ui/./src/ui/FormBuilder/ui/index.ts","webpack://indicator-ui/./src/ui/InputFields/FlexField/index.ts","webpack://indicator-ui/./src/ui/InputFields/FlexField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/FlexField/types/FlexFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/FlexField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/FlexField/ui/FlexField.tsx","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/types/InputFieldWrapperTypes.ts","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/ui/InputFieldWrapper.tsx","webpack://indicator-ui/./src/ui/InputFields/InputField/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputField/types/InputFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/InputField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputField/ui/InputField.tsx","webpack://indicator-ui/./src/ui/InputFields/RadioField/index.ts","webpack://indicator-ui/./src/ui/InputFields/RadioField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/RadioField/types/RadioFieldItemTypes.ts","webpack://indicator-ui/./src/ui/InputFields/RadioField/types/RadioFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/RadioField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/RadioField/ui/RadioField.tsx","webpack://indicator-ui/./src/ui/InputFields/RadioField/ui/RadioFieldItem.tsx","webpack://indicator-ui/./src/ui/InputFields/SelectField/config/ScrollConfig.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/config/index.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/index.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/lib/getStringValue.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/lib/index.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/lib/isActiveOption.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/types/SelectFieldOptionsItemTypes.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/types/SelectFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/types/SelectModalWindowTypes.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/ui/SelectField.tsx","webpack://indicator-ui/./src/ui/InputFields/SelectField/ui/SelectFieldOptionsItem.tsx","webpack://indicator-ui/./src/ui/InputFields/SelectField/ui/SelectModalWindow.tsx","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/index.ts","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/types/SwitcherFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/ui/SwitcherField.tsx","webpack://indicator-ui/./src/ui/InputFields/TextareaField/index.ts","webpack://indicator-ui/./src/ui/InputFields/TextareaField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/TextareaField/types/TextareaFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/TextareaField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/TextareaField/ui/TextareaField.tsx","webpack://indicator-ui/./src/ui/InputFields/index.ts","webpack://indicator-ui/./src/ui/MicroButton/index.ts","webpack://indicator-ui/./src/ui/MicroButton/styles/index.ts","webpack://indicator-ui/./src/ui/MicroButton/types/MicroButtonTypes.ts","webpack://indicator-ui/./src/ui/MicroButton/types/index.ts","webpack://indicator-ui/./src/ui/MicroButton/ui/MicroButton.tsx","webpack://indicator-ui/./src/ui/MicroButton/ui/index.ts","webpack://indicator-ui/./src/ui/index.ts","webpack://indicator-ui/external umd {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack://indicator-ui/./node_modules/clsx/dist/clsx.mjs","webpack://indicator-ui/./node_modules/date-fns/_lib/addLeadingZeros.js","webpack://indicator-ui/./node_modules/date-fns/_lib/defaultOptions.js","webpack://indicator-ui/./node_modules/date-fns/_lib/format/formatters.js","webpack://indicator-ui/./node_modules/date-fns/_lib/format/lightFormatters.js","webpack://indicator-ui/./node_modules/date-fns/_lib/format/longFormatters.js","webpack://indicator-ui/./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js","webpack://indicator-ui/./node_modules/date-fns/_lib/normalizeDates.js","webpack://indicator-ui/./node_modules/date-fns/_lib/normalizeInterval.js","webpack://indicator-ui/./node_modules/date-fns/_lib/protectedTokens.js","webpack://indicator-ui/./node_modules/date-fns/addDays.js","webpack://indicator-ui/./node_modules/date-fns/addMonths.js","webpack://indicator-ui/./node_modules/date-fns/addWeeks.js","webpack://indicator-ui/./node_modules/date-fns/closestIndexTo.js","webpack://indicator-ui/./node_modules/date-fns/constants.js","webpack://indicator-ui/./node_modules/date-fns/constructFrom.js","webpack://indicator-ui/./node_modules/date-fns/differenceInCalendarDays.js","webpack://indicator-ui/./node_modules/date-fns/differenceInDays.js","webpack://indicator-ui/./node_modules/date-fns/eachDayOfInterval.js","webpack://indicator-ui/./node_modules/date-fns/endOfMonth.js","webpack://indicator-ui/./node_modules/date-fns/endOfWeek.js","webpack://indicator-ui/./node_modules/date-fns/format.js","webpack://indicator-ui/./node_modules/date-fns/getDayOfYear.js","webpack://indicator-ui/./node_modules/date-fns/getISOWeek.js","webpack://indicator-ui/./node_modules/date-fns/getISOWeekYear.js","webpack://indicator-ui/./node_modules/date-fns/getWeek.js","webpack://indicator-ui/./node_modules/date-fns/getWeekYear.js","webpack://indicator-ui/./node_modules/date-fns/isDate.js","webpack://indicator-ui/./node_modules/date-fns/isEqual.js","webpack://indicator-ui/./node_modules/date-fns/isSameDay.js","webpack://indicator-ui/./node_modules/date-fns/isSameMonth.js","webpack://indicator-ui/./node_modules/date-fns/isSameWeek.js","webpack://indicator-ui/./node_modules/date-fns/isValid.js","webpack://indicator-ui/./node_modules/date-fns/isWithinInterval.js","webpack://indicator-ui/./node_modules/date-fns/locale/_lib/buildFormatLongFn.js","webpack://indicator-ui/./node_modules/date-fns/locale/_lib/buildLocalizeFn.js","webpack://indicator-ui/./node_modules/date-fns/locale/_lib/buildMatchFn.js","webpack://indicator-ui/./node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US/_lib/formatDistance.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US/_lib/formatLong.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US/_lib/formatRelative.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US/_lib/localize.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US/_lib/match.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru/_lib/formatDistance.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru/_lib/formatLong.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru/_lib/formatRelative.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru/_lib/localize.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru/_lib/match.js","webpack://indicator-ui/./node_modules/date-fns/max.js","webpack://indicator-ui/./node_modules/date-fns/min.js","webpack://indicator-ui/./node_modules/date-fns/startOfDay.js","webpack://indicator-ui/./node_modules/date-fns/startOfISOWeek.js","webpack://indicator-ui/./node_modules/date-fns/startOfISOWeekYear.js","webpack://indicator-ui/./node_modules/date-fns/startOfMonth.js","webpack://indicator-ui/./node_modules/date-fns/startOfWeek.js","webpack://indicator-ui/./node_modules/date-fns/startOfWeekYear.js","webpack://indicator-ui/./node_modules/date-fns/startOfYear.js","webpack://indicator-ui/./node_modules/date-fns/subMonths.js","webpack://indicator-ui/./node_modules/date-fns/toDate.js","webpack://indicator-ui/./node_modules/imask/esm/controls/html-contenteditable-mask-element.js","webpack://indicator-ui/./node_modules/imask/esm/controls/html-input-mask-element.js","webpack://indicator-ui/./node_modules/imask/esm/controls/html-mask-element.js","webpack://indicator-ui/./node_modules/imask/esm/controls/input-history.js","webpack://indicator-ui/./node_modules/imask/esm/controls/input.js","webpack://indicator-ui/./node_modules/imask/esm/controls/mask-element.js","webpack://indicator-ui/./node_modules/imask/esm/core/action-details.js","webpack://indicator-ui/./node_modules/imask/esm/core/change-details.js","webpack://indicator-ui/./node_modules/imask/esm/core/continuous-tail-details.js","webpack://indicator-ui/./node_modules/imask/esm/core/holder.js","webpack://indicator-ui/./node_modules/imask/esm/core/utils.js","webpack://indicator-ui/./node_modules/imask/esm/imask.js","webpack://indicator-ui/./node_modules/imask/esm/index.js","webpack://indicator-ui/./node_modules/imask/esm/masked/base.js","webpack://indicator-ui/./node_modules/imask/esm/masked/date.js","webpack://indicator-ui/./node_modules/imask/esm/masked/dynamic.js","webpack://indicator-ui/./node_modules/imask/esm/masked/enum.js","webpack://indicator-ui/./node_modules/imask/esm/masked/factory.js","webpack://indicator-ui/./node_modules/imask/esm/masked/function.js","webpack://indicator-ui/./node_modules/imask/esm/masked/number.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pattern.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pattern/chunk-tail-details.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pattern/cursor.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pattern/fixed-definition.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pattern/input-definition.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pipe.js","webpack://indicator-ui/./node_modules/imask/esm/masked/range.js","webpack://indicator-ui/./node_modules/imask/esm/masked/regexp.js","webpack://indicator-ui/./node_modules/imask/esm/masked/repeat.js","webpack://indicator-ui/./node_modules/react-imask/esm/hook.js","webpack://indicator-ui/./node_modules/react-imask/esm/index.js","webpack://indicator-ui/./node_modules/react-imask/esm/input.js","webpack://indicator-ui/./node_modules/react-imask/esm/mixin.js","webpack://indicator-ui/webpack/bootstrap","webpack://indicator-ui/webpack/runtime/compat get default export","webpack://indicator-ui/webpack/runtime/define property getters","webpack://indicator-ui/webpack/runtime/hasOwnProperty shorthand","webpack://indicator-ui/webpack/runtime/make namespace object","webpack://indicator-ui/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"indicator-ui\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"indicator-ui\"] = factory(root[\"React\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE_react__) => {\nreturn ","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgAlertCircle = function SvgAlertCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 8v4m0 4h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgAlertCircle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgAlertSquare = function SvgAlertSquare(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 9v4m0 4h.01M10.615 3.892 2.39 18.098c-.456.788-.684 1.182-.65 1.506a1 1 0 0 0 .406.705c.263.191.718.191 1.629.191h16.45c.91 0 1.365 0 1.628-.191a1 1 0 0 0 .407-.705c.034-.324-.195-.718-.65-1.506L13.383 3.892c-.454-.785-.681-1.178-.978-1.31a1 1 0 0 0-.812 0c-.297.132-.524.525-.979 1.31\"\n })));\n};\nexport default SvgAlertSquare;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgAlertTriangle = function SvgAlertTriangle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 9v4m0 4h.01M10.615 3.892 2.39 18.098c-.456.788-.684 1.182-.65 1.506a1 1 0 0 0 .406.705c.263.191.718.191 1.629.191h16.45c.91 0 1.365 0 1.628-.191a1 1 0 0 0 .407-.705c.034-.324-.195-.718-.65-1.506L13.383 3.892c-.454-.785-.681-1.178-.978-1.31a1 1 0 0 0-.812 0c-.297.132-.524.525-.979 1.31\"\n })));\n};\nexport default SvgAlertTriangle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowCircleUpLeft = function SvgArrowCircleUpLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 15V9m0 0h6M9 9l6 6m7-3c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgArrowCircleUpLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowLeft = function SvgArrowLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M19 12H5m0 0 7 7m-7-7 7-7\"\n })));\n};\nexport default SvgArrowLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowNarrowLeft = function SvgArrowNarrowLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20 12H4m0 0 6 6m-6-6 6-6\"\n })));\n};\nexport default SvgArrowNarrowLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowNarrowRight = function SvgArrowNarrowRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M4 12h16m0 0-6-6m6 6-6 6\"\n })));\n};\nexport default SvgArrowNarrowRight;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowRight = function SvgArrowRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M5 12h14m0 0-7-7m7 7-7 7\"\n })));\n};\nexport default SvgArrowRight;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowSquareUpRight = function SvgArrowSquareUpRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M15 15V9m0 0H9m6 0-6 6m-1.2 6h8.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 18.72 21 17.88 21 16.2V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 3 17.88 3 16.2 3H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 5.28 3 6.12 3 7.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 21 6.12 21 7.8 21\"\n })));\n};\nexport default SvgArrowSquareUpRight;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBankNote01 = function SvgBankNote01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M6 11v4m12-6v4m-1-9c2.449 0 3.773.375 4.432.665a.7.7 0 0 1 .258.18c.076.072.215.284.25.383.06.165.06.255.06.435V16.41c0 .909 0 1.363-.136 1.597a.87.87 0 0 1-.532.44c-.255.089-.77-.01-1.8-.208-.72-.138-1.576-.24-2.532-.24-3 0-6 2-10 2-2.449 0-3.773-.375-4.432-.665-.088-.04-.132-.059-.258-.18a1.5 1.5 0 0 1-.25-.383C2 18.607 2 18.517 2 18.337V7.59c0-.909 0-1.363.136-1.597a.87.87 0 0 1 .532-.44c.255-.089.77.01 1.8.208C5.188 5.898 6.043 6 7 6c3 0 6-2 10-2m-2.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0\"\n })));\n};\nexport default SvgBankNote01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBarChart07 = function SvgBarChart07(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 21H6.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C3 19.48 3 18.92 3 17.8V3m4 7.5v7m4.5-12v12m4.5-7v7m4.5-12v12\"\n })));\n};\nexport default SvgBarChart07;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBarChart10 = function SvgBarChart10(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 7H4.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C3 7.76 3 8.04 3 8.6v10.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C3.76 21 4.04 21 4.6 21H9m0 0h6m-6 0V4.6c0-.56 0-.84.109-1.054a1 1 0 0 1 .437-.437C9.76 3 10.04 3 10.6 3h2.8c.56 0 .84 0 1.054.109a1 1 0 0 1 .437.437C15 3.76 15 4.04 15 4.6V21m0-10h4.4c.56 0 .84 0 1.054.109a1 1 0 0 1 .437.437C21 11.76 21 12.04 21 12.6v6.8c0 .56 0 .84-.109 1.054a1 1 0 0 1-.437.437C20.24 21 19.96 21 19.4 21H15\"\n })));\n};\nexport default SvgBarChart10;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBookClosed = function SvgBookClosed(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20 19v-3H7a3 3 0 0 0-3 3m4.8 3h8c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C20 20.48 20 19.92 20 18.8V5.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C18.48 2 17.92 2 16.8 2h-8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C4 4.28 4 5.12 4 6.8v10.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C6.28 22 7.12 22 8.8 22\"\n })));\n};\nexport default SvgBookClosed;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBookOpen01 = function SvgBookOpen01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m12 21-.1-.15c-.695-1.042-1.042-1.563-1.5-1.94a4 4 0 0 0-1.378-.737C8.453 18 7.827 18 6.575 18H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 16.48 2 15.92 2 14.8V6.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 3 4.08 3 5.2 3h.4c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C12 6.04 12 7.16 12 9.4M12 21V9.4M12 21l.1-.15c.695-1.042 1.042-1.563 1.5-1.94a4 4 0 0 1 1.378-.737C15.547 18 16.173 18 17.425 18H18.8c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 16.48 22 15.92 22 14.8V6.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 3 19.92 3 18.8 3h-.4c-2.24 0-3.36 0-4.216.436a4 4 0 0 0-1.748 1.748C12 6.04 12 7.16 12 9.4\"\n })));\n};\nexport default SvgBookOpen01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBookmarkAdd = function SvgBookmarkAdd(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 13V7m-3 3h6m4 11V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C16.72 3 15.88 3 14.2 3H9.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C5 5.28 5 6.12 5 7.8V21l7-4z\"\n })));\n};\nexport default SvgBookmarkAdd;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBriefcase02 = function SvgBriefcase02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M8 21V7c0-.93 0-1.395.102-1.776a3 3 0 0 1 2.121-2.122C10.606 3 11.07 3 12 3s1.395 0 1.777.102a3 3 0 0 1 2.12 2.122C16 5.605 16 6.07 16 7v14M5.2 21h13.6c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 19.48 22 18.92 22 17.8v-7.6c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 7 19.92 7 18.8 7H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 8.52 2 9.08 2 10.2v7.6c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C3.52 21 4.08 21 5.2 21\"\n })));\n};\nexport default SvgBriefcase02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBuilding07 = function SvgBuilding07(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 20 20\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#667085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.67,\n d: \"M6.25 9.167H3.833c-.466 0-.7 0-.878.09a.83.83 0 0 0-.364.365c-.091.178-.091.411-.091.878v7m11.25-8.333h2.417c.466 0 .7 0 .878.09.157.08.284.208.364.365.091.178.091.411.091.878v7m-3.75 0V5.167c0-.934 0-1.4-.182-1.757a1.67 1.67 0 0 0-.728-.728c-.357-.182-.823-.182-1.757-.182H8.917c-.934 0-1.4 0-1.757.182-.314.16-.569.414-.728.728-.182.357-.182.823-.182 1.757V17.5m12.083 0H1.667m7.5-11.667h1.666M9.167 9.167h1.666M9.167 12.5h1.666\"\n })));\n};\nexport default SvgBuilding07;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCalendarCheck01 = function SvgCalendarCheck01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 10H3m13-8v4M8 2v4m1 10 2 2 4.5-4.5M7.8 22h8.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 19.72 21 18.88 21 17.2V8.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 4 17.88 4 16.2 4H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 6.28 3 7.12 3 8.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 22 6.12 22 7.8 22\"\n })));\n};\nexport default SvgCalendarCheck01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCalendarPlus02 = function SvgCalendarPlus02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 11.5V8.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 4 17.88 4 16.2 4H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 6.28 3 7.12 3 8.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 22 6.12 22 7.8 22h4.7M21 10H3m13-8v4M8 2v4m10 15v-6m-3 3h6\"\n })));\n};\nexport default SvgCalendarPlus02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCalendar = function SvgCalendar(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 10H3m13-8v4M8 2v4m-.2 16h8.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 19.72 21 18.88 21 17.2V8.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 4 17.88 4 16.2 4H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 6.28 3 7.12 3 8.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 22 6.12 22 7.8 22\"\n })));\n};\nexport default SvgCalendar;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCheckVerified02 = function SvgCheckVerified02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m9 12 2 2 4.5-4.5m2.401-4.501c.206.498.601.893 1.1 1.1l1.744.723a2.033 2.033 0 0 1 1.1 2.656l-.722 1.744a2.03 2.03 0 0 0 0 1.556l.722 1.744a2.033 2.033 0 0 1-1.1 2.656L19 17.902A2.03 2.03 0 0 0 17.9 19l-.723 1.745a2.03 2.03 0 0 1-2.656 1.1l-1.744-.722a2.03 2.03 0 0 0-1.555 0l-1.745.723a2.033 2.033 0 0 1-2.654-1.1L6.1 19.001A2.03 2.03 0 0 0 5 17.9l-1.744-.723a2.033 2.033 0 0 1-1.1-2.654l.721-1.744a2.03 2.03 0 0 0 0-1.556l-.722-1.746a2.033 2.033 0 0 1 1.1-2.657L5 6.098c.498-.206.893-.6 1.1-1.098l.723-1.745a2.033 2.033 0 0 1 2.656-1.1l1.744.722a2.03 2.03 0 0 0 1.555-.001l1.746-.72a2.03 2.03 0 0 1 2.655 1.1l.723 1.746z\"\n })));\n};\nexport default SvgCheckVerified02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCheck = function SvgCheck(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20 6 9 17l-5-5\"\n })));\n};\nexport default SvgCheck;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgChevronDown = function SvgChevronDown(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m6 9 6 6 6-6\"\n })));\n};\nexport default SvgChevronDown;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgChevronLeft = function SvgChevronLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m15 18-6-6 6-6\"\n })));\n};\nexport default SvgChevronLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgChevronRight = function SvgChevronRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m9 18 6-6-6-6\"\n })));\n};\nexport default SvgChevronRight;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgChevronUp = function SvgChevronUp(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m18 15-6-6-6 6\"\n })));\n};\nexport default SvgChevronUp;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCircle = function SvgCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n })));\n};\nexport default SvgCircle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgClockCheck = function SvgClockCheck(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m14.5 19 2 2 4.5-4.5m.985-3.95Q22 12.276 22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 5.435 4.337 9.858 9.739 9.997M12 6v6l3.738 1.87\"\n })));\n};\nexport default SvgClockCheck;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgClock = function SvgClock(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 6v6l4 2m6-2c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgClock;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCopy06 = function SvgCopy06(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M7.5 3h7.1c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 6.04 21 7.16 21 9.4v7.1M6.2 21h8.1c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874c.218-.428.218-.988.218-2.108V9.7c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C15.98 6.5 15.42 6.5 14.3 6.5H6.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C3 8.02 3 8.58 3 9.7v8.1c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C4.52 21 5.08 21 6.2 21\"\n })));\n};\nexport default SvgCopy06;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgDataflow01 = function SvgDataflow01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M17 20h-.2c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C12 17.72 12 16.88 12 15.2V8.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C14.28 4 15.12 4 16.8 4h.2m0 16a2 2 0 1 0 4 0 2 2 0 0 0-4 0m0-16a2 2 0 1 0 4 0 2 2 0 0 0-4 0M7 12h10M7 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0m10 0a2 2 0 1 0 4 0 2 2 0 0 0-4 0\"\n })));\n};\nexport default SvgDataflow01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgDotsGrid = function SvgDotsGrid(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2M12 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2M12 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2M19 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2M19 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2M19 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2M5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2M5 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2M5 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"\n })));\n};\nexport default SvgDotsGrid;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgDownload01 = function SvgDownload01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 15v1.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V15m14-5-5 5m0 0-5-5m5 5V3\"\n })));\n};\nexport default SvgDownload01;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgEye = function SvgEye(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M2.42 12.713c-.136-.215-.204-.323-.242-.49a1.2 1.2 0 0 1 0-.446c.038-.167.106-.274.242-.49C3.546 9.505 6.895 5 12 5s8.455 4.505 9.58 6.287c.137.215.205.323.243.49.029.125.029.322 0 .446-.038.167-.106.274-.242.49C20.455 14.495 17.105 19 12 19c-5.106 0-8.455-4.505-9.58-6.287\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n })));\n};\nexport default SvgEye;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgFaceSmile = function SvgFaceSmile(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M8 14s1.5 2 4 2 4-2 4-2m-1-5h.01M9 9h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10m-6.5-3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0m-6 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0\"\n })));\n};\nexport default SvgFaceSmile;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgFile04 = function SvgFile04(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M14 2.27V6.4c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C14.76 8 15.04 8 15.6 8h4.13M20 9.988V17.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C17.72 22 16.88 22 15.2 22H8.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C4 19.72 4 18.88 4 17.2V6.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C6.28 2 7.12 2 8.8 2h3.212c.733 0 1.1 0 1.446.083.306.073.598.195.867.36.303.185.562.444 1.08.963l3.19 3.188c.518.519.777.778.963 1.081a3 3 0 0 1 .36.867c.082.346.082.712.082 1.446\"\n })));\n};\nexport default SvgFile04;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgFile06 = function SvgFile06(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M14 2.27V6.4c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437c.214.11.494.11 1.054.11h4.13M16 13H8m8 4H8m2-8H8m6-7H8.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C4 4.28 4 5.12 4 6.8v10.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C6.28 22 7.12 22 8.8 22h6.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C20 19.72 20 18.88 20 17.2V8z\"\n })));\n};\nexport default SvgFile06;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgFileAttachment04 = function SvgFileAttachment04(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20 7v-.2c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C17.72 2 16.88 2 15.2 2H8.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C4 4.28 4 5.12 4 6.8v10.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C6.28 22 7.12 22 8.8 22h3.7m0-11H8m3.5 4H8m8-8H8m10 11v-5.5a1.5 1.5 0 0 1 3 0V18a3 3 0 1 1-6 0v-4\"\n })));\n};\nexport default SvgFileAttachment04;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgHelpCircle = function SvgHelpCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgHelpCircle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgImage02 = function SvgImage02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m6 20 8.869-8.869c.396-.396.594-.594.822-.668a1 1 0 0 1 .618 0c.228.074.426.272.822.668l4.274 4.274M10.5 8.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgImage02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLayoutAlt01 = function SvgLayoutAlt01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 9h18M9 9v12M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3\"\n })));\n};\nexport default SvgLayoutAlt01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLayoutAlt03 = function SvgLayoutAlt03(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M17.5 17h-11m11-4h-11M3 9h18M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3\"\n })));\n};\nexport default SvgLayoutAlt03;","var _path, _rect;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLayoutCalendar = function SvgLayoutCalendar(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 9h18M3 15h18M9 21V9M15 21V9\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 18,\n height: 18,\n x: 3,\n y: 3,\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n rx: 3\n })));\n};\nexport default SvgLayoutCalendar;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLayoutGrid02 = function SvgLayoutGrid02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 9h18M3 15h18M12 3v18M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3\"\n })));\n};\nexport default SvgLayoutGrid02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLayoutLeft = function SvgLayoutLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 3v18M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3\"\n })));\n};\nexport default SvgLayoutLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLink01 = function SvgLink01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m12.708 18.364-1.415 1.414a5 5 0 1 1-7.07-7.07l1.413-1.415m12.728 1.414 1.415-1.414a5 5 0 0 0-7.071-7.071l-1.415 1.414M8.5 15.5l7-7\"\n })));\n};\nexport default SvgLink01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLock01 = function SvgLock01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M17 10V8A5 5 0 0 0 7 8v2m5 4.5v2M8.8 21h6.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C20 18.72 20 17.88 20 16.2v-1.4c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C17.72 10 16.88 10 15.2 10H8.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C4 12.28 4 13.12 4 14.8v1.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C6.28 21 7.12 21 8.8 21\"\n })));\n};\nexport default SvgLock01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLogIn01 = function SvgLogIn01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M15 3h1.2c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H15M10 7l5 5m0 0-5 5m5-5H3\"\n })));\n};\nexport default SvgLogIn01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLogOut01 = function SvgLogOut01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m16 17 5-5m0 0-5-5m5 5H9m0-9H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 5.28 3 6.12 3 7.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 21 6.12 21 7.8 21H9\"\n })));\n};\nexport default SvgLogOut01;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMarkerPin02 = function SvgMarkerPin02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 12.5a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 22c2-4 8-6.582 8-12a8 8 0 1 0-16 0c0 5.418 6 8 8 12\"\n })));\n};\nexport default SvgMarkerPin02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMessageNotificationCircle = function SvgMessageNotificationCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M11.707 3.036a8.5 8.5 0 0 0-7.264 11.18c.108.322.162.482.172.605a.9.9 0 0 1-.028.326c-.03.12-.098.245-.232.494l-1.636 3.027c-.233.432-.35.648-.324.815a.5.5 0 0 0 .234.35c.144.087.388.062.876.011l5.121-.529c.155-.016.233-.024.303-.021s.12.009.187.024c.069.016.155.05.329.116a8.5 8.5 0 0 0 11.52-7.153M20.12 3.88a3 3 0 1 1-4.243 4.242 3 3 0 0 1 4.243-4.242\"\n })));\n};\nexport default SvgMessageNotificationCircle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMessageSquare02 = function SvgMessageSquare02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v5.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 18 17.88 18 16.2 18h-2.516c-.624 0-.936 0-1.235.061a3 3 0 0 0-.761.267c-.272.14-.516.334-1.003.724L8.3 20.96c-.416.333-.624.5-.8.5a.5.5 0 0 1-.39-.188C7 21.135 7 20.868 7 20.336V18c-.93 0-1.395 0-1.776-.102a3 3 0 0 1-2.122-2.121C3 15.395 3 14.93 3 14z\"\n })));\n};\nexport default SvgMessageSquare02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMessageTextSquare01 = function SvgMessageTextSquare01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M7 8.5h5M7 12h8m-5.316 6H16.2c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 15.72 21 14.88 21 13.2V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 3 17.88 3 16.2 3H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 5.28 3 6.12 3 7.8v12.535c0 .533 0 .8.11.937a.5.5 0 0 0 .39.188c.176 0 .384-.167.8-.5l2.385-1.908c.488-.39.731-.585 1.002-.724q.363-.184.762-.267C8.748 18 9.06 18 9.684 18\"\n })));\n};\nexport default SvgMessageTextSquare01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMessageTextSquare02 = function SvgMessageTextSquare02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M7 8.5h5M7 12h8m-8 6v2.335c0 .533 0 .8.11.937a.5.5 0 0 0 .39.188c.176 0 .384-.167.8-.5l2.385-1.908c.487-.39.731-.585 1.002-.724q.363-.184.762-.267c.299-.061.61-.061 1.235-.061H16.2c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 15.72 21 14.88 21 13.2V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 3 17.88 3 16.2 3H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 5.28 3 6.12 3 7.8V14c0 .93 0 1.395.102 1.777a3 3 0 0 0 2.122 2.12C5.605 18 6.07 18 7 18\"\n })));\n};\nexport default SvgMessageTextSquare02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMinus = function SvgMinus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M5 12h14\"\n })));\n};\nexport default SvgMinus;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMusicNote01 = function SvgMusicNote01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 18V6.355c0-.481 0-.722.088-.917a1 1 0 0 1 .358-.424c.178-.118.416-.158.891-.237l8.8-1.466c.64-.107.961-.16 1.211-.068a1 1 0 0 1 .52.44c.132.231.132.556.132 1.206V16M9 18a3 3 0 1 1-6 0 3 3 0 0 1 6 0m12-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0\"\n })));\n};\nexport default SvgMusicNote01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPackage = function SvgPackage(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20.5 7.278 12 12m0 0L3.5 7.278M12 12v9.5m9-5.442V7.941c0-.342 0-.514-.05-.666a1 1 0 0 0-.215-.364c-.109-.119-.258-.202-.558-.368l-7.4-4.111c-.284-.158-.425-.237-.575-.268a1 1 0 0 0-.403 0c-.15.031-.292.11-.576.268l-7.4 4.11c-.3.167-.45.25-.558.369a1 1 0 0 0-.215.364C3 7.427 3 7.599 3 7.94v8.118c0 .342 0 .514.05.666a1 1 0 0 0 .215.364c.109.119.258.202.558.368l7.4 4.111c.284.158.425.237.576.267.133.028.27.028.402 0 .15-.03.292-.11.576-.267l7.4-4.11c.3-.167.45-.25.558-.369a1 1 0 0 0 .215-.364c.05-.152.05-.324.05-.667M16.5 9.5l-9-5\"\n })));\n};\nexport default SvgPackage;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPauseCircle = function SvgPauseCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9.5 15V9m5 6V9m7.5 3c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgPauseCircle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPencil01 = function SvgPencil01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m2.5 21.5 5.55-2.134c.354-.137.532-.205.698-.294q.221-.12.42-.273c.149-.116.283-.25.552-.52L21 7a2.828 2.828 0 1 0-4-4L5.72 14.28c-.269.269-.403.403-.519.552a3 3 0 0 0-.273.42c-.089.166-.157.344-.294.699zm0 0 2.058-5.351c.147-.383.221-.574.347-.662a.5.5 0 0 1 .38-.08c.15.028.295.173.585.463l2.26 2.26c.29.29.435.435.464.586a.5.5 0 0 1-.08.379c-.089.126-.28.2-.663.347z\"\n })));\n};\nexport default SvgPencil01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlayButton = function SvgPlayButton(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 22,\n fill: \"none\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M18 11 0 21.392V.608z\"\n })));\n};\nexport default SvgPlayButton;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlay = function SvgPlay(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 12 14\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#344054\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.67,\n d: \"M1.333 2.326c0-.647 0-.971.135-1.15A.67.67 0 0 1 1.96.914c.224-.013.493.167 1.032.526l7.01 4.673c.445.297.668.445.745.632a.67.67 0 0 1 0 .511c-.077.187-.3.336-.745.632l-7.01 4.674c-.54.359-.808.539-1.032.525a.67.67 0 0 1-.492-.263c-.135-.178-.135-.502-.135-1.15z\"\n })));\n};\nexport default SvgPlay;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlus = function SvgPlus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 5v14m-7-7h14\"\n })));\n};\nexport default SvgPlus;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRows03 = function SvgRows03(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 9h18M3 15h18M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3\"\n })));\n};\nexport default SvgRows03;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRss01 = function SvgRss01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16M6 19a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"\n })));\n};\nexport default SvgRss01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSave01 = function SvgSave01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M7 3v3.4c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C7.76 8 8.04 8 8.6 8h6.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C17 7.24 17 6.96 17 6.4V4m0 17v-6.4c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C16.24 13 15.96 13 15.4 13H8.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C7 13.76 7 14.04 7 14.6V21M21 9.325V16.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3h6.875c.489 0 .733 0 .963.055.204.05.4.13.579.24.201.123.374.296.72.642l3.126 3.126c.346.346.519.519.642.72q.165.27.24.579c.055.23.055.474.055.963\"\n })));\n};\nexport default SvgSave01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSearchLg = function SvgSearchLg(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m21 21-3.5-3.5m2.5-6a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0\"\n })));\n};\nexport default SvgSearchLg;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSearchMd = function SvgSearchMd(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m21 21-4.35-4.35M19 11a8 8 0 1 1-16 0 8 8 0 0 1 16 0\"\n })));\n};\nexport default SvgSearchMd;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSearchSm = function SvgSearchSm(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0\"\n })));\n};\nexport default SvgSearchSm;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSettings01 = function SvgSettings01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M18.727 14.727a1.5 1.5 0 0 0 .3 1.655l.055.054a1.816 1.816 0 0 1 0 2.573 1.82 1.82 0 0 1-2.573 0l-.055-.055a1.5 1.5 0 0 0-1.654-.3 1.5 1.5 0 0 0-.91 1.373v.155a1.818 1.818 0 1 1-3.636 0V20.1a1.5 1.5 0 0 0-.981-1.373 1.5 1.5 0 0 0-1.655.3l-.054.055a1.818 1.818 0 0 1-3.106-1.287 1.82 1.82 0 0 1 .533-1.286l.054-.055a1.5 1.5 0 0 0 .3-1.654 1.5 1.5 0 0 0-1.372-.91h-.155a1.818 1.818 0 1 1 0-3.636H3.9a1.5 1.5 0 0 0 1.373-.981 1.5 1.5 0 0 0-.3-1.655l-.055-.054A1.818 1.818 0 1 1 7.491 4.99l.054.054a1.5 1.5 0 0 0 1.655.3h.073a1.5 1.5 0 0 0 .909-1.372v-.155a1.818 1.818 0 0 1 3.636 0V3.9a1.5 1.5 0 0 0 .91 1.373 1.5 1.5 0 0 0 1.654-.3l.054-.055a1.817 1.817 0 0 1 2.573 0 1.82 1.82 0 0 1 0 2.573l-.055.054a1.5 1.5 0 0 0-.3 1.655v.073a1.5 1.5 0 0 0 1.373.909h.155a1.818 1.818 0 0 1 0 3.636H20.1a1.5 1.5 0 0 0-1.373.91\"\n })));\n};\nexport default SvgSettings01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSettings04 = function SvgSettings04(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 8h12m0 0a3 3 0 1 0 6 0 3 3 0 0 0-6 0m-6 8h12M9 16a3 3 0 1 1-6 0 3 3 0 0 1 6 0\"\n })));\n};\nexport default SvgSettings04;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgShareArrow = function SvgShareArrow(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M11.082 8.95a9.67 9.67 0 0 0-8.586 9.604v.612a11.4 11.4 0 0 1 8.586-4.119v3.229a1.222 1.222 0 0 0 1.98.959l7.993-6.312a1.18 1.18 0 0 0 0-1.852l-7.993-6.312a1.222 1.222 0 0 0-1.98.96z\",\n clipRule: \"evenodd\"\n })));\n};\nexport default SvgShareArrow;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSlashOctagon = function SvgSlashOctagon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m4.93 4.93 14.14 14.14M2 8.523v6.954c0 .245 0 .367.028.482a1 1 0 0 0 .12.29c.061.1.148.187.32.36l4.923 4.922c.173.173.26.26.36.322q.136.082.29.12c.115.027.237.027.482.027h6.954c.245 0 .367 0 .482-.028a1 1 0 0 0 .29-.12c.1-.061.187-.148.36-.32l4.922-4.923c.173-.173.26-.26.322-.36a1 1 0 0 0 .12-.29c.027-.115.027-.237.027-.482V8.523c0-.245 0-.367-.028-.482a1 1 0 0 0-.12-.29c-.061-.1-.148-.187-.32-.36L16.608 2.47c-.173-.173-.26-.26-.36-.322a1 1 0 0 0-.29-.12C15.844 2 15.722 2 15.477 2H8.523c-.245 0-.367 0-.482.028a1 1 0 0 0-.29.12c-.1.061-.187.148-.36.32L2.47 7.392c-.173.173-.26.26-.322.36a1 1 0 0 0-.12.29C2 8.156 2 8.278 2 8.523\"\n })));\n};\nexport default SvgSlashOctagon;","var _circle, _circle2, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSupport = function SvgSupport(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 9,\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 3.5,\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m14.475 9.525 3.888-3.888M5.637 18.363l3.888-3.888M9.525 9.525 5.637 5.637M18.363 18.363l-3.888-3.888\"\n })));\n};\nexport default SvgSupport;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSwitchHorizontal02 = function SvgSwitchHorizontal02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M4 17h16m0 0-4-4m4 4-4 4m4-14H4m0 0 4-4M4 7l4 4\"\n })));\n};\nexport default SvgSwitchHorizontal02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgThumbsUp = function SvgThumbsUp(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M7 22V11m-5 2v7a2 2 0 0 0 2 2h13.426a3 3 0 0 0 2.965-2.544l1.077-7A3 3 0 0 0 18.503 9H15a1 1 0 0 1-1-1V4.466A2.466 2.466 0 0 0 11.534 2a.82.82 0 0 0-.75.488l-3.52 7.918A1 1 0 0 1 6.35 11H4a2 2 0 0 0-2 2\"\n })));\n};\nexport default SvgThumbsUp;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgTrash01 = function SvgTrash01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M16 6v-.8c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C14.48 2 13.92 2 12.8 2h-1.6c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C8 3.52 8 4.08 8 5.2V6m2 5.5v5m4-5v5M3 6h18m-2 0v11.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C16.72 22 15.88 22 14.2 22H9.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C5 19.72 5 18.88 5 17.2V6\"\n })));\n};\nexport default SvgTrash01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgTrash03 = function SvgTrash03(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 3h6M3 6h18m-2 0-.701 10.52c-.105 1.578-.158 2.367-.499 2.965a3 3 0 0 1-1.298 1.215c-.62.3-1.41.3-2.993.3h-3.018c-1.582 0-2.373 0-2.993-.3A3 3 0 0 1 6.2 19.485c-.34-.598-.394-1.387-.499-2.966L5 6m5 4.5v5m4-5v5\"\n })));\n};\nexport default SvgTrash03;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgType02 = function SvgType02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M4 7c0-.932 0-1.398.152-1.765a2 2 0 0 1 1.083-1.083C5.602 4 6.068 4 7 4h10c.932 0 1.398 0 1.765.152a2 2 0 0 1 1.083 1.083C20 5.602 20 6.068 20 7M8 20h8M10.25 4v16m3.5-16v16\"\n })));\n};\nexport default SvgType02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgUpload01 = function SvgUpload01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 15v1.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V15m14-7-5-5m0 0L7 8m5-5v12\"\n })));\n};\nexport default SvgUpload01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgUser01 = function SvgUser01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20 21c0-1.396 0-2.093-.172-2.661a4 4 0 0 0-2.667-2.667c-.568-.172-1.265-.172-2.661-.172h-5c-1.396 0-2.093 0-2.661.172a4 4 0 0 0-2.667 2.667C4 18.907 4 19.604 4 21M16.5 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0\"\n })));\n};\nexport default SvgUser01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgUserEdit = function SvgUserEdit(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 15.5H7.5c-1.396 0-2.093 0-2.661.172a4 4 0 0 0-2.667 2.667C2 18.907 2 19.604 2 21M14.5 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0M11 21l3.101-.886c.149-.043.223-.064.292-.096a1 1 0 0 0 .175-.102c.061-.045.116-.1.225-.21l6.457-6.456a1.768 1.768 0 1 0-2.5-2.5l-6.457 6.457c-.11.11-.164.164-.209.225a1 1 0 0 0-.102.175 2 2 0 0 0-.096.292z\"\n })));\n};\nexport default SvgUserEdit;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgUsers01 = function SvgUsers01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M22 21v-2a4 4 0 0 0-3-3.874M15.5 3.291a4.001 4.001 0 0 1 0 7.418M17 21c0-1.864 0-2.796-.305-3.53a4 4 0 0 0-2.164-2.165C13.796 15 12.864 15 11 15H8c-1.864 0-2.796 0-3.53.305a4 4 0 0 0-2.166 2.164C2 18.204 2 19.136 2 21M13.5 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0\"\n })));\n};\nexport default SvgUsers01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgUsers02 = function SvgUsers02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M16 3.468a4.5 4.5 0 0 1 0 8.064m2 5.234c1.512.684 2.872 1.799 4 3.234M2 20c1.946-2.477 4.59-4 7.5-4s5.554 1.523 7.5 4M14 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0\"\n })));\n};\nexport default SvgUsers02;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgVerified = function SvgVerified(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 20 20\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#1A40FF\",\n d: \"M14.918 4.165c.171.415.5.745.915.918l1.455.602a1.694 1.694 0 0 1 .916 2.213l-.602 1.454a1.7 1.7 0 0 0 0 1.297l.602 1.453a1.694 1.694 0 0 1-.917 2.213l-1.453.602a1.7 1.7 0 0 0-.918.916l-.602 1.455a1.694 1.694 0 0 1-2.213.916l-1.453-.602a1.7 1.7 0 0 0-1.296.001l-1.455.602a1.694 1.694 0 0 1-2.211-.916l-.603-1.455a1.7 1.7 0 0 0-.916-.917l-1.454-.603a1.694 1.694 0 0 1-.917-2.212l.602-1.453a1.7 1.7 0 0 0-.001-1.296l-.601-1.456a1.694 1.694 0 0 1 .917-2.214l1.453-.602c.415-.171.744-.5.917-.914l.602-1.455a1.694 1.694 0 0 1 2.213-.916l1.453.602c.415.171.882.17 1.296-.001l1.455-.6a1.694 1.694 0 0 1 2.213.916l.603 1.455z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#fff\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.67,\n d: \"m7.5 10 1.667 1.667 3.75-3.75\"\n })));\n};\nexport default SvgVerified;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgVolumeMax = function SvgVolumeMax(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 16 12\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#344054\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.67,\n d: \"M13.165 1.333A7.96 7.96 0 0 1 14.667 6a7.96 7.96 0 0 1-1.502 4.667m-2.668-7.334c.527.756.836 1.676.836 2.667 0 .992-.309 1.91-.836 2.667m-4.074-7.09-2.11 2.11a1.4 1.4 0 0 1-.24.215.7.7 0 0 1-.194.08C3.803 4 3.721 4 3.56 4h-1.16c-.372 0-.56 0-.702.073a.67.67 0 0 0-.291.291c-.073.143-.073.33-.073.703v1.866c0 .374 0 .56.073.703a.67.67 0 0 0 .291.291C1.84 8 2.027 8 2.4 8h1.158c.163 0 .245 0 .321.019a.7.7 0 0 1 .193.08c.067.04.125.098.24.214l2.11 2.11c.286.286.43.428.552.438a.33.33 0 0 0 .28-.116c.08-.093.08-.295.08-.7v-8.09c0-.405 0-.606-.08-.7a.33.33 0 0 0-.28-.116c-.123.01-.266.153-.551.438\"\n })));\n};\nexport default SvgVolumeMax;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgVolumeX = function SvgVolumeX(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 16 12\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#344054\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.67,\n d: \"m14.667 4-4 4m0-4 4 4M6.423 1.577l-2.11 2.11a1.4 1.4 0 0 1-.24.215.7.7 0 0 1-.194.08C3.803 4 3.721 4 3.56 4h-1.16c-.372 0-.56 0-.702.073a.67.67 0 0 0-.291.291c-.073.143-.073.33-.073.703v1.866c0 .374 0 .56.073.703a.67.67 0 0 0 .291.291C1.84 8 2.027 8 2.4 8h1.158c.163 0 .245 0 .321.019a.7.7 0 0 1 .193.08c.067.04.125.098.24.214l2.11 2.11c.286.286.43.428.552.438a.33.33 0 0 0 .28-.116c.08-.093.08-.295.08-.7v-8.09c0-.405 0-.606-.08-.7a.33.33 0 0 0-.28-.116c-.123.01-.266.153-.551.438\"\n })));\n};\nexport default SvgVolumeX;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgWallet03 = function SvgWallet03(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M16.5 14h.01M3 5v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2H5a2 2 0 0 1-2-2m0 0a2 2 0 0 1 2-2h12m0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0\"\n })));\n};\nexport default SvgWallet03;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgXClose = function SvgXClose(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M18 6 6 18M6 6l12 12\"\n })));\n};\nexport default SvgXClose;","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"Buttons-module__button___I3yLe\",\"icon\":\"Buttons-module__icon___U2AOU\",\"widthFill\":\"Buttons-module__widthFill___HXb85\",\"widthHug\":\"Buttons-module__widthHug___Uy38K\",\"heightFill\":\"Buttons-module__heightFill___dwVrw\",\"heightHug\":\"Buttons-module__heightHug___El1C3\",\"small\":\"Buttons-module__small___x1NQN\",\"text\":\"Buttons-module__text___htxqX\",\"medium\":\"Buttons-module__medium___BZfsd\",\"large\":\"Buttons-module__large____KUDT\",\"ultra\":\"Buttons-module__ultra___zBezN\",\"primary\":\"Buttons-module__primary____crHN\",\"secondaryColor\":\"Buttons-module__secondaryColor___GONLZ\",\"secondaryGray\":\"Buttons-module__secondaryGray___yu1Ne\",\"tertiaryWhite\":\"Buttons-module__tertiaryWhite___QIZOq\",\"tertiaryColor\":\"Buttons-module__tertiaryColor___DwXbw\",\"tertiaryGray\":\"Buttons-module__tertiaryGray___y75cu\",\"linkColor\":\"Buttons-module__linkColor___Kg7EN\",\"linkBlack\":\"Buttons-module__linkBlack___WfA7t\",\"linkGray\":\"Buttons-module__linkGray___CQYUd\",\"tabActive\":\"Buttons-module__tabActive___chlqq\",\"tab\":\"Buttons-module__tab___yBTjo\",\"warning\":\"Buttons-module__warning___RaAeB\"};","// extracted by mini-css-extract-plugin\nexport default {\"calendarDay\":\"CalendarDay-module__calendarDay___SMwl6\",\"mark\":\"CalendarDay-module__mark___plkAJ\",\"day\":\"CalendarDay-module__day___ZPsML\",\"info\":\"CalendarDay-module__info___pRAf0\",\"holiday\":\"CalendarDay-module__holiday___gzeHn\",\"active\":\"CalendarDay-module__active___KnfaY\",\"filter\":\"CalendarDay-module__filter___VvlBz\"};","// extracted by mini-css-extract-plugin\nexport default {\"dateGrid\":\"DateGrid-module__dateGrid___zK2Lk\",\"upEntrance\":\"DateGrid-module__upEntrance___hyY1E\",\"up-entrance\":\"DateGrid-module__up-entrance___VdpW2\",\"downEntrance\":\"DateGrid-module__downEntrance___NwUT1\",\"down-entrance\":\"DateGrid-module__down-entrance___T99rw\",\"upExit\":\"DateGrid-module__upExit___qbeVq\",\"up-exit\":\"DateGrid-module__up-exit___jXHUk\",\"downExit\":\"DateGrid-module__downExit___vptj6\",\"down-exit\":\"DateGrid-module__down-exit___rlRJU\",\"displayNone\":\"DateGrid-module__displayNone___Rk4Fb\"};","// extracted by mini-css-extract-plugin\nexport default {\"datePicker\":\"DatePicker-module__datePicker___t3iuq\"};","// extracted by mini-css-extract-plugin\nexport default {\"datePickerFooter\":\"DatePickerFooter-module__datePickerFooter___S3vJR\",\"item\":\"DatePickerFooter-module__item___I9fi6\"};","// extracted by mini-css-extract-plugin\nexport default {\"datePickerHeader\":\"DatePickerHeader-module__datePickerHeader___tQ5fM\",\"text\":\"DatePickerHeader-module__text___mNfC_\",\"switchers\":\"DatePickerHeader-module__switchers___QlY8s\",\"item\":\"DatePickerHeader-module__item___nVpSe\"};","// extracted by mini-css-extract-plugin\nexport default {\"datePickerMain\":\"DatePickerMain-module__datePickerMain___G7IMt\",\"header\":\"DatePickerMain-module__header___XeOZO\",\"item\":\"DatePickerMain-module__item___UNZyP\",\"main\":\"DatePickerMain-module__main___i975m\",\"meta\":\"DatePickerMain-module__meta___XqHRG\",\"month\":\"DatePickerMain-module__month___lyaBg\",\"year\":\"DatePickerMain-module__year___fXQLm\",\"grid\":\"DatePickerMain-module__grid___SXNOt\"};","// extracted by mini-css-extract-plugin\nexport default {\"flexField\":\"FlexField-module__flexField___bQEfy\",\"inputField\":\"FlexField-module__inputField___ckUI1\",\"icon\":\"FlexField-module__icon___pHmKh\",\"textSupport\":\"FlexField-module__textSupport___WGMzj\",\"userPic\":\"FlexField-module__userPic___cJENJ\",\"help\":\"FlexField-module__help___ORoT_\",\"dropdown\":\"FlexField-module__dropdown___BqdfG\",\"dropdownReverse\":\"FlexField-module__dropdownReverse___FNjEK\",\"button\":\"FlexField-module__button___TjLHK\",\"red\":\"FlexField-module__red___BY7NK\",\"gray\":\"FlexField-module__gray___sjpVp\",\"pointer\":\"FlexField-module__pointer___dOJ4b\",\"focus\":\"FlexField-module__focus___pkwN6\",\"isError\":\"FlexField-module__isError___VljDQ\",\"disabled\":\"FlexField-module__disabled___lN8Vv\"};","// extracted by mini-css-extract-plugin\nexport default {\"inputFieldWrapper\":\"InputFieldWrapper-module__inputFieldWrapper___QKhWg\",\"labelText\":\"InputFieldWrapper-module__labelText___n0EsW\",\"required\":\"InputFieldWrapper-module__required___SDv6c\",\"hintText\":\"InputFieldWrapper-module__hintText___Utfgx\",\"hintError\":\"InputFieldWrapper-module__hintError___v4J5W\",\"helperLink\":\"InputFieldWrapper-module__helperLink___Kfen4\"};","// extracted by mini-css-extract-plugin\nexport default {\"flexField\":\"InputField-module__flexField___aNE6o\",\"inputField\":\"InputField-module__inputField___mzakH\",\"icon\":\"InputField-module__icon___xR6jG\",\"textSupport\":\"InputField-module__textSupport___njpRn\",\"userPic\":\"InputField-module__userPic___OQ_q0\",\"help\":\"InputField-module__help___uSjvq\",\"dropdown\":\"InputField-module__dropdown___QQuFp\",\"dropdownReverse\":\"InputField-module__dropdownReverse___Nfb9Z\",\"button\":\"InputField-module__button___jm0td\",\"red\":\"InputField-module__red___euINw\",\"gray\":\"InputField-module__gray___GGFcb\",\"pointer\":\"InputField-module__pointer___Ij_hP\",\"focus\":\"InputField-module__focus___xpWhB\",\"isError\":\"InputField-module__isError___x2fXo\",\"disabled\":\"InputField-module__disabled___hH7HA\",\"inputFieldWrapper\":\"InputField-module__inputFieldWrapper___ao9Rs\",\"labelText\":\"InputField-module__labelText___Fxxc3\",\"required\":\"InputField-module__required___p4MLk\",\"hintText\":\"InputField-module__hintText___LC2Oq\",\"hintError\":\"InputField-module__hintError___LrJWr\",\"helperLink\":\"InputField-module__helperLink___A_6Ua\",\"selectField\":\"InputField-module__selectField___ED0Q3\",\"modalWindow\":\"InputField-module__modalWindow___JplNC\",\"selectModalWindow\":\"InputField-module__selectModalWindow___Dg52i\",\"selectFieldOptionsItem\":\"InputField-module__selectFieldOptionsItem___HBdJA\",\"label\":\"InputField-module__label___Wlb6C\",\"active\":\"InputField-module__active___RcF6w\",\"switcherField\":\"InputField-module__switcherField___Qezr0\",\"radioFieldItem\":\"InputField-module__radioFieldItem___c6OMz\",\"checkbox\":\"InputField-module__checkbox___KcnRp\",\"textareaField\":\"InputField-module__textareaField___iuYg7\"};","// extracted by mini-css-extract-plugin\nexport default {\"radioFieldItem\":\"RadioField-module__radioFieldItem___uaoV4\",\"checkbox\":\"RadioField-module__checkbox____H6Wv\",\"label\":\"RadioField-module__label___LbYqv\",\"active\":\"RadioField-module__active___w24VO\"};","// extracted by mini-css-extract-plugin\nexport default {\"selectField\":\"SelectField-module__selectField___p9S2j\",\"flexField\":\"SelectField-module__flexField___a_gUY\",\"inputField\":\"SelectField-module__inputField___R6ZBR\",\"icon\":\"SelectField-module__icon___hgSSD\",\"textSupport\":\"SelectField-module__textSupport___vm4rj\",\"userPic\":\"SelectField-module__userPic___ge2Qc\",\"help\":\"SelectField-module__help___H6fhs\",\"dropdown\":\"SelectField-module__dropdown___Uy1N4\",\"dropdownReverse\":\"SelectField-module__dropdownReverse___8X1vc\",\"button\":\"SelectField-module__button___ZmuY4\",\"red\":\"SelectField-module__red___JPj3r\",\"gray\":\"SelectField-module__gray___IaQb0\",\"pointer\":\"SelectField-module__pointer___EtnYh\",\"focus\":\"SelectField-module__focus___oz_Mp\",\"isError\":\"SelectField-module__isError___i1lN2\",\"disabled\":\"SelectField-module__disabled___lZGk6\",\"modalWindow\":\"SelectField-module__modalWindow___JVZ8d\",\"selectModalWindow\":\"SelectField-module__selectModalWindow___w55Pm\",\"selectFieldOptionsItem\":\"SelectField-module__selectFieldOptionsItem___hQMC7\",\"label\":\"SelectField-module__label___Orjua\",\"active\":\"SelectField-module__active___a3j2T\"};","// extracted by mini-css-extract-plugin\nexport default {\"switcherField\":\"SwitcherField-module__switcherField___R9atT\",\"active\":\"SwitcherField-module__active___p_7P5\"};","// extracted by mini-css-extract-plugin\nexport default {\"textareaField\":\"TextareaField-module__textareaField___Vcg4L\",\"isError\":\"TextareaField-module__isError___VGTeU\"};","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"MicroButton-module__button___QMj95\",\"light\":\"MicroButton-module__light___pwfS3\",\"dark\":\"MicroButton-module__dark___YCw8u\",\"gray\":\"MicroButton-module__gray___pwAy2\",\"color\":\"MicroButton-module__color___RO79e\",\"colorHover\":\"MicroButton-module__colorHover___Rvxx7\",\"redHover\":\"MicroButton-module__redHover____WGXq\",\"colorFill\":\"MicroButton-module__colorFill___yLr74\",\"grayFill\":\"MicroButton-module__grayFill___Rr1s4\",\"redFill\":\"MicroButton-module__redFill___ANZAX\",\"size14\":\"MicroButton-module__size14___qZD63\",\"size16\":\"MicroButton-module__size16___WFrFl\",\"size20\":\"MicroButton-module__size20___ZVrVg\",\"size24\":\"MicroButton-module__size24___JOi7y\",\"size28\":\"MicroButton-module__size28___KCc7P\"};","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","export {default as AlertSquareSVG} from './alert-square.svg';\r\nexport {default as AlertTriangleSVG} from './alert-triangle.svg';\r\nexport {default as ArrowCircleUpLeftSVG} from './arrow-circle-up-left.svg';\r\nexport {default as ArrowNarrowLeftSVG} from './arrow-narrow-left.svg';\r\nexport {default as ArrowNarrowRightSVG} from './arrow-narrow-right.svg';\r\nexport {default as ArrowLeftSVG} from './arrow-left.svg';\r\nexport {default as ArrowRightSVG} from './arrow-right.svg';\r\nexport {default as ArrowSquareUpRightSVG} from './arrow-square-up-right.svg';\r\nexport {default as BarChart07SVG} from './bar-chart-07.svg';\r\nexport {default as BarChart10SVG} from './bar-chart-10.svg';\r\nexport {default as BankNote01SVG} from './bank-note-01.svg';\r\nexport {default as BookmarkAddSVG} from './bookmark-add.svg';\r\nexport {default as BookClosedSVG} from './book-closed.svg';\r\nexport {default as BookOpen01SVG} from './book-open-01.svg';\r\nexport {default as Briefcase02SVG} from './briefcase-02.svg';\r\nexport {default as Building07SVG} from './building-07.svg';\r\nexport {default as CalendarPlus02SVG} from './calendar-plus-02.svg';\r\nexport {default as CalendarSVG} from './calendar.svg';\r\nexport {default as CheckSVG} from './check.svg';\r\nexport {default as ChevronDownSVG} from './chevron-down.svg';\r\nexport {default as ChevronLeftSVG} from './chevron-left.svg';\r\nexport {default as ChevronRightSVG} from './chevron-right.svg';\r\nexport {default as CheckVerified02SVG} from './check-verified-02.svg';\r\nexport {default as ChevronUpSVG} from './chevron-up.svg';\r\nexport {default as ClockCheckSVG} from './clock-check.svg';\r\nexport {default as CLockSVG} from './clock.svg';\r\nexport {default as Copy06SVG} from './copy-06.svg';\r\nexport {default as Dataflow01SVG} from './dataflow-01.svg';\r\nexport {default as Download01SVG} from './download_01.svg';\r\nexport {default as DotsGridSVG} from './dots-grid.svg';\r\nexport {default as FaceSmileSVG} from './face-smile.svg';\r\nexport {default as File04SVG} from './file-04.svg';\r\nexport {default as File06SVG} from './file-06.svg';\r\nexport {default as FileAttachment04SVG} from './file-attachment-04.svg';\r\nexport {default as Image02SVG} from './image-02.svg';\r\nexport {default as LayoutCalendarSVG} from './layout-calendar.svg';\r\nexport {default as LayoutLeftSVG} from './layout-left.svg';\r\nexport {default as LayoutGrid02SVG} from './layout-grid-02.svg';\r\nexport {default as Link01SVG} from './link-01.svg';\r\nexport {default as Login01SVG} from './log-in-01.svg';\r\nexport {default as Logout01SVG} from './log-out-01.svg';\r\nexport {default as Lock01SVG} from './lock-01.svg';\r\nexport {default as MarkerPin02SVG} from './marker-pin-02.svg';\r\nexport {default as MessageNotificationCircleSVG} from './message-notification-circle.svg';\r\nexport {default as MessageTextSquare01SVG} from './message-text-square-01.svg';\r\nexport {default as MessageTextSquare02SVG} from './message-text-square-02.svg';\r\nexport {default as MinusSVG} from './minus.svg';\r\nexport {default as MusicNote01SVG} from './music-note-01.svg';\r\nexport {default as PackageSVG} from './package.svg';\r\nexport {default as PauseCircleSVG} from './pause-circle.svg';\r\nexport {default as Pencil01SVG} from './pencil-01.svg';\r\nexport {default as PlayButtonSVG} from './play-button.svg';\r\nexport {default as PlaySVG} from './play.svg';\r\nexport {default as PlusSVG} from './plus.svg';\r\nexport {default as Rss01SVG} from './rss-01.svg';\r\nexport {default as Rows03SVG} from './rows-03.svg';\r\nexport {default as Save01SVG} from './save-01.svg';\r\nexport {default as SearchSmSVG} from './search-sm.svg';\r\nexport {default as SearchMdSVG} from './search-md.svg';\r\nexport {default as SearchLgSVG} from './search-lg.svg';\r\nexport {default as Settings01SVG} from './settings-01.svg';\r\nexport {default as Settings04SVG} from './settings-04.svg';\r\nexport {default as SupportSVG} from './support.svg';\r\nexport {default as SlashOctagonSVG} from './slash-octagon.svg';\r\nexport {default as SwitchHorizontal02SVG} from './switch-horizontal-02.svg';\r\nexport {default as Trash01SVG} from './trash-01.svg';\r\nexport {default as Trash03SVG} from './trash-03.svg';\r\nexport {default as Type02SVG} from './type-02.svg';\r\nexport {default as Upload01SVG} from './upload-01.svg';\r\nexport {default as User01SVG} from './user-01.svg';\r\nexport {default as UserEditSVG} from './user-edit.svg';\r\nexport {default as Users01SVG} from './users-01.svg';\r\nexport {default as Users02SVG} from './users-02.svg';\r\nexport {default as VerifiedSVG} from './verified.svg';\r\nexport {default as VolumeMaxSVG} from './volume-max.svg';\r\nexport {default as VolumeXSVG} from './volume-x.svg';\r\nexport {default as Wallet03SVG} from './wallet-03.svg';\r\nexport {default as XCloseSVG} from './x-close.svg';\r\nexport {default as EyeSVG} from './eye.svg';\r\nexport {default as MessageSquare02SVG} from './message-square-02.svg';\r\nexport {default as ShareArrowSVG} from './share-arrow.svg';\r\nexport {default as ThumbsUpSVG} from './thumbs-up.svg';\r\nexport {default as LayoutAlt01SVG} from './layout-alt-01.svg';\r\nexport {default as LayoutAlt03SVG} from './layout-alt-03.svg';\r\nexport {default as CircleSVG} from './circle.svg';\r\nexport {default as CalendarCheck01SVG} from './calendar-check-01.svg';\r\nexport {default as HelpCircleSVG} from './help-circle.svg';\r\nexport {default as AlertCircleSVG} from './alert-circle.svg';\r\n","export * from './icons'","export * from './useIsErrorField'\r\nexport * from './useFormData'\r\nexport {default as useFormData} from './useFormData'\r\nexport {default as useIsErrorField} from './useIsErrorField'","'use client'\r\n\r\nimport {Dispatch, SetStateAction, useState} from \"react\";\r\nimport {getDeepValue, setDeepValue} from \"../lib\";\r\nimport {DictDeepActionKeyWayItemType, DictDeepActionKeyWayType} from \"../types\";\r\n\r\nexport type UseFormDataSetValueType = (value: any, keyWay: DictDeepActionKeyWayType, options?: {\r\n unionToArray: boolean,\r\n index?: number\r\n}) => void\r\n\r\nexport type UseFormDataGetValueType = (keyWay: DictDeepActionKeyWayType) => any\r\nexport type UseFormDataDeleteArrayItemType = (keyWay: DictDeepActionKeyWayType) => void\r\n\r\nexport type UseFormDataReturnType<T> = {\r\n formData: T,\r\n setFormData: Dispatch<SetStateAction<T>>,\r\n setValue: UseFormDataSetValueType,\r\n getValue: UseFormDataGetValueType,\r\n resetForm: () => void,\r\n clearForm: () => void,\r\n deleteArrayItem: UseFormDataDeleteArrayItemType,\r\n}\r\n\r\nexport default function useFormData<T extends Record<string, any>>(value?: T): UseFormDataReturnType<T> {\r\n const [formData, setFormData] = useState<T>(value || {} as T)\r\n\r\n const setValue: UseFormDataSetValueType = (value, keyWay, options = {unionToArray: false}): void => {\r\n setFormData(prevState => {\r\n let newValue = value\r\n\r\n if (options.unionToArray) {\r\n const curValue = getDeepValue(prevState, keyWay)\r\n if (Array.isArray(curValue)) {\r\n if (options.index !== undefined && options.index < curValue.length && options.index >= 0) {\r\n newValue = [...curValue]\r\n newValue[options.index] = value\r\n } else {\r\n newValue = [...curValue, newValue]\r\n }\r\n } else {\r\n if (options.index) {\r\n if (options.index === 0)\r\n newValue = [newValue]\r\n else\r\n newValue = curValue ? [curValue, newValue] : [newValue]\r\n } else {\r\n newValue = curValue ? [curValue, newValue] : [newValue]\r\n }\r\n }\r\n }\r\n\r\n return {...setDeepValue(prevState, newValue, {keysWay: keyWay})} as T\r\n })\r\n }\r\n\r\n const getValue: UseFormDataGetValueType = (keyWay): string => {\r\n return getDeepValue(formData, keyWay)\r\n }\r\n\r\n const resetForm = () => {\r\n setFormData(value || {} as T)\r\n }\r\n\r\n const clearForm = () => {\r\n setFormData({} as T)\r\n }\r\n\r\n const deleteArrayItem: UseFormDataDeleteArrayItemType = (keyWay) => {\r\n const lastKeyWay: DictDeepActionKeyWayItemType | undefined = keyWay.length > 0 && keyWay[keyWay.length - 1] || undefined\r\n if (lastKeyWay && typeof lastKeyWay === 'object') {\r\n const arrayKeyWay = [...keyWay.slice(0, keyWay.length - 1), lastKeyWay.name]\r\n const oldValue = getValue(arrayKeyWay).filter((_item: any, idx: number) => idx !== lastKeyWay.index)\r\n setValue(oldValue, arrayKeyWay)\r\n }\r\n }\r\n\r\n return {\r\n formData: formData,\r\n setFormData: setFormData,\r\n setValue: setValue,\r\n getValue: getValue,\r\n resetForm: resetForm,\r\n clearForm: clearForm,\r\n deleteArrayItem: deleteArrayItem\r\n }\r\n}\r\n","'use client'\r\n\r\nimport {useEffect, useState} from \"react\";\r\nimport {DictDeepActionKeyWayType} from \"../types\";\r\nimport {isEqualArrays} from \"../lib\";\r\n\r\nexport type UseIsErrorFieldNameType = string | DictDeepActionKeyWayType\r\nexport type UseIsErrorFieldIsErrorItemType = { name: UseIsErrorFieldNameType, errorMessage?: string }\r\nexport type UseIsErrorFieldIsErrorType = UseIsErrorFieldIsErrorItemType[]\r\nexport type UseIsErrorFieldIsErrorFieldType = (name: UseIsErrorFieldNameType) => boolean\r\nexport type UseIsErrorFieldGetErrorMessageType = (name: UseIsErrorFieldNameType) => string | undefined\r\nexport type UseIsErrorFieldAddErrorFieldType = (name: UseIsErrorFieldNameType, errorMessage?: string) => void\r\nexport type UseIsErrorFieldRemoveErrorFieldType = (name: UseIsErrorFieldNameType) => void\r\n\r\nexport type UseIsErrorFieldReturnType = {\r\n isErrorField: UseIsErrorFieldIsErrorFieldType,\r\n addErrorField: UseIsErrorFieldAddErrorFieldType,\r\n removeErrorField: UseIsErrorFieldRemoveErrorFieldType,\r\n getErrorMessage: UseIsErrorFieldGetErrorMessageType,\r\n clearErrors: () => void,\r\n isError: UseIsErrorFieldIsErrorType\r\n}\r\n\r\nconst notSensitiveCheckNameField = (value: UseIsErrorFieldNameType, field: UseIsErrorFieldNameType) => {\r\n if (value.length === 0 || field.length === 0) {\r\n return false\r\n }\r\n\r\n let i = 0\r\n for (let j = 0; j < value.length && i < field.length; j++) {\r\n if (JSON.stringify(value[j]) === JSON.stringify(field[i])) {\r\n i++\r\n }\r\n j++\r\n }\r\n return i === field.length\r\n}\r\n\r\nconst checkNameField = (value: UseIsErrorFieldNameType, field: UseIsErrorFieldNameType) => {\r\n const convertValue = typeof value === \"object\" && value.length === 1 ? value[0] : value\r\n const convertField = typeof field === \"object\" && field.length === 1 ? field[0] : field\r\n return convertValue.toString() === convertField.toString()\r\n}\r\n\r\nconst comp = (a: UseIsErrorFieldNameType, b: UseIsErrorFieldNameType) => {\r\n const arrA = typeof a === 'object' ? a : [a]\r\n const arrB = typeof b === 'object' ? b : [b]\r\n const length = arrA.length\r\n return length !== 0 && isEqualArrays(arrA.slice(0, length), arrB.slice(0, length))\r\n}\r\n\r\nexport default function useIsErrorField({\r\n additionIsErrorFields = [],\r\n sensitiveSearch = true,\r\n }:\r\n {\r\n additionIsErrorFields?: UseIsErrorFieldIsErrorType,\r\n sensitiveSearch?: boolean,\r\n } = {}): UseIsErrorFieldReturnType {\r\n const [isError, setIsError] = useState<UseIsErrorFieldIsErrorType>([])\r\n\r\n useEffect(() => {\r\n if (additionIsErrorFields && additionIsErrorFields.length > 0)\r\n setIsError(prevState => [...prevState, ...additionIsErrorFields])\r\n }, [JSON.stringify(additionIsErrorFields)])\r\n // }, [additionIsErrorFields])\r\n\r\n const isErrorField: UseIsErrorFieldIsErrorFieldType = (name) => {\r\n const criterion = (value: UseIsErrorFieldIsErrorItemType) => sensitiveSearch ? checkNameField(value.name, name) : notSensitiveCheckNameField(value.name, name)\r\n return isError.some(criterion)\r\n }\r\n\r\n const addErrorField: UseIsErrorFieldAddErrorFieldType = (name, errorMessage) => {\r\n setIsError(prevState => {\r\n const newSet = [...prevState.filter(value => !checkNameField(value.name, name))]\r\n return [...newSet, {name: name, errorMessage: errorMessage}]\r\n })\r\n }\r\n\r\n const removeErrorField: UseIsErrorFieldRemoveErrorFieldType = (name) => {\r\n setIsError(prevState => {\r\n const newSet = [...prevState]\r\n return newSet.filter(value => !comp(name, value.name))\r\n })\r\n }\r\n\r\n const getErrorMessage: UseIsErrorFieldGetErrorMessageType = (name) => {\r\n const criterion = (value: UseIsErrorFieldIsErrorItemType) => checkNameField(value.name, name)\r\n return isError.find(criterion)?.errorMessage\r\n }\r\n\r\n const clearErrors = () => {\r\n setIsError([])\r\n }\r\n\r\n return {\r\n isErrorField: isErrorField,\r\n addErrorField: addErrorField,\r\n removeErrorField: removeErrorField,\r\n getErrorMessage: getErrorMessage,\r\n clearErrors: clearErrors,\r\n isError: isError\r\n }\r\n}","export default function getUniqueArray<T>(\r\n array: T[],\r\n comparator: (a: T, b: T) => boolean = (a: T, b: T) => a === b\r\n) {\r\n return array.filter((a, index) => array.findIndex(item => comparator(a, item)) === index);\r\n}","export {default as isArray} from './isArray'\r\nexport {default as isEqualArrays} from './isEqualArrays'\r\nexport {default as getUniqueArray} from './getUniqueArray'","export default function isArray(value: any) {\r\n return Array.isArray(value)\r\n}","export default function isEqualArrays(a: any[], b: any[]) {\r\n return a.toString() === b.toString()\r\n}","import {isDict} from \"../dict\";\r\nimport {\r\n DictDeepActionKeyWayItemDictType,\r\n DictDeepActionKeyWayItemStringType,\r\n DictDeepActionKeyWayType\r\n} from \"../../types\";\r\n\r\nexport default function getDeepValue(dict: { [key: string]: any }, keyWay: DictDeepActionKeyWayType): any {\r\n let curPlace: { [key: string]: any } = dict\r\n\r\n for (let i = 0; i < keyWay?.length || 0; i++) {\r\n if (!isDict(curPlace))\r\n return undefined\r\n\r\n if (typeof keyWay[i] === 'object') {\r\n const {name, index} = keyWay[i] as DictDeepActionKeyWayItemDictType\r\n if (name in curPlace)\r\n curPlace = curPlace[name][index]\r\n else\r\n return undefined\r\n\r\n } else {\r\n const item = keyWay[i] as DictDeepActionKeyWayItemStringType\r\n if (item in curPlace)\r\n curPlace = curPlace[item]\r\n else\r\n return undefined\r\n }\r\n }\r\n\r\n return curPlace\r\n}","export {default as isDict} from './isDict'\r\nexport {default as setDeepValue} from './setDeepValue'\r\nexport {default as getDeepValue} from './getDeepValue'","export default function isDict(variable: any): boolean {\r\n return typeof variable === \"object\" &&\r\n variable !== null &&\r\n !Array.isArray(variable)\r\n // && Object.prototype.toString.call(variable) === \"[object Object]\"\r\n}","import {isDict} from \"../../lib\";\r\nimport {isArray} from \"../../lib\";\r\nimport {DictDeepActionKeyWayItemType, DictDeepActionKeyWayType} from \"../../types\";\r\n\r\nexport default function setDeepValue(dict: { [key: string]: any }, value: any, options: {\r\n keysWay: DictDeepActionKeyWayType\r\n}): {\r\n [key: string]: any\r\n} {\r\n let newDict = {...dict}\r\n let writePlace = newDict\r\n const lastIndexOfKeysWay = options.keysWay.length - 1\r\n options.keysWay.forEach((key: DictDeepActionKeyWayItemType, idx: number) => {\r\n let curKey: DictDeepActionKeyWayItemType | number = key\r\n if (typeof curKey === 'object') {\r\n const {name, index} = curKey\r\n\r\n if (!isArray(writePlace[name]))\r\n writePlace[name] = []\r\n\r\n writePlace = writePlace[name]\r\n curKey = index\r\n }\r\n\r\n if (!isDict(writePlace[curKey])) {\r\n writePlace[curKey] = {}\r\n }\r\n\r\n if (idx < lastIndexOfKeysWay)\r\n writePlace = writePlace[curKey]\r\n else\r\n writePlace[curKey] = value\r\n })\r\n\r\n return newDict\r\n}","export * from './dict'\r\nexport * from './array'\r\nexport * from './reactComponents'","import React from \"react\";\r\n\r\nexport default function handleScrollEnd(e: React.UIEvent<HTMLDivElement>, callback: (e: React.UIEvent<HTMLDivElement>) => void) {\r\n const target = e.currentTarget as HTMLElement;\r\n if (target) {\r\n const {scrollTop, scrollHeight, clientHeight} = target;\r\n\r\n if (scrollTop + clientHeight >= scrollHeight) {\r\n callback(e)\r\n }\r\n }\r\n}","export {default as handleScrollEnd} from './handleScrollEnd'\r\nexport {default as isCustomComponent} from './isCustomComponent'","export default function isCustomComponent(element: React.ReactElement): boolean {\r\n return typeof element.type !== \"string\";\r\n}","export type DictDeepActionKeyWayItemStringType = string\r\nexport type DictDeepActionKeyWayItemDictType = { name: string, index: number }\r\nexport type DictDeepActionKeyWayItemType = DictDeepActionKeyWayItemStringType | DictDeepActionKeyWayItemDictType\r\nexport type DictDeepActionKeyWayType = DictDeepActionKeyWayItemType[]\r\n","export type Overwrite<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U","export * from './HelperType'\r\nexport * from './DictDeepActionsTypes'","export * from './types'\r\nexport * from './ui'","export {default as ButtonsStyle} from './Buttons.module.scss'","import React, {ReactElement, ReactNode} from \"react\";\r\n\r\nexport type ButtonSizeType =\r\n | 'small'\r\n | 'medium'\r\n | 'large'\r\n | 'ultra'\r\nexport type ButtonHierarchyType =\r\n | 'primary'\r\n | 'secondary-color'\r\n | 'secondary-gray'\r\n | 'tertiary-white'\r\n | 'tertiary-color'\r\n | 'tertiary-gray'\r\n | 'link-color'\r\n | 'link-black'\r\n | 'link-gray'\r\n | 'tab-active'\r\n | 'tab'\r\n\r\nexport type ButtonClassNameType = {\r\n button?: string,\r\n icon?: string,\r\n text?: string,\r\n primary?: string,\r\n secondaryColor?: string,\r\n secondaryGray?: string,\r\n tertiaryWhite?: string,\r\n tertiaryColor?: string,\r\n tertiaryGray?: string,\r\n linkColor?: string,\r\n linkBlack?: string,\r\n linkGray?: string,\r\n tabActive?: string,\r\n tab?: string,\r\n warning?: string,\r\n small?: string,\r\n medium?: string,\r\n large?: string,\r\n ultra?: string,\r\n widthFill?: string,\r\n widthHug?: string,\r\n heightFill?: string,\r\n heightHug?: string,\r\n}\r\n/**\r\n * Компонент кнопки\r\n */\r\nexport type ButtonPropsType = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'className'> & {\r\n /** Размер кнопки (small, medium, large) */\r\n size?: ButtonSizeType,\r\n /** Иерархия (primary, secondary, etc.) */\r\n hierarchy?: ButtonHierarchyType,\r\n /** Текст внутри кнопки */\r\n children?: React.ReactNode,\r\n /** Текст внутри кнопки */\r\n text?: React.ReactNode,\r\n /** Иконка слева */\r\n iconLeft?: React.ReactNode,\r\n /** Иконка справа */\r\n iconRight?: React.ReactNode,\r\n /** Показывает кнопку в режиме предупреждения */\r\n warning?: boolean,\r\n /** Тип длины, fill --- заполнит, hug --- подгонит под контент */\r\n width?: 'fill' | 'hug',\r\n /** Тип высоты, fill --- заполнит, hug --- подгонит под контент */\r\n height?: 'fill' | 'hug',\r\n /** Дополнительные имена стилей */\r\n additionStyles?: string | string[],\r\n /** Кастомный компонент с обязательным пропсом children, в него будут вставлены элементы кнопки и накинуты стили */\r\n customComponent?: ReactElement<{children?: ReactNode, className?: string} & {[key: string]: any}>,\r\n className?: ButtonClassNameType,\r\n}","export * from './ButtonTypes'","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {ButtonPropsType} from '../types'\r\nimport {ButtonsStyle} from \"../styles\";\r\n\r\nexport function Button({\r\n children,\r\n text,\r\n iconLeft,\r\n iconRight,\r\n hierarchy = 'primary',\r\n warning = false,\r\n size = 'medium',\r\n width = 'hug',\r\n height = 'hug',\r\n additionStyles = [],\r\n customComponent,\r\n className = ButtonsStyle,\r\n ...props\r\n }: ButtonPropsType) {\r\n const getHierarchyClassName = () => {\r\n switch (hierarchy) {\r\n case \"primary\":\r\n return className?.primary\r\n case \"secondary-color\":\r\n return className?.secondaryColor\r\n case \"secondary-gray\":\r\n return className?.secondaryGray\r\n case \"tertiary-white\":\r\n return className?.tertiaryWhite\r\n case \"tertiary-color\":\r\n return className?.tertiaryColor\r\n case \"tertiary-gray\":\r\n return className?.tertiaryGray\r\n case \"link-color\":\r\n return className?.linkColor\r\n case \"link-black\":\r\n return className?.linkBlack\r\n case \"link-gray\":\r\n return className?.linkGray\r\n case \"tab\":\r\n return className?.tab\r\n case \"tab-active\":\r\n return className?.tabActive\r\n }\r\n }\r\n\r\n const getSizeClassName = () => {\r\n switch (size) {\r\n case \"small\":\r\n return className?.small\r\n case \"medium\":\r\n return className?.medium\r\n case \"large\":\r\n return className?.large\r\n case \"ultra\":\r\n return className?.ultra\r\n }\r\n }\r\n\r\n const getWidthClassName = () => {\r\n switch (width) {\r\n case \"fill\":\r\n return className?.widthFill\r\n case \"hug\":\r\n return className?.widthHug\r\n }\r\n }\r\n\r\n const getHeightClassName = () => {\r\n switch (height) {\r\n case \"fill\":\r\n return className?.heightFill\r\n case \"hug\":\r\n return className?.heightHug\r\n }\r\n }\r\n\r\n const getAdditionStyles = () => {\r\n if (typeof additionStyles === 'string') {\r\n return additionStyles\r\n }\r\n return additionStyles.join(' ')\r\n }\r\n\r\n const getWarningStyles = () => {\r\n return warning ? className?.warning : ''\r\n }\r\n\r\n const getMainContent = () => {\r\n return (\r\n <>\r\n {iconLeft && <span className={className?.icon}>{iconLeft}</span>}\r\n {children && <span className={className?.text}>{text || children}</span>}\r\n {iconRight && <span className={className?.icon}>{iconRight}</span>}\r\n </>\r\n )\r\n }\r\n\r\n const getClassName = () => {\r\n return clsx(className?.button, getHierarchyClassName(), getSizeClassName(), getWidthClassName(), getHeightClassName(), getAdditionStyles(), getWarningStyles())\r\n }\r\n\r\n if (customComponent !== undefined) {\r\n return React.cloneElement(customComponent, {\r\n children: getMainContent(),\r\n className: getClassName()\r\n })\r\n }\r\n\r\n return (\r\n <button {...props}\r\n className={getClassName()}>\r\n {getMainContent()}\r\n </button>\r\n )\r\n}","export * from './Button'","export const CALENDAR_DAY_TARGET_DATE = \"calendar-day-target-date\"\r\nexport const NUM_OF_ROWS = 6\r\nexport const NUM_OF_COLS = 7\r\n","export * from './ui'\r\nexport * from './const'\r\nexport * from './types'","import {\r\n addWeeks,\r\n closestIndexTo,\r\n differenceInDays,\r\n endOfMonth,\r\n endOfWeek,\r\n isEqual,\r\n max,\r\n min,\r\n startOfMonth,\r\n startOfWeek\r\n} from \"date-fns\";\r\nimport {NUM_OF_COLS, NUM_OF_ROWS} from \"../const\";\r\nimport {DatePickerChosenIntervalType} from \"../types\";\r\n\r\nexport const getIntervalDate = (targetDate: string) => {\r\n let start = startOfWeek(startOfMonth(targetDate), {weekStartsOn: 1})\r\n let end = endOfWeek(endOfMonth(targetDate), {weekStartsOn: 1})\r\n const daysBetween = differenceInDays(end, start)\r\n\r\n if (NUM_OF_COLS * NUM_OF_ROWS > daysBetween) {\r\n end = endOfWeek(addWeeks(end, 1))\r\n }\r\n return {start: start.toISOString(), end: end.toISOString()}\r\n}\r\n\r\n\r\nexport const getNewInterval = (prevState: DatePickerChosenIntervalType, newDate: string): DatePickerChosenIntervalType => {\r\n const start = prevState.start\r\n const end = prevState.end\r\n\r\n if (start && isEqual(start, newDate)) {\r\n return {...prevState, start: undefined}\r\n }\r\n\r\n if (end && isEqual(end, newDate)) {\r\n return {...prevState, end: undefined}\r\n }\r\n\r\n if (start && end) {\r\n const closestDateIndex = closestIndexTo(newDate, [start, end])\r\n if (closestDateIndex === 0) {\r\n return {...prevState, start: newDate}\r\n } else {\r\n return {...prevState, end: newDate}\r\n }\r\n } else if (start || end) {\r\n const existDate = start || end\r\n return {start: min([existDate, newDate]).toISOString(), end: max([existDate, newDate]).toISOString()}\r\n } else {\r\n return {start: newDate}\r\n }\r\n}\r\n\r\nexport const getInitChosenInterval = ({start, end, multiple}: { start?: string, end?: string, multiple?: boolean }) => {\r\n if (multiple) {\r\n return {start: start, end: end}\r\n }\r\n return {start: start || end}\r\n}\r\n\r\nexport const getInitTargetDate = ({start, end}: { start?: string, end?: string }): string => {\r\n const chosenDate = start || end\r\n if (chosenDate) {\r\n return chosenDate\r\n }\r\n return (new Date()).toISOString()\r\n}","export {default as CalendarDayStyle} from './CalendarDay.module.scss'\r\nexport {default as DatePickerStyle} from './DatePicker.module.scss'\r\nexport {default as DatePickerMainStyle} from './DatePickerMain.module.scss'\r\nexport {default as DateGridStyle} from './DateGrid.module.scss'\r\nexport {default as DatePickerHeaderStyle} from './DatePickerHeader.module.scss'\r\nexport {default as DatePickerFooterStyle} from './DatePickerFooter.module.scss'","export type CalendarDayClassNameType = {\r\n calendarDay?: string,\r\n mark?: string,\r\n day?: string,\r\n info?: string,\r\n holiday?: string,\r\n filter?: string,\r\n active?: string,\r\n}\r\n\r\nexport type CalendarDayMetaDayType = number | string\r\nexport type CalendarDayMetaInfoType = number | string\r\n\r\nexport type CalendarDayMetaType = {\r\n day?: CalendarDayMetaDayType,\r\n info?: CalendarDayMetaInfoType,\r\n}\r\n\r\nexport type CalendarDayPropsType = CalendarDayMetaType & {\r\n disabled?: boolean,\r\n holiday?: boolean,\r\n active?: boolean,\r\n filter?: boolean,\r\n mark?: boolean,\r\n onClick?: () => void,\r\n className?: CalendarDayClassNameType,\r\n}","import {CalendarDayMetaList} from \"./DatePickerMainTypes\";\r\n\r\nexport type DateGridOnClickDate = (date: string) => void\r\n\r\nexport type DateGridStatesType = 'upEntrance' | 'downEntrance' | 'upExit' | 'downExit' | 'display-none'\r\n\r\nexport type DateGridPropsType = {\r\n grid: CalendarDayMetaList,\r\n onClickDate?: DateGridOnClickDate,\r\n onScrollUp?: () => void,\r\n onScrollDown?: () => void,\r\n state?: DateGridStatesType,\r\n}","export type DatePickerFooterPropsType = {\r\n onCancel?: () => void,\r\n onSubmit?: () => void,\r\n}","export type DatePickerHeaderPropsType = {\r\n onUpClick?: () => void;\r\n onDownClick?: () => void;\r\n}","import {DateGridOnClickDate} from \"./DateGridTypes\";\r\nimport {CalendarDayMetaInfoType, CalendarDayPropsType} from \"./CalendarDayTypes\";\r\n\r\nexport type CalendarDayMetaList = (CalendarDayPropsType & { id?: string, date: string })[]\r\n\r\nexport type MarkerFunType = (date: string) => boolean\r\nexport type InfoFunType = (date: string) => CalendarDayMetaInfoType\r\n\r\nexport type DatePickerMainPropsType = {\r\n target: string,\r\n chosenStart?: string,\r\n chosenEnd?: string,\r\n infoFun?: InfoFunType,\r\n markFun?: MarkerFunType,\r\n onClickDate?: DateGridOnClickDate,\r\n onScrollUp?: () => void,\r\n onScrollDown?: () => void,\r\n}","import {InfoFunType, MarkerFunType} from \"./DatePickerMainTypes\";\r\n\r\nexport type DatePickerOnSubmitType = ({start, end}: {\r\n start?: string, end?: string\r\n}) => void\r\nexport type DatePickerChosenIntervalType = {start?: string, end?: string}\r\nexport type DatePickerPropsType = {\r\n chosenStart?: string,\r\n chosenEnd?: string,\r\n infoFun?: InfoFunType,\r\n markFun?: MarkerFunType,\r\n onSubmit?: DatePickerOnSubmitType,\r\n onCancel?: () => void,\r\n formatDate?: string,\r\n multiple?: boolean,\r\n}","export * from './CalendarDayTypes'\r\nexport * from './DatePickerMainTypes'\r\nexport * from './DateGridTypes'\r\nexport * from './DatePickerTypes'\r\nexport * from './DatePickerHeaderTypes'\r\nexport * from './DatePickerFooterTypes'","import React from 'react';\r\nimport clsx from \"clsx\";\r\nimport {CalendarDayPropsType} from \"../types\";\r\nimport {CalendarDayStyle} from \"../styles\";\r\n\r\nexport function CalendarDay({\r\n day,\r\n info,\r\n holiday,\r\n filter,\r\n active,\r\n mark,\r\n onClick,\r\n disabled = false,\r\n className = CalendarDayStyle\r\n }: CalendarDayPropsType) {\r\n const getClassName = () => {\r\n return clsx(className?.calendarDay, {\r\n [className?.active]: active,\r\n [className?.filter]: filter,\r\n [className?.holiday]: holiday,\r\n })\r\n }\r\n return (\r\n <button type={'button'} disabled={disabled} onClick={onClick} className={getClassName()}>\r\n {mark && <span className={className?.mark}></span>}\r\n {day && <span className={className?.day}>{day}</span>}\r\n {info && <span className={className?.info}>{info}</span>}\r\n </button>\r\n )\r\n}","import React, {useEffect, useRef} from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {DateGridPropsType} from \"../types\";\r\nimport {DateGridStyle} from \"../styles\";\r\nimport {CalendarDay} from \"./CalendarDay\";\r\n\r\nexport function DateGrid({\r\n grid,\r\n onClickDate,\r\n onScrollUp,\r\n onScrollDown,\r\n state\r\n }: DateGridPropsType) {\r\n const elementRef = useRef<HTMLDivElement | null>(null)\r\n const lastTouchY = useRef(0);\r\n\r\n useEffect(() => {\r\n const onTouchMove = (event: TouchEvent) => {\r\n const touchY = event.touches[0].clientY;\r\n if (touchY < lastTouchY.current) {\r\n onScrollUp && onScrollUp()\r\n } else if (touchY > lastTouchY.current) {\r\n onScrollDown && onScrollDown()\r\n }\r\n lastTouchY.current = touchY;\r\n };\r\n\r\n if (elementRef.current) {\r\n elementRef.current.addEventListener(\"touchmove\", onTouchMove);\r\n }\r\n\r\n return () => {\r\n elementRef.current?.removeEventListener(\"touchmove\", onTouchMove);\r\n };\r\n }, []);\r\n\r\n const getStateClassName = () => {\r\n switch (state) {\r\n case 'upEntrance':\r\n return DateGridStyle.upEntrance\r\n case 'downEntrance':\r\n return DateGridStyle.downEntrance\r\n case 'upExit':\r\n return DateGridStyle.upExit\r\n case 'downExit':\r\n return DateGridStyle.downExit\r\n case 'display-none':\r\n return DateGridStyle.displayNone\r\n case undefined:\r\n return ''\r\n }\r\n }\r\n\r\n return (\r\n <div className={clsx(DateGridStyle.dateGrid, getStateClassName())}>\r\n {grid?.map((item) => <div id={item.id} className={DateGridStyle.item} key={item.date}>\r\n <CalendarDay {...item} onClick={() => onClickDate && onClickDate(item.date)}/></div>)}\r\n </div>\r\n )\r\n}","import React, {useState} from \"react\";\r\nimport {addMonths, format, subMonths} from \"date-fns\";\r\nimport {DatePickerStyle} from \"../styles\";\r\nimport {DateGridOnClickDate, DatePickerChosenIntervalType, DatePickerPropsType} from \"../types\";\r\nimport {getInitChosenInterval, getInitTargetDate, getNewInterval} from \"../lib\";\r\nimport {DatePickerMain} from \"./DatePickerMain\";\r\nimport {DatePickerHeader} from \"./DatePickerHeader\";\r\nimport {DatePickerFooter} from \"./DatePickerFooter\";\r\n\r\n\r\nexport function DatePicker({\r\n chosenStart,\r\n chosenEnd,\r\n markFun,\r\n infoFun,\r\n onSubmit,\r\n formatDate,\r\n onCancel,\r\n multiple = true\r\n }: DatePickerPropsType) {\r\n const [targetDate, setTargetDate] = useState(getInitTargetDate({start: chosenStart, end: chosenEnd}))\r\n const [chosenInterval, setChosenInterval] = useState<DatePickerChosenIntervalType>(getInitChosenInterval({\r\n start: chosenStart,\r\n end: chosenEnd,\r\n multiple: multiple\r\n }))\r\n\r\n const onUpClick = () => {\r\n setTargetDate(prevState => subMonths(prevState, 1).toISOString())\r\n }\r\n\r\n const onDownClick = () => {\r\n setTargetDate(prevState => addMonths(prevState, 1).toISOString())\r\n }\r\n\r\n const handleSubmit = () => {\r\n const start = chosenInterval.start ? format(chosenInterval.start, formatDate || 'yyyy-MM-dd') : undefined\r\n const end = chosenInterval.end ? format(chosenInterval.end, formatDate || 'yyyy-MM-dd') : undefined\r\n onSubmit && onSubmit({start: start, end: end})\r\n }\r\n\r\n const onClickDate: DateGridOnClickDate = (date) => {\r\n setChosenInterval(prevState => {\r\n if (multiple) {\r\n return getNewInterval(prevState, date)\r\n }\r\n return {start: date}\r\n })\r\n }\r\n\r\n return (\r\n <div className={DatePickerStyle.datePicker}>\r\n <DatePickerHeader onUpClick={onUpClick} onDownClick={onDownClick}/>\r\n <DatePickerMain target={targetDate}\r\n chosenStart={chosenInterval.start}\r\n chosenEnd={chosenInterval.end}\r\n infoFun={infoFun}\r\n onClickDate={onClickDate}\r\n onScrollUp={onUpClick}\r\n onScrollDown={onDownClick}\r\n markFun={markFun}/>\r\n <DatePickerFooter onSubmit={handleSubmit} onCancel={onCancel}/>\r\n </div>\r\n )\r\n}","import React from \"react\";\r\nimport {Button} from \"@/ui\";\r\nimport {DatePickerFooterPropsType} from \"../types\";\r\nimport {DatePickerFooterStyle} from \"../styles\";\r\n\r\nexport function DatePickerFooter({onCancel, onSubmit}: DatePickerFooterPropsType) {\r\n return (\r\n <div className={DatePickerFooterStyle.datePickerFooter}>\r\n <div className={DatePickerFooterStyle.item}><Button type={'button'} onClick={onCancel}\r\n hierarchy={'secondary-gray'}\r\n size={'small'} width={'fill'}>Отмена</Button></div>\r\n <div className={DatePickerFooterStyle.item}><Button type={'button'} onClick={onSubmit} hierarchy={'primary'}\r\n size={'small'}\r\n width={'fill'}>Применить</Button></div>\r\n </div>\r\n )\r\n}","import React from \"react\";\r\nimport {ChevronDownSVG, ChevronUpSVG} from \"../../../assets\";\r\nimport {DatePickerHeaderPropsType, MicroButton} from \"@/ui\";\r\nimport {DatePickerHeaderStyle} from \"@/ui/DatePicker/styles\";\r\n\r\nexport function DatePickerHeader({onUpClick, onDownClick}: DatePickerHeaderPropsType) {\r\n return (\r\n <div className={DatePickerHeaderStyle.datePickerHeader}>\r\n <span className={DatePickerHeaderStyle.text}>Выбор даты</span>\r\n <div className={DatePickerHeaderStyle.switchers}>\r\n <MicroButton type={'button'} onClick={onUpClick} color={'color'} size={'24'}\r\n additionStyles={DatePickerHeaderStyle.item}><ChevronUpSVG/></MicroButton>\r\n <MicroButton type={'button'} onClick={onDownClick} color={'color'} size={'24'}\r\n additionStyles={DatePickerHeaderStyle.item}><ChevronDownSVG/></MicroButton>\r\n </div>\r\n </div>\r\n )\r\n}","import React from \"react\";\r\nimport {ru} from \"date-fns/locale\";\r\nimport {eachDayOfInterval, format, isSameDay, isSameMonth, isWithinInterval} from 'date-fns'\r\nimport {CalendarDayMetaList, DatePickerMainPropsType} from \"../types\";\r\nimport {DatePickerMainStyle} from \"../styles\";\r\nimport {getIntervalDate} from \"../lib\";\r\nimport {DateGrid} from \"./DateGrid\";\r\n\r\n\r\nexport function DatePickerMain({\r\n chosenStart,\r\n chosenEnd,\r\n markFun,\r\n infoFun,\r\n target,\r\n onClickDate,\r\n onScrollUp,\r\n onScrollDown,\r\n }: DatePickerMainPropsType) {\r\n const weekDays = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс']\r\n\r\n const setActiveIntervalDays = (days: CalendarDayMetaList): CalendarDayMetaList => {\r\n const start = chosenStart ? new Date(chosenStart) : undefined\r\n const end = chosenEnd ? new Date(chosenEnd) : undefined\r\n\r\n return days.map(item => {\r\n const curDate = new Date(item.date)\r\n const onInterval = start && end && isWithinInterval(curDate, {start: start, end: end})\r\n const isActive = (start && isSameDay(start, curDate)) || (end && isSameDay(end, curDate))\r\n return {...item, filter: !isActive && onInterval, active: isActive}\r\n })\r\n }\r\n\r\n const getDates = (targetDate: string): CalendarDayMetaList => {\r\n const interval = eachDayOfInterval(getIntervalDate(targetDate))\r\n return interval.map((item) => ({\r\n day: item.getDate(),\r\n date: item.toISOString(),\r\n holiday: [0, 6].includes(item.getDay()),\r\n info: infoFun && infoFun(item.toISOString()),\r\n mark: markFun && markFun(item.toISOString()),\r\n disabled: !isSameMonth(target, item),\r\n }))\r\n }\r\n\r\n const getMonth = () => {\r\n return format(target, \"MMMM\", {locale: ru});\r\n }\r\n\r\n const getYear = () => {\r\n return format(target, \"yyyy\", {locale: ru});\r\n }\r\n\r\n const getMainDates = () => {\r\n return setActiveIntervalDays(getDates(target))\r\n }\r\n\r\n return (\r\n <div className={DatePickerMainStyle.datePickerMain}>\r\n <div className={DatePickerMainStyle.header}>{weekDays.map((item, idx) => <span\r\n className={DatePickerMainStyle.item} key={idx}>{item}</span>)}</div>\r\n <div className={DatePickerMainStyle.main}>\r\n <div className={DatePickerMainStyle.meta}>\r\n <span className={DatePickerMainStyle.month}>{getMonth()}</span>\r\n <span className={DatePickerMainStyle.year}>{getYear()}</span>\r\n </div>\r\n <div className={DatePickerMainStyle.grid}>\r\n <DateGrid grid={getMainDates()}\r\n onClickDate={onClickDate}\r\n onScrollDown={onScrollDown}\r\n onScrollUp={onScrollUp}/>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}","export * from './CalendarDay'\r\nexport * from './DatePicker'\r\nexport * from './DateGrid'\r\nexport * from './DatePickerMain'\r\nexport * from './DatePickerFooter'\r\nexport * from './DatePickerHeader'","export const KEY_WAY_STORE_NAME = 'keyWayStoreName'\r\nexport const INIT_FIELDS_NAME = 'initFields'","export * from './ui'\r\nexport * from './types'\r\nexport * from './schemes'\r\nexport * from './lib'\r\nexport * from './lib'\r\nexport * from './consts'","'use client'\r\n\r\nimport React, {Key, ReactElement} from \"react\";\r\nimport {ARRAY_FIELDS_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {formBuilder} from \"../lib\";\r\n\r\nconst arrayFieldComponent = (schema: ARRAY_FIELDS_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n const {children, name, ...props} = schema.props || {}\r\n const wrapper = schema.array_comp ? schema.array_comp : <div/>\r\n return React.cloneElement(wrapper, {\r\n ...props,\r\n key: key,\r\n children: children && formBuilder(children, {\r\n ...additionProps,\r\n // Сброс индексации массива\r\n arrayKeyWayItemName: name,\r\n getCurArrayIndex: undefined,\r\n incrementCurArrayIndex: undefined,\r\n })\r\n })\r\n}\r\n\r\n\r\nexport default arrayFieldComponent\r\n","import React, {Key, ReactElement} from \"react\";\r\nimport {BLOCK_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {formBuilder} from \"../lib\";\r\n\r\nconst blockComponent = (schema: BLOCK_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n const {children, ...props} = schema.props || {}\r\n return (\r\n <div {...props} key={key}>\r\n {children && formBuilder(children, additionProps)}\r\n </div>\r\n )\r\n}\r\n\r\nexport default blockComponent","import React, {Key, ReactElement} from \"react\";\r\nimport {isCustomComponent} from \"@/lib\";\r\nimport {BLOCK_WRAPPER_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {formBuilder} from \"../lib\";\r\n\r\nconst blockWrapperComponent = (schema: BLOCK_WRAPPER_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n const {children, ...props} = schema.props || {}\r\n const comp = schema.block_wrapper ? schema.block_wrapper : <></>\r\n return React.cloneElement(comp, {\r\n ...props,\r\n ...(isCustomComponent(comp) ? additionProps.customCompAdditionProps : {}),\r\n children: children ? formBuilder(children, {\r\n ...additionProps,\r\n arrayKeyWayItemName: additionProps.arrayKeyWayItemName,\r\n getCurArrayIndex: additionProps.arrayKeyWayItemName ? additionProps.getCurArrayIndex : undefined,\r\n incrementCurArrayIndex: additionProps.arrayKeyWayItemName ? additionProps.incrementCurArrayIndex : undefined,\r\n }) : [],\r\n key: key,\r\n })\r\n}\r\n\r\nexport default blockWrapperComponent","import React, {Key, ReactElement} from \"react\";\r\nimport {InputFieldWrapper} from \"@/ui\";\r\nimport {CUSTOM_FIELD_WRAPPER_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {formBuilder} from \"../lib\";\r\n\r\nconst customFieldWrapperComponent = (schema: CUSTOM_FIELD_WRAPPER_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n const {children, ...props} = schema.props || {}\r\n return (\r\n <InputFieldWrapper {...props} key={key}>\r\n {children && formBuilder(children, additionProps)}\r\n </InputFieldWrapper>\r\n )\r\n}\r\n\r\nexport default customFieldWrapperComponent","import {DictDeepActionKeyWayType} from \"@/types\";\r\nimport {FORM_BUILDER_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {\r\n arrayFieldComponent,\r\n blockComponent,\r\n blockWrapperComponent,\r\n customFieldWrapperComponent,\r\n formWrapperComponent,\r\n inputFieldComponent, reactNodeComponent,\r\n} from \"../lib\";\r\n\r\nconst getCustomCompAdditionProps = (keyWay: DictDeepActionKeyWayType | undefined, additionProps: AdditionPropsType) => {\r\n const deletearrayitem = keyWay && (() => {\r\n const capturedKeyWay = [...keyWay]\r\n return () => {\r\n additionProps.removeErrorField(capturedKeyWay)\r\n additionProps.deleteArrayItemHook(capturedKeyWay)\r\n };\r\n })()\r\n\r\n const getvalue = keyWay && (() => {\r\n const capturedKeyWay = [...keyWay]\r\n return () => additionProps.getValue(capturedKeyWay);\r\n })()\r\n\r\n return {\r\n deletearrayitem: deletearrayitem,\r\n getvalue: getvalue,\r\n }\r\n}\r\n\r\nconst processingOfKeyWay = (additionProps: AdditionPropsType, getCurArrayIndex: () => number, incrementCurArrayIndex: () => void) => {\r\n let resKeyWay = additionProps.keyWay\r\n if (additionProps.arrayKeyWayItemName) {\r\n resKeyWay = [...resKeyWay, {\r\n name: additionProps.arrayKeyWayItemName,\r\n index: getCurArrayIndex()\r\n }] as DictDeepActionKeyWayType\r\n incrementCurArrayIndex()\r\n }\r\n return [...resKeyWay]\r\n}\r\n\r\nconst processingAdditionProps = (additionProps: AdditionPropsType, newFields: { [key: string]: any }) => {\r\n return {\r\n ...additionProps,\r\n ...newFields,\r\n }\r\n}\r\n\r\nconst formBuilder = (schema: FORM_BUILDER_SCHEMA, additionProps: AdditionPropsType) => {\r\n let arrayFieldCounter = 0\r\n const getCurArrayIndex = additionProps.getCurArrayIndex || (() => arrayFieldCounter)\r\n const incrementCurArrayIndex = additionProps.incrementCurArrayIndex || (() => arrayFieldCounter++)\r\n\r\n const newAdditionProps = processingAdditionProps(additionProps, {\r\n getCurArrayIndex: getCurArrayIndex,\r\n incrementCurArrayIndex: incrementCurArrayIndex,\r\n })\r\n\r\n return schema.map((item, idx) => {\r\n let keyWay\r\n let customCompAdditionProps\r\n switch (item.type) {\r\n //TODO: надо удалить\r\n case 'block':\r\n // Прокидывание arrayKeyWayItemName дальше\r\n return blockComponent(item, idx, {\r\n ...additionProps,\r\n // Сброс индексации массива\r\n arrayKeyWayItemName: undefined,\r\n getCurArrayIndex: undefined,\r\n incrementCurArrayIndex: undefined,\r\n })\r\n //TODO: надо удалить\r\n case 'custom_field_wrapper':\r\n // Прокидывание arrayKeyWayItemName дальше\r\n return customFieldWrapperComponent(item, idx, {\r\n ...additionProps,\r\n // Сброс индексации массива\r\n arrayKeyWayItemName: undefined,\r\n getCurArrayIndex: undefined,\r\n incrementCurArrayIndex: undefined,\r\n })\r\n\r\n // Актуальные блоки, другие будут постепенно выпиливаться\r\n case 'react_node_component':\r\n return reactNodeComponent(item, idx, additionProps)\r\n case 'form_wrapper':\r\n keyWay = processingOfKeyWay(newAdditionProps, getCurArrayIndex, incrementCurArrayIndex)\r\n customCompAdditionProps = getCustomCompAdditionProps(keyWay, newAdditionProps)\r\n return formWrapperComponent(item, idx, {\r\n ...newAdditionProps,\r\n keyWay: keyWay,\r\n customCompAdditionProps: customCompAdditionProps,\r\n })\r\n case 'input_field':\r\n keyWay = processingOfKeyWay(newAdditionProps, getCurArrayIndex, incrementCurArrayIndex)\r\n customCompAdditionProps = getCustomCompAdditionProps(keyWay, newAdditionProps)\r\n return inputFieldComponent(item, idx, {\r\n ...newAdditionProps,\r\n keyWay: keyWay,\r\n customCompAdditionProps: customCompAdditionProps,\r\n })\r\n case 'array_fields':\r\n keyWay = processingOfKeyWay(newAdditionProps, getCurArrayIndex, incrementCurArrayIndex)\r\n customCompAdditionProps = getCustomCompAdditionProps(keyWay, newAdditionProps)\r\n return arrayFieldComponent(item, idx, {\r\n ...newAdditionProps,\r\n keyWay: keyWay,\r\n })\r\n case \"block_wrapper\":\r\n customCompAdditionProps = getCustomCompAdditionProps(undefined, newAdditionProps)\r\n return blockWrapperComponent(item, idx, {\r\n ...newAdditionProps,\r\n customCompAdditionProps: customCompAdditionProps,\r\n })\r\n default:\r\n return null\r\n }\r\n })\r\n}\r\n\r\nexport default formBuilder","import React, {Key, ReactElement} from \"react\";\r\nimport {isCustomComponent} from \"@/lib\";\r\nimport {FORM_WRAPPER_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {formBuilder} from \"../lib\";\r\n\r\nconst formWrapperComponent = (schema: FORM_WRAPPER_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n const newKeyWay = schema.props.name ? [...additionProps.keyWay, schema.props.name] : additionProps.keyWay\r\n const Element = schema.form_wrapper ? schema.form_wrapper : <div/>\r\n return React.cloneElement(Element, {\r\n ...{...schema.props},\r\n key: key,\r\n ...(isCustomComponent(Element) ? additionProps.customCompAdditionProps : {}),\r\n children: schema.props.children && formBuilder(schema.props.children, {\r\n ...additionProps,\r\n // Сброс индексации массива\r\n arrayKeyWayItemName: undefined,\r\n getCurArrayIndex: undefined,\r\n incrementCurArrayIndex: undefined,\r\n keyWay: newKeyWay\r\n }),\r\n })\r\n}\r\n\r\nexport default formWrapperComponent","export {default as inputFieldComponent} from './inputFieldComponent'\r\nexport {default as reactNodeComponent} from './reactNodeComponent'\r\nexport {default as formWrapperComponent} from './formWrapperComponent'\r\nexport {default as arrayFieldComponent} from './arrayFieldComponent'\r\nexport {default as blockComponent} from \"./blockComponent\";\r\nexport {default as customFieldWrapperComponent} from \"./customFieldWrapperComponent\";\r\nexport {default as blockWrapperComponent} from \"./blockWrapperComponent\";\r\nexport {default as formBuilder} from './formBuilder'\r\n","import React, {Key, ReactElement} from \"react\";\r\nimport {DictDeepActionKeyWayType} from \"@/types\";\r\nimport {isCustomComponent,} from \"@/lib\";\r\nimport {InputField} from \"@/ui\";\r\nimport {UseIsErrorFieldAddErrorFieldType, UseIsErrorFieldRemoveErrorFieldType} from '@/hooks'\r\nimport {\r\n INPUT_FIELD_SCHEMA,\r\n InputFieldOnBlurValidationType,\r\n InputFieldValidationFunObjectReturnType,\r\n InputFieldValidationFunType\r\n} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {INIT_FIELDS_NAME} from \"../consts\";\r\n\r\nconst getKeyWay = (schema: INPUT_FIELD_SCHEMA, additionProps: AdditionPropsType) => {\r\n if (schema.props.keyWay) {\r\n return schema.props.keyWay\r\n } else if (schema.props.name) {\r\n return [...additionProps.keyWay, schema.props.name]\r\n } else {\r\n // проверка на нахождение поле в array_fields\r\n const lastKeyWayItem = additionProps.keyWay[additionProps.keyWay.length - 1]\r\n if (typeof lastKeyWayItem === 'object') {\r\n return additionProps.keyWay\r\n }\r\n }\r\n return []\r\n}\r\n\r\nconst getValidateFunResponse = (value: any, fun: InputFieldValidationFunType): InputFieldValidationFunObjectReturnType => {\r\n const res = fun(value)\r\n\r\n if (typeof res === 'object') {\r\n return res\r\n } else if (typeof res === 'string') {\r\n if (res === '')\r\n return {status: true, message: ''}\r\n else\r\n return {status: false, message: res}\r\n }\r\n\r\n return {status: res, message: ''}\r\n}\r\n\r\nconst getValidateFun = (\r\n validationProps: InputFieldOnBlurValidationType,\r\n value: any,\r\n keyWay: DictDeepActionKeyWayType,\r\n schemeRequired: boolean,\r\n removeError: UseIsErrorFieldRemoveErrorFieldType,\r\n addError: UseIsErrorFieldAddErrorFieldType,\r\n) => {\r\n return () => {\r\n let required = schemeRequired\r\n let fun: InputFieldValidationFunType = () => true\r\n\r\n if ('required' in validationProps && validationProps.required !== undefined) {\r\n required = validationProps.required\r\n }\r\n\r\n if ('fun' in validationProps && validationProps.fun !== undefined) {\r\n fun = validationProps.fun\r\n }\r\n\r\n const isEmptyValue = !value ||\r\n (Array.isArray(value) && value.length === 0) ||\r\n (typeof value === 'object' && Object.keys(value).length === 0)\r\n\r\n const funRes = getValidateFunResponse(value, fun)\r\n if (required ? !isEmptyValue && funRes.status : isEmptyValue || funRes.status) {\r\n removeError(keyWay)\r\n } else {\r\n addError(keyWay, funRes.message)\r\n }\r\n }\r\n}\r\n\r\nconst getOnBlurValidation = (schema: INPUT_FIELD_SCHEMA, additionProps: AdditionPropsType, keyWay: DictDeepActionKeyWayType) => {\r\n const props = schema.props.onBlurValidation || schema.props.onChangeValidation\r\n if (props) {\r\n const value = additionProps.getValue(keyWay)\r\n return getValidateFun(props, value, keyWay, schema.props.required || false, additionProps.removeErrorField, additionProps.addErrorField)\r\n }\r\n return undefined\r\n}\r\n\r\nconst getOnChangeValidation = (schema: INPUT_FIELD_SCHEMA, additionProps: AdditionPropsType, keyWay: DictDeepActionKeyWayType) => {\r\n let props = schema.props.onChangeValidation\r\n\r\n if (!props && schema.props.required === true) {\r\n props = {fun: (data) => true}\r\n }\r\n\r\n if (props) {\r\n const value = additionProps.getValue(keyWay)\r\n return getValidateFun(props, value, keyWay, schema.props.required || false, additionProps.removeOnChangeErrorField, additionProps.addOnChangeErrorField)\r\n }\r\n return undefined\r\n}\r\n\r\nconst getOnChange = (schema: INPUT_FIELD_SCHEMA, keyWay: DictDeepActionKeyWayType, additionProps: AdditionPropsType) => {\r\n const serializeValue = schema.props.serializeValue\r\n let onChangeValidation = getOnChangeValidation(schema, additionProps, keyWay)\r\n return (data: any) => {\r\n onChangeValidation && onChangeValidation()\r\n serializeValue ? additionProps.setValue(serializeValue(data), keyWay) : additionProps.setValue(data, keyWay)\r\n }\r\n}\r\n\r\nconst inputFieldComponent = (schema: INPUT_FIELD_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n let onChange = undefined\r\n let value = undefined\r\n let isError = undefined\r\n let isErrorHintText = undefined\r\n\r\n let onBlur: ((e: any) => void) | undefined = undefined\r\n let keyWay: DictDeepActionKeyWayType = getKeyWay(schema, additionProps)\r\n\r\n if (keyWay) {\r\n const deserializeValue = schema.props.deserializeValue\r\n\r\n value = deserializeValue ? deserializeValue(additionProps.getValue(keyWay)) : additionProps.getValue(keyWay)\r\n onChange = getOnChange(schema, keyWay, additionProps)\r\n isError = additionProps.isErrorField(keyWay)\r\n isErrorHintText = additionProps.getErrorMessage(keyWay)\r\n onBlur = getOnBlurValidation(schema, additionProps, keyWay)\r\n\r\n // Поиск инициализированных полей\r\n const initFields: DictDeepActionKeyWayType = additionProps.getPrivateRefStoreValue(INIT_FIELDS_NAME) || []\r\n if (!initFields.find(item => JSON.stringify(item) === JSON.stringify(keyWay))) {\r\n additionProps.addPrivateRefStoreValue([...initFields, keyWay], INIT_FIELDS_NAME)\r\n onChange(value !== undefined ? value : schema.props.defaultValue)\r\n }\r\n }\r\n\r\n const comp = schema.props.ownerInputComponent ? schema.props.ownerInputComponent : <InputField/>\r\n\r\n const props = {\r\n ...(additionProps?.inputFieldAdditionProps ? additionProps?.inputFieldAdditionProps : {}),\r\n value: value,\r\n onChange: onChange,\r\n isError: isError,\r\n isErrorHintText: isErrorHintText,\r\n onBlur: onBlur,\r\n key: key,\r\n ...(additionProps.inputFieldClassName ? {className: additionProps.inputFieldClassName} : {}),\r\n ...(isCustomComponent(comp) ? additionProps.customCompAdditionProps : {}),\r\n ...schema.props,\r\n }\r\n return React.cloneElement(comp, props)\r\n}\r\n\r\n\r\nexport default inputFieldComponent","import React, {Key, ReactNode} from \"react\";\r\nimport {REACT_NODE_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from '../types';\r\n\r\nconst reactNodeComponent = (schema: REACT_NODE_SCHEMA, key: Key, _additionProps: AdditionPropsType): ReactNode => {\r\n if (React.isValidElement(schema.react_node_comp))\r\n return React.cloneElement(schema.react_node_comp, {key: key})\r\n return schema.react_node_comp\r\n}\r\n\r\nexport default reactNodeComponent","import React, {ReactElement, ReactNode} from \"react\";\r\nimport {Overwrite} from \"@/types\";\r\nimport {InputFieldPropsType, InputFieldWrapperPropsType} from \"@/ui\";\r\n\r\nexport type BLOCK_SCHEMA = {\r\n type: 'block',\r\n props?: Overwrite<React.HTMLProps<HTMLDivElement>, {\r\n children?: FORM_BUILDER_SCHEMA,\r\n }>\r\n}\r\n\r\nexport type ADDITION_PROPS = {\r\n type: 'addition_props',\r\n props: {\r\n className?: { [key: string]: string },\r\n }\r\n}\r\n\r\nexport type CUSTOM_FIELD_WRAPPER_SCHEMA = {\r\n type: 'custom_field_wrapper',\r\n props: Overwrite<InputFieldWrapperPropsType, {\r\n children?: FORM_BUILDER_SCHEMA,\r\n }>\r\n}\r\n\r\nexport type InputFieldValidationFunObjectReturnType = { status: boolean, message: string }\r\nexport type InputFieldValidationFunReturnType = string | boolean | InputFieldValidationFunObjectReturnType\r\nexport type InputFieldValidationFunType = (data: any) => InputFieldValidationFunReturnType\r\n\r\n// export type InputFieldValidationType = { required?: boolean, fun?: InputFieldValidationFunType }\r\nexport type InputFieldOnBlurValidationType = { required?: boolean, fun?: InputFieldValidationFunType }\r\n\r\nexport type INPUT_FIELD_SCHEMA = {\r\n type: 'input_field',\r\n props: InputFieldPropsType & {\r\n keyWay?: string[],\r\n ownerInputComponent?: ReactElement,\r\n onBlurValidation?: InputFieldOnBlurValidationType,\r\n onChangeValidation?: InputFieldOnBlurValidationType,\r\n required?: boolean,\r\n\r\n // Непроверенны\r\n defaultValue?: any,\r\n serializeValue?: (data: any) => any,\r\n deserializeValue?: (data: any) => any,\r\n },\r\n}\r\n\r\nexport type REACT_NODE_SCHEMA = {\r\n type: 'react_node_component',\r\n react_node_comp?: ReactNode,\r\n}\r\n\r\nexport type FORM_WRAPPER_SCHEMA = {\r\n type: 'form_wrapper',\r\n form_wrapper?: ReactElement,\r\n props: Overwrite<React.HTMLProps<HTMLDivElement>, {\r\n name?: string,\r\n children?: FORM_BUILDER_SCHEMA,\r\n }>,\r\n}\r\n\r\nexport type ARRAY_FIELDS_SCHEMA = {\r\n type: 'array_fields',\r\n array_comp?: ReactElement,\r\n props: Overwrite<React.HTMLProps<HTMLDivElement>, {\r\n name: string,\r\n children?: FORM_BUILDER_SCHEMA,\r\n }>\r\n}\r\n\r\nexport type BLOCK_WRAPPER_SCHEMA<T = HTMLDivElement> = {\r\n type: 'block_wrapper',\r\n block_wrapper?: ReactElement,\r\n props?: Overwrite<React.HTMLProps<T>, {\r\n children?: FORM_BUILDER_SCHEMA,\r\n }>\r\n}\r\n\r\nexport type FORM_BUILDER_SCHEMA = (\r\n FORM_WRAPPER_SCHEMA |\r\n REACT_NODE_SCHEMA |\r\n INPUT_FIELD_SCHEMA |\r\n BLOCK_SCHEMA |\r\n ADDITION_PROPS |\r\n CUSTOM_FIELD_WRAPPER_SCHEMA |\r\n ARRAY_FIELDS_SCHEMA |\r\n BLOCK_WRAPPER_SCHEMA\r\n )[]\r\n","import {\r\n InputFieldClassNameType,\r\n} from \"@/ui\";\r\nimport {DictDeepActionKeyWayType} from \"@/types\";\r\nimport {\r\n UseFormDataDeleteArrayItemType,\r\n UseFormDataGetValueType,\r\n UseFormDataSetValueType,\r\n UseIsErrorFieldAddErrorFieldType,\r\n UseIsErrorFieldGetErrorMessageType,\r\n UseIsErrorFieldIsErrorFieldType,\r\n UseIsErrorFieldIsErrorType,\r\n UseIsErrorFieldRemoveErrorFieldType\r\n} from \"@/hooks\";\r\nimport {FORM_BUILDER_SCHEMA} from \"../schemes\";\r\n\r\nexport type FormBuilderPropsType<T> = {\r\n schema: FORM_BUILDER_SCHEMA,\r\n formDataDefault?: T,\r\n onChange?: (formData: T) => void,\r\n onChangeIsError?: (isError: UseIsErrorFieldIsErrorType) => void,\r\n onChangeValidateIsError?: (isError: UseIsErrorFieldIsErrorType) => void,\r\n inputFieldClassName?: InputFieldClassNameType,\r\n additionIsErrorFields?: UseIsErrorFieldIsErrorType,\r\n formDataDefaultListener?: T,\r\n sensitiveErrorSearch?: boolean,\r\n inputFieldAdditionProps?: InputFieldAdditionPropsType,\r\n}\r\n\r\nexport type GetStoreValueType = (key: string) => any\r\nexport type AddStoreValueType = (value: any, key: string) => void\r\nexport type RemoveStoreValueType = (key: string) => void\r\n\r\nexport type ValidateFunction = {\r\n validateFun: (data: any) => boolean,\r\n keyWay: DictDeepActionKeyWayType,\r\n errorMessage?: string,\r\n}\r\n\r\nexport type CustomCompAdditionPropsType = {\r\n deletearrayitem?: () => void,\r\n getvalue?: () => any,\r\n}\r\n\r\nexport type StandardCompAdditionPropsType = {\r\n [key: string]: any\r\n}\r\n\r\nexport type InputFieldAdditionPropsType = {\r\n [key: string]: any\r\n}\r\n\r\nexport type AdditionPropsType = {\r\n // пропсы для определения keyWay полей\r\n keyWay: DictDeepActionKeyWayType,\r\n arrayKeyWayItemName?: string,\r\n\r\n // функции для управления итерацией array_fields\r\n // (используются только в formBuilder, другие функции только прокидываю их до него)\r\n getCurArrayIndex?: () => number,\r\n incrementCurArrayIndex?: () => void,\r\n\r\n // Пропсы для работы в useFormData\r\n getValue: UseFormDataGetValueType,\r\n setValue: UseFormDataSetValueType,\r\n deleteArrayItemHook: UseFormDataDeleteArrayItemType,\r\n\r\n // Пропсы для работы в useIsErrorField\r\n isErrorField: UseIsErrorFieldIsErrorFieldType,\r\n getErrorMessage: UseIsErrorFieldGetErrorMessageType,\r\n addErrorField: UseIsErrorFieldAddErrorFieldType,\r\n removeErrorField: UseIsErrorFieldRemoveErrorFieldType,\r\n\r\n addOnChangeErrorField: UseIsErrorFieldAddErrorFieldType,\r\n removeOnChangeErrorField: UseIsErrorFieldRemoveErrorFieldType,\r\n\r\n // Общий пропс className для input_field\r\n inputFieldClassName?: InputFieldClassNameType,\r\n\r\n // deletearrayitem?: () => void,\r\n // getvalue?: () => any,\r\n\r\n standardCompAdditionProps?: StandardCompAdditionPropsType,\r\n customCompAdditionProps?: CustomCompAdditionPropsType,\r\n inputFieldAdditionProps?: InputFieldAdditionPropsType,\r\n\r\n // getStateStoreValue: GetStoreValueType,\r\n // addStateStoreValue: AddStoreValueType,\r\n // removeStateStoreValue: RemoveStoreValueType,\r\n // getRefStoreValue: GetStoreValueType,\r\n // addRefStoreValue: AddStoreValueType,\r\n // removeRefStoreValue: RemoveStoreValueType,\r\n\r\n\r\n getPrivateRefStoreValue: GetStoreValueType,\r\n addPrivateRefStoreValue: AddStoreValueType,\r\n removePrivateRefStoreValue: RemoveStoreValueType,\r\n\r\n}\r\n","export * from './FormBuilderTypes'\r\nexport * from \"../schemes\"","'use client'\r\n\r\nimport React, {useEffect, useRef, useState} from \"react\";\r\nimport {\r\n AddStoreValueType,\r\n FormBuilderPropsType,\r\n GetStoreValueType,\r\n RemoveStoreValueType,\r\n ValidateFunction\r\n} from \"../types\";\r\nimport {useFormData, useIsErrorField, UseIsErrorFieldReturnType} from \"@/hooks\";\r\nimport {formBuilder} from \"../lib\";\r\nimport {KEY_WAY_STORE_NAME} from \"../consts\";\r\n\r\nexport function FormBuilder<T extends { [key: string]: any }>({\r\n schema,\r\n formDataDefault,\r\n onChange,\r\n onChangeIsError,\r\n inputFieldClassName,\r\n additionIsErrorFields,\r\n onChangeValidateIsError,\r\n formDataDefaultListener,\r\n inputFieldAdditionProps,\r\n sensitiveErrorSearch = true,\r\n }: FormBuilderPropsType<T>): React.JSX.Element {\r\n //==================================================================================================================\r\n // Пока спорная фича, скорее всего лишняя\r\n const [formBuilderStateStore, setFormBuilderStateStore] = useState<{ [key: string]: any }>({})\r\n const formBuilderRefStore = useRef<{ [key: string]: any }>({})\r\n\r\n const getStateStoreValue: GetStoreValueType = (key) => {\r\n return formBuilderStateStore[key]\r\n }\r\n const addStateStoreValue: AddStoreValueType = (value, key) => {\r\n setFormBuilderStateStore(prevState => ({...prevState, [key]: value}))\r\n }\r\n const removeStateStoreValue: RemoveStoreValueType = (key) => {\r\n setFormBuilderStateStore(prevState => {\r\n const newState = {...prevState}\r\n delete newState[key]\r\n return newState\r\n })\r\n }\r\n const getRefStoreValue: GetStoreValueType = (key) => {\r\n return formBuilderRefStore.current[key]\r\n }\r\n const addRefStoreValue: AddStoreValueType = (value, key) => {\r\n formBuilderRefStore.current[key] = value\r\n }\r\n const removeRefStoreValue: RemoveStoreValueType = (key) => {\r\n delete formBuilderRefStore.current[key]\r\n }\r\n //==================================================================================================================\r\n\r\n const privateRefStore = useRef<{ [key: string]: any }>({})\r\n const getPrivateRefStoreValue: GetStoreValueType = (key) => {\r\n return privateRefStore.current[key]\r\n }\r\n const addPrivateRefStoreValue: AddStoreValueType = (value, key) => {\r\n privateRefStore.current[key] = value\r\n }\r\n const removePrivateRefStoreValue: RemoveStoreValueType = (key) => {\r\n delete privateRefStore.current[key]\r\n }\r\n\r\n const {\r\n formData,\r\n setFormData,\r\n setValue,\r\n getValue,\r\n deleteArrayItem\r\n } = useFormData<T>(formDataDefault || ({} as T))\r\n\r\n const {\r\n isErrorField,\r\n addErrorField,\r\n removeErrorField,\r\n getErrorMessage,\r\n isError\r\n } = useIsErrorField({\r\n additionIsErrorFields: additionIsErrorFields,\r\n sensitiveSearch: sensitiveErrorSearch,\r\n })\r\n\r\n const onChangeError: UseIsErrorFieldReturnType = useIsErrorField({\r\n additionIsErrorFields: additionIsErrorFields,\r\n sensitiveSearch: sensitiveErrorSearch,\r\n })\r\n\r\n const validateFunctions = useRef<ValidateFunction[]>([])\r\n validateFunctions.current = []\r\n\r\n removePrivateRefStoreValue(KEY_WAY_STORE_NAME)\r\n\r\n useEffect(() => {\r\n if (formDataDefaultListener !== undefined) {\r\n setFormData(formDataDefaultListener)\r\n }\r\n }, [formDataDefaultListener]);\r\n\r\n useEffect(() => {\r\n onChange && onChange(formData)\r\n }, [formData])\r\n\r\n useEffect(() => {\r\n onChangeIsError && onChangeIsError(isError)\r\n }, [isError])\r\n\r\n useEffect(() => {\r\n onChangeValidateIsError && onChangeValidateIsError(onChangeError.isError)\r\n }, [onChangeError.isError])\r\n\r\n return (\r\n <>\r\n {\r\n formBuilder(schema, {\r\n keyWay: [],\r\n getValue: getValue,\r\n setValue: setValue,\r\n inputFieldClassName: inputFieldClassName,\r\n isErrorField: isErrorField,\r\n getErrorMessage: getErrorMessage,\r\n addErrorField: addErrorField,\r\n removeErrorField: removeErrorField,\r\n\r\n addOnChangeErrorField: onChangeError.addErrorField,\r\n removeOnChangeErrorField: onChangeError.removeErrorField,\r\n\r\n inputFieldAdditionProps: inputFieldAdditionProps,\r\n\r\n deleteArrayItemHook: deleteArrayItem,\r\n // getStateStoreValue: getStateStoreValue,\r\n // getRefStoreValue: getRefStoreValue,\r\n // addStateStoreValue: addStateStoreValue,\r\n // addRefStoreValue: addRefStoreValue,\r\n // removeStateStoreValue: removeStateStoreValue,\r\n // removeRefStoreValue: removeRefStoreValue,\r\n getPrivateRefStoreValue: getPrivateRefStoreValue,\r\n addPrivateRefStoreValue: addPrivateRefStoreValue,\r\n removePrivateRefStoreValue: removePrivateRefStoreValue,\r\n })\r\n }\r\n </>\r\n )\r\n}","export * from './FormBuilder'","export {default as FlexField} from './ui/FlexField'\r\nexport * from './types'","export {default as FlexFieldStyle} from './FlexField.module.scss'","import React, {ReactNode} from \"react\";\r\n\r\nexport type FlexFieldClassNameType = {\r\n flexField?: string,\r\n inputField?: string,\r\n isError?: string,\r\n disabled?: string,\r\n focus?: string,\r\n pointer?: string,\r\n icon?: string,\r\n textSupport?: string,\r\n userPic?: string,\r\n help?: string,\r\n dropdown?: string,\r\n dropdownReverse?: string,\r\n button?: string,\r\n gray?: string,\r\n red?: string,\r\n}\r\n\r\nexport type FlexFieldPropsType = {\r\n value?: any,\r\n type?: HTMLInputElement['type'],\r\n onChange?: (value: any) => void,\r\n /*\r\n * Маска imask, можно засунуть, как строку (к примеру 000-000-000),\r\n * так и регулярное выражение. Важно!!!: не ставить маску undefined,\r\n * т.к. для перехвата ввода используется onAccept, поэтому если `mask === undefined`,\r\n * то при изменение строка не пройдет валидацию и функция не будет вызвана.\r\n * */\r\n mask?: any,\r\n placeholder?: string,\r\n required?: boolean,\r\n disabled?: boolean,\r\n isError?: boolean,\r\n onFocus?: (e: any) => void,\r\n onBlur?: (e: any) => void,\r\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void,\r\n notInput?: boolean,\r\n\r\n icon?: ReactNode,\r\n textSupport?: boolean | string | ReactNode,\r\n userPic?: string | ReactNode,\r\n help?: boolean | ReactNode,\r\n dropdown?: boolean | ReactNode,\r\n button?: boolean | ReactNode,\r\n /*\r\n * Если true шеврон вверх, иначе - false.\r\n * */\r\n dropdownState?: boolean,\r\n /*\r\n * Серая и красные расцветки кнопок, по умолчанию - \"gray\".\r\n * */\r\n buttonState?: 'gray' | 'red',\r\n /*\r\n * Событие нажатия на кнопку button.\r\n * */\r\n onButtonClick?: () => void,\r\n className?: FlexFieldClassNameType,\r\n}","export * from './FlexFieldTypes'","'use client'\r\n\r\nimport React, {forwardRef, useState} from \"react\";\r\nimport {IMaskInput} from \"react-imask\";\r\nimport clsx from \"clsx\";\r\nimport {AlertCircleSVG, ChevronDownSVG, HelpCircleSVG, XCloseSVG} from \"@/assets\";\r\nimport {FlexFieldPropsType} from \"../types\";\r\nimport {FlexFieldStyle} from \"../styles\";\r\n\r\nconst FlexField = forwardRef<HTMLDivElement, FlexFieldPropsType>(({\r\n value,\r\n type,\r\n onChange,\r\n onFocus,\r\n onBlur,\r\n onClick,\r\n mask = /.*/,\r\n required = false,\r\n disabled = false,\r\n isError = false,\r\n placeholder,\r\n notInput = false,\r\n icon,\r\n help,\r\n dropdown,\r\n userPic,\r\n textSupport,\r\n dropdownState = false,\r\n button,\r\n buttonState = 'gray',\r\n onButtonClick,\r\n className = FlexFieldStyle,\r\n }, ref): React.JSX.Element => {\r\n const [isFocus, setIsFocus] = useState<boolean>(false)\r\n\r\n const handleChange = (newValue: any) => {\r\n onChange && onChange(newValue)\r\n }\r\n\r\n const handleBlur = (e: any) => {\r\n onBlur && onBlur(e)\r\n setIsFocus(false)\r\n }\r\n\r\n const handleFocus = (e: any) => {\r\n onFocus && onFocus(e)\r\n setIsFocus(true)\r\n }\r\n\r\n const getInput = () => {\r\n if (notInput) {\r\n return <span className={className?.inputField}>{value}</span>\r\n }\r\n let validValue = typeof value === 'string' ? value : ''\r\n return <IMaskInput value={validValue}\r\n type={type}\r\n mask={mask}\r\n required={required}\r\n disabled={disabled}\r\n placeholder={placeholder}\r\n onAccept={handleChange}\r\n onFocus={handleFocus}\r\n onBlur={handleBlur}\r\n className={className?.inputField}/>\r\n }\r\n\r\n const getIcon = () => {\r\n return <div className={className?.icon}>{icon}</div>\r\n }\r\n\r\n const getTextSupport = () => {\r\n if (!textSupport) return undefined\r\n if (typeof textSupport === \"boolean\") {\r\n return <span className={className?.textSupport}>+7</span>\r\n } else if (typeof textSupport === \"string\") {\r\n return <span className={className?.textSupport}>{textSupport}</span>\r\n } else {\r\n return textSupport\r\n }\r\n }\r\n\r\n const getUserPic = () => {\r\n if (typeof userPic === \"string\") {\r\n return userPic && <img src={userPic} className={className?.userPic}/>\r\n }\r\n return userPic\r\n }\r\n\r\n const getHelp = () => {\r\n if (!help) return undefined\r\n if (typeof help === \"boolean\") {\r\n return <button className={className?.help}>{isError ? <AlertCircleSVG/> : <HelpCircleSVG/>}</button>\r\n } else {\r\n return help\r\n }\r\n }\r\n\r\n const getDropdown = () => {\r\n if (!dropdown) return undefined\r\n if (typeof dropdown === \"boolean\") {\r\n return <span\r\n className={clsx(className?.dropdown, {[className?.dropdownReverse]: dropdownState})}><ChevronDownSVG/></span>\r\n } else {\r\n return dropdown\r\n }\r\n }\r\n\r\n const getButton = () => {\r\n if (!button) return undefined\r\n if (typeof button === \"boolean\") {\r\n return <button onClick={onButtonClick} className={clsx(className?.button, {\r\n [className?.gray]: buttonState === 'gray',\r\n [className?.red]: buttonState === 'red'\r\n })}><XCloseSVG/></button>\r\n } else {\r\n return button\r\n }\r\n }\r\n\r\n return (\r\n <div ref={ref}\r\n onClick={onClick}\r\n className={clsx(className?.flexField, {\r\n [className?.isError as string]: isError,\r\n [className?.disabled as string]: disabled,\r\n [className?.focus as string]: isFocus,\r\n [className?.pointer as string]: !!onClick,\r\n })}>\r\n {getIcon()}\r\n {getTextSupport()}\r\n {getUserPic()}\r\n {getInput()}\r\n {getHelp()}\r\n {getDropdown()}\r\n {getButton()}\r\n </div>\r\n )\r\n})\r\n\r\nexport default FlexField","export {default as InputFieldWrapper} from './ui/InputFieldWrapper'\r\nexport * from './types'","export {default as InputFieldWrapperStyle} from './InputFieldWrapper.module.scss'","import {ReactElement, ReactNode} from \"react\";\r\n\r\nexport type InputFieldWrapperClassNameType = {\r\n inputFieldWrapper?: string,\r\n isError?: string,\r\n labelText?: string,\r\n hintText?: string,\r\n helperLink?: string,\r\n required?: string,\r\n hintError?: string,\r\n}\r\n\r\nexport type InputFieldWrapperHelperLinkType =\r\n { text: ReactNode, href?: string } |\r\n { element: ReactElement } |\r\n { text: string, onClick?: () => void }\r\n\r\nexport type InputFieldWrapperPropsType = {\r\n children?: ReactNode,\r\n labelText?: string,\r\n hintText?: string,\r\n isErrorHintText?: string,\r\n helperLink?: InputFieldWrapperHelperLinkType,\r\n isError?: boolean,\r\n viewRequired?: boolean,\r\n className?: InputFieldWrapperClassNameType,\r\n}","export * from './InputFieldWrapperTypes'","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {InputFieldWrapperPropsType} from '../types'\r\nimport {InputFieldWrapperStyle} from \"../styles\";\r\n\r\nexport default function InputFieldWrapper({\r\n children,\r\n labelText,\r\n hintText,\r\n isErrorHintText,\r\n helperLink,\r\n isError,\r\n viewRequired,\r\n className = InputFieldWrapperStyle,\r\n }: InputFieldWrapperPropsType): React.JSX.Element {\r\n const getLabelContent = () => {\r\n if (labelText) {\r\n return (\r\n <label className={className?.labelText}>\r\n {labelText}{viewRequired && <span className={className?.required}>*</span>}\r\n </label>\r\n )\r\n }\r\n return undefined\r\n }\r\n\r\n const getHintContent = () => {\r\n if (isError && isErrorHintText)\r\n return <span className={className?.hintError}>{isErrorHintText}</span>\r\n\r\n if (hintText)\r\n return <span className={className?.hintText}>{hintText}</span>\r\n\r\n return undefined\r\n }\r\n\r\n const getHelperLinkContent = () => {\r\n if (helperLink) {\r\n if ('element' in helperLink)\r\n return helperLink.element\r\n\r\n if ('href' in helperLink) {\r\n return <a href={helperLink.href} className={className?.helperLink}>{helperLink.text}</a>\r\n }\r\n\r\n if ('onClick' in helperLink) {\r\n return <span onClick={helperLink.onClick} className={className?.helperLink}>{helperLink.text}</span>\r\n } else {\r\n return <span className={className?.helperLink}>{helperLink.text}</span>\r\n }\r\n }\r\n return undefined\r\n }\r\n\r\n return (\r\n <div className={clsx(className?.inputFieldWrapper, {\r\n [className?.isError as string]: isError,\r\n })}>\r\n {getLabelContent()}\r\n {children}\r\n {getHintContent()}\r\n {getHelperLinkContent()}\r\n </div>\r\n )\r\n}","export {default as InputField} from './ui/InputField'\r\nexport * from './types'","export {default as InputFieldStyle} from './InputField.module.scss'","import {SwitcherFieldClassNameType, SwitcherFieldPropsType} from '../../SwitcherField'\r\nimport {FlexFieldClassNameType, FlexFieldPropsType} from '../../FlexField'\r\nimport {RadioFieldClassNameType, RadioFieldPropsType} from '../../RadioField'\r\nimport {SelectFieldClassNameType, SelectFieldPropsType} from '../../SelectField'\r\nimport {TextareaFieldClassNameType, TextareaFieldPropsType} from '../../TextareaField'\r\nimport {InputFieldWrapperClassNameType, InputFieldWrapperPropsType} from \"../../InputFieldWrapper\";\r\n\r\nexport type InputFieldTypes = 'switcher' | 'select' | 'radio' | 'textarea' | HTMLInputElement['type']\r\n\r\nexport type InputFieldClassNameType =\r\n SwitcherFieldClassNameType &\r\n FlexFieldClassNameType &\r\n RadioFieldClassNameType &\r\n SelectFieldClassNameType &\r\n TextareaFieldClassNameType &\r\n InputFieldWrapperClassNameType &\r\n {}\r\n\r\nexport type InputFieldPropsType =\r\n Omit<(\r\n & ({ type?: 'switcher' } & SwitcherFieldPropsType)\r\n & ({ type?: 'select' } & SelectFieldPropsType)\r\n & ({ type?: 'radio' } & RadioFieldPropsType)\r\n & ({ type?: 'textarea' } & TextareaFieldPropsType)\r\n & ({ type?: HTMLInputElement['type'] } & FlexFieldPropsType)\r\n ), 'value' | 'onChange' | 'className'>\r\n & Omit<InputFieldWrapperPropsType, 'children' | 'className'>\r\n & {\r\n value?: any,\r\n onChange?: (value: any) => void,\r\n type?: InputFieldTypes,\r\n offWrapper?: boolean,\r\n className?: InputFieldClassNameType,\r\n}","export * from './InputFieldTypes'","import React from \"react\"\r\nimport {\r\n FlexField,\r\n InputFieldWrapper,\r\n RadioField,\r\n SelectField,\r\n SwitcherField,\r\n TextareaField,\r\n} from \"../../../InputFields\";\r\nimport {InputFieldStyle} from \"../styles\";\r\nimport {InputFieldPropsType} from \"../types\";\r\n\r\nexport default function InputField({type, offWrapper, className = InputFieldStyle, ...props}: InputFieldPropsType): React.JSX.Element {\r\n const getField = () => {\r\n switch (type) {\r\n case 'select':\r\n return <SelectField {...props} className={className}/>\r\n case 'radio':\r\n return <RadioField {...props} className={className}/>\r\n case 'switcher':\r\n return <SwitcherField {...props} className={className}/>\r\n case 'textarea':\r\n return <TextareaField {...props} className={className}/>\r\n default:\r\n return <FlexField {...props} type={type} className={className}/>\r\n }\r\n }\r\n\r\n if (offWrapper) {\r\n return getField()\r\n }\r\n\r\n return <InputFieldWrapper {...props} viewRequired={props.viewRequired !== undefined? props.viewRequired : props.required} className={className}>{getField()}</InputFieldWrapper>\r\n}","export * from './types'\r\nexport {default as RadioField} from './ui/RadioField'","export {default as RadioFieldStyle} from './RadioField.module.scss'","import {RadioFieldOptionsItemType} from './RadioFieldTypes'\r\n\r\nexport type RadioFieldItemClassNameType = {\r\n radioFieldItem?: string,\r\n checkbox?: string,\r\n label?: string,\r\n active?: string,\r\n}\r\n\r\nexport type RadioFieldOwnerItemPropsType = {\r\n onClick?: () => void,\r\n active?: boolean,\r\n disabled?: boolean,\r\n}\r\n\r\nexport type RadioFieldItemPropsType = {\r\n option: RadioFieldOptionsItemType,\r\n onClick?: () => void,\r\n active?: boolean,\r\n disabled?: boolean,\r\n className?: RadioFieldItemClassNameType,\r\n}","import {RadioFieldItemClassNameType, RadioFieldOwnerItemPropsType} from './RadioFieldItemTypes'\r\nimport {ReactElement} from \"react\";\r\n\r\nexport type RadioFieldClassNameType = RadioFieldItemClassNameType & {\r\n radioField?: string,\r\n}\r\n\r\nexport type RadioFieldOptionsItemType = {\r\n value: any,\r\n label?: string,\r\n component?: ReactElement<RadioFieldOwnerItemPropsType>,\r\n}\r\n\r\nexport type RadioFieldOptionsType = RadioFieldOptionsItemType[]\r\n\r\nexport type RadioFieldValueType = any | any[]\r\n\r\nexport type RadioFieldPropsType = {\r\n value?: RadioFieldValueType,\r\n onChange?: (value: any) => void,\r\n options?: RadioFieldOptionsType,\r\n required?: boolean,\r\n multiple?: boolean,\r\n disabled?: boolean,\r\n className?: RadioFieldClassNameType,\r\n}","export * from './RadioFieldTypes'\r\nexport * from './RadioFieldItemTypes'","'use client'\r\n\r\nimport React, {useEffect} from \"react\"\r\nimport {RadioFieldOptionsItemType, RadioFieldPropsType} from \"../types\";\r\nimport {RadioFieldStyle} from \"../styles\";\r\nimport RadioFieldItem from \"./RadioFieldItem\";\r\n\r\nexport default function RadioField({\r\n value,\r\n onChange,\r\n options = [],\r\n required = false,\r\n multiple = true,\r\n disabled = false,\r\n className = RadioFieldStyle,\r\n }: RadioFieldPropsType): React.JSX.Element {\r\n useEffect(() => {\r\n if (required && options[0] && (value === undefined || Array.isArray(value) && value.length === 0)) {\r\n onChange && onChange(options[0].value)\r\n }\r\n }, []);\r\n\r\n const handleChange = (option: RadioFieldOptionsItemType) => {\r\n let newValue: any[]\r\n\r\n if (value) {\r\n if (Array.isArray(value)) {\r\n newValue = [...value]\r\n } else {\r\n newValue = [value]\r\n }\r\n } else {\r\n newValue = []\r\n }\r\n\r\n if (!!newValue.find(item => JSON.stringify(item) === JSON.stringify(option.value))) {\r\n newValue = newValue.filter(item => JSON.stringify(item) !== JSON.stringify(option.value))\r\n } else {\r\n newValue = [...newValue, option.value]\r\n }\r\n\r\n if (required && newValue.length === 0) {\r\n if (value) {\r\n if (Array.isArray(value)) {\r\n newValue = [...value]\r\n } else {\r\n newValue = [value]\r\n }\r\n } else {\r\n if (options[0])\r\n newValue = [options[0]]\r\n }\r\n }\r\n\r\n if (!multiple) {\r\n newValue = [newValue[newValue.length - 1]]\r\n }\r\n\r\n onChange && onChange(newValue)\r\n }\r\n\r\n const isActive = (option: RadioFieldOptionsItemType) => {\r\n if (Array.isArray(value)) {\r\n return value.find(item => JSON.stringify(item) === JSON.stringify(option.value))\r\n } else {\r\n return JSON.stringify(value) === JSON.stringify(option.value)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {options.map((item, idx) => <RadioFieldItem option={item}\r\n onClick={() => handleChange(item)}\r\n active={isActive(item)}\r\n disabled={disabled}\r\n className={className}\r\n key={idx}/>)}\r\n </>\r\n )\r\n}","import React from \"react\"\r\nimport clsx from \"clsx\";\r\nimport {RadioFieldItemPropsType} from \"../types\";\r\n\r\nexport default function RadioFieldItem({\r\n option,\r\n onClick,\r\n active = false,\r\n disabled = false,\r\n className,\r\n }: RadioFieldItemPropsType): React.JSX.Element {\r\n if (option.component) {\r\n return React.cloneElement(option.component, {onClick: onClick, active: active, disabled: disabled})\r\n }\r\n\r\n return (\r\n <button onClick={onClick}\r\n disabled={disabled}\r\n className={clsx(className?.radioFieldItem, {\r\n [className?.active as string]: active,\r\n })}>\r\n <div className={className?.checkbox}></div>\r\n <span className={className?.label}>{option.label}</span>\r\n </button>\r\n )\r\n}","export const DELTA_SCROLL_END = 10","export * from './ScrollConfig'","export {default as SelectField} from './ui/SelectField'\r\nexport * from './types'\r\n","import {SelectFieldOptionsType, SelectFieldValueType} from '../types'\r\n\r\nexport default function getStringValue(value: SelectFieldValueType, options: SelectFieldOptionsType = []): string {\r\n if (Array.isArray(value)) {\r\n const labels = options.filter(item => !!value.find(v => JSON.stringify(v) === JSON.stringify(item.value))).map(item => item.label)\r\n return labels.join(', ')\r\n }\r\n return options.find(item => JSON.stringify(item.value) === JSON.stringify(value))?.label || ''\r\n}","export {default as isActiveOption} from './isActiveOption'\r\nexport {default as getStringValue} from './getStringValue'","import {SelectFieldValueType, SelectFieldOptionsItemType} from \"../types\";\r\n\r\nexport default function isActiveOption(value: SelectFieldValueType, option: SelectFieldOptionsItemType): boolean {\r\n if (Array.isArray(value)) {\r\n return value.find(item => item === option.value)\r\n }\r\n return value === option.value\r\n}","export {default as SelectFieldStyle} from './SelectField.module.scss'","import {SelectFieldOptionsItemType} from './SelectFieldTypes'\r\n\r\nexport type SelectFieldOptionsItemClassNameType = {\r\n selectFieldOptionsItem?: string,\r\n label?: string,\r\n active?: string,\r\n}\r\n\r\nexport type SelectFieldOptionsOwnerItemPropsType = {\r\n active?: boolean,\r\n onClick?: () => void,\r\n}\r\n\r\nexport type SelectFieldOptionsItemPropsType = {\r\n option: SelectFieldOptionsItemType,\r\n active?: boolean,\r\n onClick?: () => void,\r\n className?: SelectFieldOptionsItemClassNameType,\r\n}","import {ReactElement} from \"react\";\r\n\r\nimport {FlexFieldClassNameType} from '../../FlexField'\r\nimport {SelectModalWindowClassNameType} from './SelectModalWindowTypes'\r\nimport {SelectFieldOptionsOwnerItemPropsType} from \"./SelectFieldOptionsItemTypes\";\r\n\r\nexport type SelectFieldClassNameType = FlexFieldClassNameType & SelectModalWindowClassNameType & {\r\n selectField?: string,\r\n modalWindow?: string,\r\n}\r\n\r\nexport type SelectFieldOptionsItemType = {\r\n value: any,\r\n label?: string,\r\n component?: ReactElement<SelectFieldOptionsOwnerItemPropsType>,\r\n}\r\nexport type SelectFieldOptionsType = SelectFieldOptionsItemType[]\r\nexport type SelectFieldValueType = any[] | any\r\nexport type SelectFieldLoadMoreOptionsType = (optionsCount: number) => Promise<SelectFieldOptionsType>\r\n\r\nexport type SelectFieldPropsType = {\r\n value?: SelectFieldValueType,\r\n onChange?: (value: any) => void,\r\n isError?: boolean,\r\n isSearching?: boolean,\r\n required?: boolean,\r\n multiple?: boolean,\r\n disabled?: boolean,\r\n offOptionsSyncing?: boolean,\r\n placeholder?: string,\r\n onBlur?: () => void,\r\n options?: SelectFieldOptionsType,\r\n autoClose?: boolean,\r\n loadMoreOptions?: SelectFieldLoadMoreOptionsType,\r\n className?: SelectFieldClassNameType,\r\n}","import {SelectFieldOptionsType, SelectFieldValueType} from './SelectFieldTypes'\r\nimport {SelectFieldOptionsItemClassNameType} from \"./SelectFieldOptionsItemTypes\";\r\n\r\nexport type SelectModalWindowClassNameType = SelectFieldOptionsItemClassNameType & {\r\n selectModalWindow?: string,\r\n}\r\n\r\nexport type SelectModalWindowPropsType = {\r\n value: SelectFieldValueType,\r\n onChange: (value: any[]) => void,\r\n options: SelectFieldOptionsType,\r\n onScrollToBottom?: () => void,\r\n className?: SelectModalWindowClassNameType,\r\n}","export * from './SelectFieldTypes'\r\nexport * from './SelectModalWindowTypes'\r\nexport * from './SelectFieldOptionsItemTypes'","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {FlexField} from '../../FlexField'\r\nimport {SelectFieldOptionsType, SelectFieldPropsType} from '../types';\r\nimport {getStringValue} from '../lib';\r\nimport {SelectFieldStyle} from \"../styles\";\r\nimport SelectModalWindow from \"./SelectModalWindow\";\r\n\r\nexport default function SelectField({\r\n value,\r\n onChange,\r\n options = [],\r\n placeholder,\r\n isError,\r\n isSearching = false,\r\n required = false,\r\n multiple = false,\r\n disabled = false,\r\n offOptionsSyncing = false,\r\n autoClose = true,\r\n onBlur,\r\n loadMoreOptions,\r\n className = SelectFieldStyle,\r\n }: SelectFieldPropsType): React.JSX.Element {\r\n const [isFocus, setIsFocus] = useState<boolean>(false)\r\n const [searchingString, setSearchingString] = useState<string>('')\r\n const [isShowModalWindow, setIsShowModalWindow] = useState<boolean>(false)\r\n\r\n const [optionsState, setOptionsState] = useState<SelectFieldOptionsType>(options)\r\n\r\n const inputRef = useRef<HTMLDivElement>(null)\r\n const modalWindowRef = useRef<HTMLDivElement>(null)\r\n\r\n useEffect(() => {\r\n if (!offOptionsSyncing)\r\n setOptionsState(options)\r\n }, [options]);\r\n\r\n useEffect(() => {\r\n if (required && optionsState[0] && (value === undefined || Array.isArray(value) && value.length === 0)) {\r\n onChange && onChange(optionsState[0].value)\r\n }\r\n\r\n const onClickListener = (e: MouseEvent) => {\r\n const isInputElement = e.target === inputRef.current || inputRef.current?.contains(e.target as Node)\r\n const isModalWindowElement = e.target === modalWindowRef.current || modalWindowRef.current?.contains(e.target as Node)\r\n\r\n if (!isInputElement && !isModalWindowElement) {\r\n setIsShowModalWindow(false)\r\n onBlur && onBlur()\r\n }\r\n }\r\n\r\n window.addEventListener('click', onClickListener)\r\n return () => {\r\n window.removeEventListener('click', onClickListener)\r\n }\r\n }, []);\r\n\r\n const handleChange = (data: any[]) => {\r\n if (data.length === 0 && required) {\r\n let newValue\r\n\r\n if (Array.isArray(value)) {\r\n newValue = value[0]\r\n } else {\r\n newValue = value\r\n }\r\n\r\n onChange && onChange([newValue || optionsState[0]])\r\n } else {\r\n if (data.length > 1 && !multiple) {\r\n onChange && onChange([data[data.length - 1]])\r\n if (autoClose) {\r\n setIsShowModalWindow(false)\r\n onBlur && onBlur()\r\n }\r\n } else {\r\n onChange && onChange(data)\r\n }\r\n }\r\n }\r\n\r\n const getViewField = () => {\r\n if (isSearching) {\r\n return <FlexField value={isFocus ? searchingString : getStringValue(value, optionsState)}\r\n onChange={setSearchingString}\r\n disabled={disabled}\r\n onFocus={() => {\r\n setIsFocus(true)\r\n setIsShowModalWindow(true)\r\n }}\r\n onBlur={() => {\r\n setIsFocus(false)\r\n setIsShowModalWindow(false)\r\n onBlur && onBlur()\r\n }}\r\n onClick={() => setIsShowModalWindow(true)}\r\n isError={isError}\r\n placeholder={placeholder}\r\n dropdown={true}\r\n dropdownState={isShowModalWindow}\r\n ref={inputRef}\r\n />\r\n }\r\n\r\n return <FlexField value={getStringValue(value, optionsState)}\r\n isError={isError}\r\n disabled={disabled}\r\n placeholder={placeholder}\r\n notInput={true}\r\n onClick={() => setIsShowModalWindow(true)}\r\n dropdown={true}\r\n dropdownState={isShowModalWindow}\r\n ref={inputRef}\r\n />\r\n }\r\n\r\n const onScrollToBottom = async () => {\r\n if (loadMoreOptions) {\r\n const newOptions = await loadMoreOptions(optionsState?.length)\r\n setOptionsState(prevState => [...prevState, ...newOptions])\r\n }\r\n }\r\n\r\n return (\r\n <div className={className?.selectField}>\r\n {getViewField()}\r\n {isShowModalWindow && (\r\n <div ref={modalWindowRef} className={className?.modalWindow}>\r\n <SelectModalWindow value={value}\r\n options={optionsState}\r\n onChange={handleChange}\r\n onScrollToBottom={onScrollToBottom}\r\n className={className}/>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {CheckSVG} from \"@/assets\";\r\nimport {SelectFieldOptionsItemPropsType} from \"../types\";\r\n\r\nexport default function SelectFieldOptionsItem({option, active, onClick, className}: SelectFieldOptionsItemPropsType): React.JSX.Element {\r\n if (option.component) {\r\n return React.cloneElement(option.component, {onClick: onClick, active: active});\r\n }\r\n\r\n return (\r\n <button onClick={onClick}\r\n className={clsx(className?.selectFieldOptionsItem, {\r\n [className?.active as string]: active,\r\n })}>\r\n\r\n <span className={className?.label}>{option.label}</span>\r\n {active && <CheckSVG/>}\r\n </button>\r\n )\r\n}","import React from \"react\";\r\nimport {SelectFieldOptionsItemType, SelectModalWindowPropsType} from \"../types\";\r\nimport {isActiveOption} from \"../lib\";\r\nimport {DELTA_SCROLL_END} from \"../config\";\r\nimport SelectFieldOptionsItem from \"./SelectFieldOptionsItem\";\r\n\r\nexport default function SelectModalWindow({\r\n value,\r\n onChange,\r\n options,\r\n onScrollToBottom,\r\n className,\r\n }: SelectModalWindowPropsType): React.JSX.Element {\r\n const handleClick = (option: SelectFieldOptionsItemType) => {\r\n let newValue: any[]\r\n\r\n if (value) {\r\n if (Array.isArray(value)) {\r\n newValue = [...value]\r\n } else {\r\n newValue = [value]\r\n }\r\n } else {\r\n newValue = []\r\n }\r\n\r\n newValue.find(item => item === option.value)\r\n\r\n if (!!newValue.find(item => JSON.stringify(item) === JSON.stringify(option.value))) {\r\n onChange && onChange(newValue.filter(item => JSON.stringify(item) !== JSON.stringify(option.value)))\r\n } else {\r\n onChange([...newValue, option.value])\r\n }\r\n }\r\n\r\n const handleScroll: React.UIEventHandler<HTMLDivElement> = (event) => {\r\n const scrollHeight = event.currentTarget.scrollHeight\r\n const clientHeight = event.currentTarget.clientHeight\r\n const scrollTop = event.currentTarget.scrollTop\r\n\r\n if (scrollHeight - scrollTop - clientHeight < DELTA_SCROLL_END) {\r\n onScrollToBottom && onScrollToBottom()\r\n }\r\n }\r\n\r\n return (\r\n <div onScroll={handleScroll} className={className?.selectModalWindow}>\r\n {options.map((item, idx) => <SelectFieldOptionsItem option={item}\r\n active={isActiveOption(value, item)}\r\n onClick={() => handleClick(item)}\r\n className={className}\r\n key={idx}/>)}\r\n </div>\r\n )\r\n}","export {default as SwitcherField} from './ui/SwitcherField'\r\nexport * from './types'","export {default as SwitcherFieldStyle} from './SwitcherField.module.scss'","import {ReactElement, ReactNode} from \"react\";\r\n\r\nexport type SwitcherFieldClassNameType = {\r\n switcherField?: string,\r\n active?: string,\r\n}\r\n\r\nexport type SwitcherFieldPropsType = {\r\n value?: boolean,\r\n onChange?: (value: any) => void,\r\n disabled?: boolean,\r\n className?: SwitcherFieldClassNameType,\r\n switcherWrapper?: ReactElement<any>,\r\n children?: ReactNode,\r\n}","export * from './SwitcherFieldTypes'","import React, {ReactElement} from 'react'\r\nimport clsx from \"clsx\";\r\nimport {SwitcherFieldPropsType} from \"../types\";\r\nimport {SwitcherFieldStyle} from \"../styles\";\r\n\r\nexport default function SwitcherField({\r\n value,\r\n onChange,\r\n children,\r\n disabled = false,\r\n switcherWrapper,\r\n className = SwitcherFieldStyle\r\n }: SwitcherFieldPropsType): React.JSX.Element {\r\n\r\n const handleChange = () => {\r\n onChange && onChange(!value)\r\n }\r\n\r\n const Switcher = ({value, className, disabled}: SwitcherFieldPropsType) => {\r\n return (\r\n <button disabled={disabled}\r\n onClick={handleChange}\r\n className={clsx(className?.switcherField, {\r\n [className?.active as string]: !!value,\r\n })}>\r\n {children}\r\n </button>\r\n )\r\n }\r\n\r\n if (switcherWrapper !== undefined) {\r\n return React.cloneElement(switcherWrapper, {\r\n children: <Switcher className={className} value={value} disabled={disabled}/>,\r\n value: value,\r\n onChange: onChange,\r\n disabled: disabled\r\n },)\r\n }\r\n\r\n return <Switcher className={className} value={value} disabled={disabled}/>\r\n}","export {default as TextareaField} from './ui/TextareaField'\r\nexport * from \"./types\"","export {default as TextareaFieldStyle} from './TextareaField.module.scss'","export type TextareaFieldClassNameType = {\r\n textareaField?: string,\r\n isError?: string,\r\n}\r\n\r\nexport type TextareaFieldPropsType = {\r\n value?: string,\r\n name?: string,\r\n placeholder?: string,\r\n onChange?: (value: any) => void,\r\n isError?: boolean,\r\n required?: boolean,\r\n disabled?: boolean,\r\n className?: TextareaFieldClassNameType,\r\n}","export * from './TextareaFieldTypes'","import React, {ChangeEvent} from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {TextareaFieldPropsType} from \"../types\";\r\nimport {TextareaFieldStyle} from \"../styles\";\r\n\r\nexport default function TextareaField({\r\n value,\r\n name,\r\n placeholder,\r\n onChange,\r\n required = false,\r\n disabled = false,\r\n isError = false,\r\n className = TextareaFieldStyle,\r\n }: TextareaFieldPropsType): React.JSX.Element {\r\n const handleOnChange = (e: ChangeEvent<HTMLTextAreaElement>) => {\r\n e.preventDefault()\r\n onChange && onChange(e.target.value)\r\n }\r\n\r\n return (\r\n <textarea name={name}\r\n placeholder={placeholder}\r\n value={value || ''}\r\n onChange={handleOnChange}\r\n required={required}\r\n disabled={disabled}\r\n className={clsx(className?.textareaField, {\r\n [className?.isError as string]: isError,\r\n })}\r\n />\r\n )\r\n}","export * from './FlexField'\r\nexport * from './SelectField'\r\nexport * from './InputFieldWrapper'\r\nexport * from './SwitcherField'\r\nexport * from './RadioField'\r\nexport * from './TextareaField'\r\nexport * from './InputField'\r\n","export * from './ui'\r\nexport * from './types'","export {default as MicroButtonStyle} from './MicroButton.module.scss'","import React from \"react\";\r\n\r\nexport type MicroButtonSizeType =\r\n | '14'\r\n | '16'\r\n | '20'\r\n | '24'\r\n | '28'\r\n\r\nexport type MicroButtonColorsType =\r\n | 'light'\r\n | 'dark'\r\n | 'gray'\r\n | 'color'\r\n | 'color-hover'\r\n | 'red-hover'\r\n | 'color-fill'\r\n | 'gray-fill'\r\n | 'red-fill'\r\n\r\nexport type MicroButtonClassNameType = {\r\n button?: string,\r\n\r\n light?: string,\r\n dark?: string,\r\n gray?: string,\r\n color?: string,\r\n colorHover?: string,\r\n redHover?: string,\r\n colorFill?: string,\r\n grayFill?: string,\r\n redFill?: string,\r\n\r\n size14?: string,\r\n size16?: string,\r\n size20?: string,\r\n size24?: string,\r\n size28?: string,\r\n}\r\n/**\r\n * Компонент кнопки\r\n */\r\nexport type MicroButtonPropsType = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'className'> & {\r\n /** Текст внутри кнопки */\r\n children?: React.ReactNode,\r\n /** Иконка слева */\r\n icon?: React.ReactNode,\r\n /** Размер иконки (Size в дизайне) */\r\n size?: MicroButtonSizeType,\r\n /** Цвет иконки (Color в дизайне) */\r\n color?: MicroButtonColorsType,\r\n /** Дополнительные имена стилей */\r\n additionStyles?: string | string[],\r\n className?: MicroButtonClassNameType,\r\n}","export * from './MicroButtonTypes'","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {MicroButtonPropsType} from '../types'\r\nimport {MicroButtonStyle} from \"../styles\";\r\n\r\nexport function MicroButton({\r\n children,\r\n icon,\r\n size = '14',\r\n color = 'light',\r\n additionStyles = [],\r\n className = MicroButtonStyle,\r\n ...props\r\n }: MicroButtonPropsType) {\r\n\r\n const getTypeClassName = () => {\r\n switch (color) {\r\n case 'light':\r\n return className?.light\r\n case 'dark':\r\n return className?.dark\r\n case 'color':\r\n return className?.color\r\n case 'color-fill':\r\n return className?.colorFill\r\n case 'color-hover':\r\n return className?.colorHover\r\n case 'red-fill':\r\n return className?.redFill\r\n case 'red-hover':\r\n return className?.redHover\r\n case 'gray':\r\n return className?.gray\r\n case 'gray-fill':\r\n return className?.grayFill\r\n }\r\n }\r\n\r\n const getSizeClassName = () => {\r\n switch (size) {\r\n case \"14\":\r\n return className?.size14\r\n case \"16\":\r\n return className?.size16\r\n case \"20\":\r\n return className?.size20\r\n case \"24\":\r\n return className?.size24\r\n case \"28\":\r\n return className?.size28\r\n }\r\n }\r\n\r\n const getAdditionStyles = () => {\r\n if (typeof additionStyles === 'string') {\r\n return additionStyles\r\n }\r\n return additionStyles.join(' ')\r\n }\r\n\r\n return (\r\n <button {...props}\r\n className={clsx(className?.button, getTypeClassName(), getSizeClassName(), getAdditionStyles())}>\r\n {icon || children}\r\n </button>\r\n )\r\n}","export * from './MicroButton'","export * from './Buttons'\r\nexport * from './MicroButton'\r\nexport * from './DatePicker'\r\nexport * from './InputFields'\r\nexport * from './FormBuilder'","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","import { getDayOfYear } from \"../../getDayOfYear.js\";\nimport { getISOWeek } from \"../../getISOWeek.js\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.js\";\nimport { getWeek } from \"../../getWeek.js\";\nimport { getWeekYear } from \"../../getWeekYear.js\";\n\nimport { addLeadingZeros } from \"../addLeadingZeros.js\";\nimport { lightFormatters } from \"./lightFormatters.js\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(+date / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n return addLeadingZeros(+date, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","import { toDate } from \"../toDate.js\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","import { normalizeDates } from \"./normalizeDates.js\";\n\nexport function normalizeInterval(context, interval) {\n const [start, end] = normalizeDates(context, interval.start, interval.end);\n return { start, end };\n}\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addDays} function options.\n */\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n * @param options - An object with options\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n if (!amount) return _date;\n\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addMonths} function options.\n */\n\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be added.\n * @param options - The options object\n *\n * @returns The new date with the months added\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n *\n * // Add one month to 30 January 2023:\n * const result = addMonths(new Date(2023, 0, 30), 1)\n * //=> Tue Feb 28 2023 00:00:00\n */\nexport function addMonths(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return _date;\n }\n const dayOfMonth = _date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n const endOfDesiredMonth = constructFrom(options?.in || date, _date.getTime());\n endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);\n const daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n _date.setFullYear(\n endOfDesiredMonth.getFullYear(),\n endOfDesiredMonth.getMonth(),\n dayOfMonth,\n );\n return _date;\n }\n}\n\n// Fallback for modularized imports:\nexport default addMonths;\n","import { addDays } from \"./addDays.js\";\n\n/**\n * The {@link addWeeks} function options.\n */\n\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of weeks to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of weeks to be added.\n * @param options - An object with options\n *\n * @returns The new date with the weeks added\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\nexport function addWeeks(date, amount, options) {\n return addDays(date, amount * 7, options);\n}\n\n// Fallback for modularized imports:\nexport default addWeeks;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * @name closestIndexTo\n * @category Common Helpers\n * @summary Return an index of the closest date from the array comparing to the given date.\n *\n * @description\n * Return an index of the closest date from the array comparing to the given date.\n *\n * @param dateToCompare - The date to compare with\n * @param dates - The array to search\n *\n * @returns An index of the date closest to the given date or undefined if no valid value is given\n *\n * @example\n * // Which date is closer to 6 September 2015?\n * const dateToCompare = new Date(2015, 8, 6)\n * const datesArray = [\n * new Date(2015, 0, 1),\n * new Date(2016, 0, 1),\n * new Date(2017, 0, 1)\n * ]\n * const result = closestIndexTo(dateToCompare, datesArray)\n * //=> 1\n */\nexport function closestIndexTo(dateToCompare, dates) {\n // [TODO] It would be better to return -1 here rather than undefined, as this\n // is how JS behaves, but it would be a breaking change, so we need\n // to consider it for v4.\n const timeToCompare = +toDate(dateToCompare);\n\n if (isNaN(timeToCompare)) return NaN;\n\n let result;\n let minDistance;\n dates.forEach((date, index) => {\n const date_ = toDate(date);\n\n if (isNaN(+date_)) {\n result = NaN;\n minDistance = NaN;\n return;\n }\n\n const distance = Math.abs(timeToCompare - +date_);\n if (result == null || distance < minDistance) {\n result = index;\n minDistance = distance;\n }\n });\n\n return result;\n}\n\n// Fallback for modularized imports:\nexport default closestIndexTo;\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date>(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\n\n/**\n * The {@link differenceInDays} function options.\n */\n\n/**\n * @name differenceInDays\n * @category Day Helpers\n * @summary Get the number of full days between the given dates.\n *\n * @description\n * Get the number of full day periods between two dates. Fractional days are\n * truncated towards zero.\n *\n * One \"full day\" is the distance between a local time in one day to the same\n * local time on the next or previous day. A full day can sometimes be less than\n * or more than 24 hours if a daylight savings change happens between two dates.\n *\n * To ignore DST and only measure exact 24-hour periods, use this instead:\n * `Math.trunc(differenceInHours(dateLeft, dateRight)/24)|0`.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - An object with options\n *\n * @returns The number of full days according to the local timezone\n *\n * @example\n * // How many full days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 365\n *\n * @example\n * // How many full days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 0\n *\n * @example\n * // How many full days are between\n * // 1 March 2020 0:00 and 1 June 2020 0:00 ?\n * // Note: because local time is used, the\n * // result will always be 92 days, even in\n * // time zones where DST starts and the\n * // period has only 92*24-1 hours.\n * const result = differenceInDays(\n * new Date(2020, 5, 1),\n * new Date(2020, 2, 1)\n * )\n * //=> 92\n */\nexport function differenceInDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const sign = compareLocalAsc(laterDate_, earlierDate_);\n const difference = Math.abs(\n differenceInCalendarDays(laterDate_, earlierDate_),\n );\n\n laterDate_.setDate(laterDate_.getDate() - sign * difference);\n\n // Math.abs(diff in full days - diff in calendar days) === 1 if last calendar day is not full\n // If so, result must be decreased by 1 in absolute value\n const isLastDayNotFull = Number(\n compareLocalAsc(laterDate_, earlierDate_) === -sign,\n );\n\n const result = sign * (difference - isLastDayNotFull);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}\n\n// Like `compareAsc` but uses local time not UTC, which is needed\n// for accurate equality comparisons of UTC timestamps that end up\n// having the same representation in local time, e.g. one hour before\n// DST ends vs. the instant that DST ends.\nfunction compareLocalAsc(laterDate, earlierDate) {\n const diff =\n laterDate.getFullYear() - earlierDate.getFullYear() ||\n laterDate.getMonth() - earlierDate.getMonth() ||\n laterDate.getDate() - earlierDate.getDate() ||\n laterDate.getHours() - earlierDate.getHours() ||\n laterDate.getMinutes() - earlierDate.getMinutes() ||\n laterDate.getSeconds() - earlierDate.getSeconds() ||\n laterDate.getMilliseconds() - earlierDate.getMilliseconds();\n\n if (diff < 0) return -1;\n if (diff > 0) return 1;\n\n // Return 0 if diff is 0; return NaN if diff is NaN\n return diff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInDays;\n","import { normalizeInterval } from \"./_lib/normalizeInterval.js\";\nimport { constructFrom } from \"./constructFrom.js\";\n\n/**\n * The {@link eachDayOfInterval} function options.\n */\n\n/**\n * The {@link eachDayOfInterval} function result type. It resolves the proper data type.\n * It uses the first argument date object type, starting from the date argument,\n * then the start interval date, and finally the end interval date. If\n * a context function is passed, it uses the context function return type.\n */\n\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @typeParam IntervalType - Interval type.\n * @typeParam Options - Options type.\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of days from the day of the interval start to the day of the interval end\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 9, 10)\n * })\n * //=> [\n * // Mon Oct 06 2014 00:00:00,\n * // Tue Oct 07 2014 00:00:00,\n * // Wed Oct 08 2014 00:00:00,\n * // Thu Oct 09 2014 00:00:00,\n * // Fri Oct 10 2014 00:00:00\n * // ]\n */\nexport function eachDayOfInterval(interval, options) {\n const { start, end } = normalizeInterval(options?.in, interval);\n\n let reversed = +start > +end;\n const endTime = reversed ? +start : +end;\n const date = reversed ? end : start;\n date.setHours(0, 0, 0, 0);\n\n let step = options?.step ?? 1;\n if (!step) return [];\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(constructFrom(start, date));\n date.setDate(date.getDate() + step);\n date.setHours(0, 0, 0, 0);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachDayOfInterval;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link endOfMonth} function options.\n */\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link endOfWeek} function options.\n */\n\n/**\n * @name endOfWeek\n * @category Week Helpers\n * @summary Return the end of a week for the given date.\n *\n * @description\n * Return the end of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The end of a week\n *\n * @example\n * // The end of a week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 23:59:59.999\n *\n * @example\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 23:59:59.999\n */\nexport function endOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n\n _date.setDate(_date.getDate() + diff);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfWeek;\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { formatters } from \"./_lib/format/formatters.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { isValid } from \"./isValid.js\";\nimport { toDate } from \"./toDate.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date, options?.in);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { startOfYear } from \"./startOfYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDayOfYear} function options.\n */\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date, options) {\n const _date = toDate(date, options?.in);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeek} function options.\n */\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeekYear} function options.\n */\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\nexport function getWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(options?.in || date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(options?.in || date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (+_date >= +startOfNextYear) {\n return year + 1;\n } else if (+_date >= +startOfThisYear) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The dates are equal\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nexport function isEqual(leftDate, rightDate) {\n return +toDate(leftDate) === +toDate(rightDate);\n}\n\n// Fallback for modularized imports:\nexport default isEqual;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link isSameDay} function options.\n */\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\n\n/**\n * The {@link isSameMonth} function options.\n */\n\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month (and year)?\n *\n * @description\n * Are the given dates in the same month (and year)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same month (and year)\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n *\n * @example\n * // Are 2 September 2014 and 25 September 2015 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25))\n * //=> false\n */\nexport function isSameMonth(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return (\n laterDate_.getFullYear() === earlierDate_.getFullYear() &&\n laterDate_.getMonth() === earlierDate_.getMonth()\n );\n}\n\n// Fallback for modularized imports:\nexport default isSameMonth;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link isSameWeek} function options.\n */\n\n/**\n * @name isSameWeek\n * @category Week Helpers\n * @summary Are the given dates in the same week (and month and year)?\n *\n * @description\n * Are the given dates in the same week (and month and year)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same week (and month and year)\n *\n * @example\n * // Are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))\n * //=> true\n *\n * @example\n * // If week starts with Monday,\n * // are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {\n * weekStartsOn: 1\n * })\n * //=> false\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same week?\n * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport function isSameWeek(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return (\n +startOfWeek(laterDate_, options) === +startOfWeek(earlierDate_, options)\n );\n}\n\n// Fallback for modularized imports:\nexport default isSameWeek;\n","import { isDate } from \"./isDate.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertible into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n return !((!isDate(date) && typeof date !== \"number\") || isNaN(+toDate(date)));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link isWithinInterval} function options.\n */\n\n/**\n * @name isWithinInterval\n * @category Interval Helpers\n * @summary Is the given date within the interval?\n *\n * @description\n * Is the given date within the interval? (Including start and end.)\n *\n * @param date - The date to check\n * @param interval - The interval to check\n * @param options - An object with options\n *\n * @returns The date is within the interval\n *\n * @example\n * // For the date within the interval:\n * isWithinInterval(new Date(2014, 0, 3), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * // => true\n *\n * @example\n * // For the date outside of the interval:\n * isWithinInterval(new Date(2014, 0, 10), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * // => false\n *\n * @example\n * // For date equal to the interval start:\n * isWithinInterval(date, { start, end: date })\n * // => true\n *\n * @example\n * // For date equal to the interval end:\n * isWithinInterval(date, { start: date, end })\n * // => true\n */\nexport function isWithinInterval(date, interval, options) {\n const time = +toDate(date, options?.in);\n const [startTime, endTime] = [\n +toDate(interval.start, options?.in),\n +toDate(interval.end, options?.in),\n ].sort((a, b) => a - b);\n\n return time >= startTime && time <= endTime;\n}\n\n// Fallback for modularized imports:\nexport default isWithinInterval;\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./ru/_lib/formatDistance.js\";\nimport { formatLong } from \"./ru/_lib/formatLong.js\";\nimport { formatRelative } from \"./ru/_lib/formatRelative.js\";\nimport { localize } from \"./ru/_lib/localize.js\";\nimport { match } from \"./ru/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Russian locale.\n * @language Russian\n * @iso-639-2 rus\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const ru = {\n code: \"ru\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default ru;\n","function declension(scheme, count) {\n // scheme for count=1 exists\n if (scheme.one !== undefined && count === 1) {\n return scheme.one;\n }\n\n const rem10 = count % 10;\n const rem100 = count % 100;\n\n // 1, 21, 31, ...\n if (rem10 === 1 && rem100 !== 11) {\n return scheme.singularNominative.replace(\"{{count}}\", String(count));\n\n // 2, 3, 4, 22, 23, 24, 32 ...\n } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n return scheme.singularGenitive.replace(\"{{count}}\", String(count));\n\n // 5, 6, 7, 8, 9, 10, 11, ...\n } else {\n return scheme.pluralGenitive.replace(\"{{count}}\", String(count));\n }\n}\n\nfunction buildLocalizeTokenFn(scheme) {\n return (count, options) => {\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (scheme.future) {\n return declension(scheme.future, count);\n } else {\n return \"через \" + declension(scheme.regular, count);\n }\n } else {\n if (scheme.past) {\n return declension(scheme.past, count);\n } else {\n return declension(scheme.regular, count) + \" назад\";\n }\n }\n } else {\n return declension(scheme.regular, count);\n }\n };\n}\n\nconst formatDistanceLocale = {\n lessThanXSeconds: buildLocalizeTokenFn({\n regular: {\n one: \"меньше секунды\",\n singularNominative: \"меньше {{count}} секунды\",\n singularGenitive: \"меньше {{count}} секунд\",\n pluralGenitive: \"меньше {{count}} секунд\",\n },\n future: {\n one: \"меньше, чем через секунду\",\n singularNominative: \"меньше, чем через {{count}} секунду\",\n singularGenitive: \"меньше, чем через {{count}} секунды\",\n pluralGenitive: \"меньше, чем через {{count}} секунд\",\n },\n }),\n\n xSeconds: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} секунда\",\n singularGenitive: \"{{count}} секунды\",\n pluralGenitive: \"{{count}} секунд\",\n },\n past: {\n singularNominative: \"{{count}} секунду назад\",\n singularGenitive: \"{{count}} секунды назад\",\n pluralGenitive: \"{{count}} секунд назад\",\n },\n future: {\n singularNominative: \"через {{count}} секунду\",\n singularGenitive: \"через {{count}} секунды\",\n pluralGenitive: \"через {{count}} секунд\",\n },\n }),\n\n halfAMinute: (_count, options) => {\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"через полминуты\";\n } else {\n return \"полминуты назад\";\n }\n }\n\n return \"полминуты\";\n },\n\n lessThanXMinutes: buildLocalizeTokenFn({\n regular: {\n one: \"меньше минуты\",\n singularNominative: \"меньше {{count}} минуты\",\n singularGenitive: \"меньше {{count}} минут\",\n pluralGenitive: \"меньше {{count}} минут\",\n },\n future: {\n one: \"меньше, чем через минуту\",\n singularNominative: \"меньше, чем через {{count}} минуту\",\n singularGenitive: \"меньше, чем через {{count}} минуты\",\n pluralGenitive: \"меньше, чем через {{count}} минут\",\n },\n }),\n\n xMinutes: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} минута\",\n singularGenitive: \"{{count}} минуты\",\n pluralGenitive: \"{{count}} минут\",\n },\n past: {\n singularNominative: \"{{count}} минуту назад\",\n singularGenitive: \"{{count}} минуты назад\",\n pluralGenitive: \"{{count}} минут назад\",\n },\n future: {\n singularNominative: \"через {{count}} минуту\",\n singularGenitive: \"через {{count}} минуты\",\n pluralGenitive: \"через {{count}} минут\",\n },\n }),\n\n aboutXHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} часа\",\n singularGenitive: \"около {{count}} часов\",\n pluralGenitive: \"около {{count}} часов\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} час\",\n singularGenitive: \"приблизительно через {{count}} часа\",\n pluralGenitive: \"приблизительно через {{count}} часов\",\n },\n }),\n\n xHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} час\",\n singularGenitive: \"{{count}} часа\",\n pluralGenitive: \"{{count}} часов\",\n },\n }),\n\n xDays: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} день\",\n singularGenitive: \"{{count}} дня\",\n pluralGenitive: \"{{count}} дней\",\n },\n }),\n\n aboutXWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} недели\",\n singularGenitive: \"около {{count}} недель\",\n pluralGenitive: \"около {{count}} недель\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} неделю\",\n singularGenitive: \"приблизительно через {{count}} недели\",\n pluralGenitive: \"приблизительно через {{count}} недель\",\n },\n }),\n\n xWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} неделя\",\n singularGenitive: \"{{count}} недели\",\n pluralGenitive: \"{{count}} недель\",\n },\n }),\n\n aboutXMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} месяца\",\n singularGenitive: \"около {{count}} месяцев\",\n pluralGenitive: \"около {{count}} месяцев\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} месяц\",\n singularGenitive: \"приблизительно через {{count}} месяца\",\n pluralGenitive: \"приблизительно через {{count}} месяцев\",\n },\n }),\n\n xMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} месяц\",\n singularGenitive: \"{{count}} месяца\",\n pluralGenitive: \"{{count}} месяцев\",\n },\n }),\n\n aboutXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} года\",\n singularGenitive: \"около {{count}} лет\",\n pluralGenitive: \"около {{count}} лет\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} год\",\n singularGenitive: \"приблизительно через {{count}} года\",\n pluralGenitive: \"приблизительно через {{count}} лет\",\n },\n }),\n\n xYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} год\",\n singularGenitive: \"{{count}} года\",\n pluralGenitive: \"{{count}} лет\",\n },\n }),\n\n overXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"больше {{count}} года\",\n singularGenitive: \"больше {{count}} лет\",\n pluralGenitive: \"больше {{count}} лет\",\n },\n future: {\n singularNominative: \"больше, чем через {{count}} год\",\n singularGenitive: \"больше, чем через {{count}} года\",\n pluralGenitive: \"больше, чем через {{count}} лет\",\n },\n }),\n\n almostXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"почти {{count}} год\",\n singularGenitive: \"почти {{count}} года\",\n pluralGenitive: \"почти {{count}} лет\",\n },\n future: {\n singularNominative: \"почти через {{count}} год\",\n singularGenitive: \"почти через {{count}} года\",\n pluralGenitive: \"почти через {{count}} лет\",\n },\n }),\n};\n\nexport const formatDistance = (token, count, options) => {\n return formatDistanceLocale[token](count, options);\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM y 'г.'\",\n long: \"d MMMM y 'г.'\",\n medium: \"d MMM y 'г.'\",\n short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n full: \"H:mm:ss zzzz\",\n long: \"H:mm:ss z\",\n medium: \"H:mm:ss\",\n short: \"H:mm\",\n};\n\nconst dateTimeFormats = {\n any: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"any\",\n }),\n};\n","import { isSameWeek } from \"../../../isSameWeek.js\";\n\nconst accusativeWeekdays = [\n \"воскресенье\",\n \"понедельник\",\n \"вторник\",\n \"среду\",\n \"четверг\",\n \"пятницу\",\n \"субботу\",\n];\n\nfunction lastWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n return \"'в прошлое \" + weekday + \" в' p\";\n case 1:\n case 2:\n case 4:\n return \"'в прошлый \" + weekday + \" в' p\";\n case 3:\n case 5:\n case 6:\n return \"'в прошлую \" + weekday + \" в' p\";\n }\n}\n\nfunction thisWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n if (day === 2 /* Tue */) {\n return \"'во \" + weekday + \" в' p\";\n } else {\n return \"'в \" + weekday + \" в' p\";\n }\n}\n\nfunction nextWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n return \"'в следующее \" + weekday + \" в' p\";\n case 1:\n case 2:\n case 4:\n return \"'в следующий \" + weekday + \" в' p\";\n case 3:\n case 5:\n case 6:\n return \"'в следующую \" + weekday + \" в' p\";\n }\n}\n\nconst formatRelativeLocale = {\n lastWeek: (date, baseDate, options) => {\n const day = date.getDay();\n if (isSameWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return lastWeek(day);\n }\n },\n yesterday: \"'вчера в' p\",\n today: \"'сегодня в' p\",\n tomorrow: \"'завтра в' p\",\n nextWeek: (date, baseDate, options) => {\n const day = date.getDay();\n if (isSameWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return nextWeek(day);\n }\n },\n other: \"P\",\n};\n\nexport const formatRelative = (token, date, baseDate, options) => {\n const format = formatRelativeLocale[token];\n\n if (typeof format === \"function\") {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"до н.э.\", \"н.э.\"],\n abbreviated: [\"до н. э.\", \"н. э.\"],\n wide: [\"до нашей эры\", \"нашей эры\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"1-й кв.\", \"2-й кв.\", \"3-й кв.\", \"4-й кв.\"],\n wide: [\"1-й квартал\", \"2-й квартал\", \"3-й квартал\", \"4-й квартал\"],\n};\n\nconst monthValues = {\n narrow: [\"Я\", \"Ф\", \"М\", \"А\", \"М\", \"И\", \"И\", \"А\", \"С\", \"О\", \"Н\", \"Д\"],\n abbreviated: [\n \"янв.\",\n \"фев.\",\n \"март\",\n \"апр.\",\n \"май\",\n \"июнь\",\n \"июль\",\n \"авг.\",\n \"сент.\",\n \"окт.\",\n \"нояб.\",\n \"дек.\",\n ],\n\n wide: [\n \"январь\",\n \"февраль\",\n \"март\",\n \"апрель\",\n \"май\",\n \"июнь\",\n \"июль\",\n \"август\",\n \"сентябрь\",\n \"октябрь\",\n \"ноябрь\",\n \"декабрь\",\n ],\n};\n\nconst formattingMonthValues = {\n narrow: [\"Я\", \"Ф\", \"М\", \"А\", \"М\", \"И\", \"И\", \"А\", \"С\", \"О\", \"Н\", \"Д\"],\n abbreviated: [\n \"янв.\",\n \"фев.\",\n \"мар.\",\n \"апр.\",\n \"мая\",\n \"июн.\",\n \"июл.\",\n \"авг.\",\n \"сент.\",\n \"окт.\",\n \"нояб.\",\n \"дек.\",\n ],\n\n wide: [\n \"января\",\n \"февраля\",\n \"марта\",\n \"апреля\",\n \"мая\",\n \"июня\",\n \"июля\",\n \"августа\",\n \"сентября\",\n \"октября\",\n \"ноября\",\n \"декабря\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"В\", \"П\", \"В\", \"С\", \"Ч\", \"П\", \"С\"],\n short: [\"вс\", \"пн\", \"вт\", \"ср\", \"чт\", \"пт\", \"сб\"],\n abbreviated: [\"вск\", \"пнд\", \"втр\", \"срд\", \"чтв\", \"птн\", \"суб\"],\n wide: [\n \"воскресенье\",\n \"понедельник\",\n \"вторник\",\n \"среда\",\n \"четверг\",\n \"пятница\",\n \"суббота\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"веч.\",\n night: \"ночь\",\n },\n abbreviated: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"веч.\",\n night: \"ночь\",\n },\n wide: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полночь\",\n noon: \"полдень\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"вечер\",\n night: \"ночь\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночи\",\n },\n abbreviated: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночи\",\n },\n wide: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полночь\",\n noon: \"полдень\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"вечера\",\n night: \"ночи\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n const unit = options?.unit;\n\n let suffix;\n if (unit === \"date\") {\n suffix = \"-е\";\n } else if (unit === \"week\" || unit === \"minute\" || unit === \"second\") {\n suffix = \"-я\";\n } else {\n suffix = \"-й\";\n }\n\n return number + suffix;\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"any\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^((до )?н\\.?\\s?э\\.?)/i,\n abbreviated: /^((до )?н\\.?\\s?э\\.?)/i,\n wide: /^(до нашей эры|нашей эры|наша эра)/i,\n};\nconst parseEraPatterns = {\n any: [/^д/i, /^н/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i,\n wide: /^[1234](-?[ыои]?й?)? квартал/i,\n};\n\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[яфмаисонд]/i,\n abbreviated:\n /^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\\.?/i,\n wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i,\n};\n\nconst parseMonthPatterns = {\n narrow: [\n /^я/i,\n /^ф/i,\n /^м/i,\n /^а/i,\n /^м/i,\n /^и/i,\n /^и/i,\n /^а/i,\n /^с/i,\n /^о/i,\n /^н/i,\n /^я/i,\n ],\n\n any: [\n /^я/i,\n /^ф/i,\n /^мар/i,\n /^ап/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^ав/i,\n /^с/i,\n /^о/i,\n /^н/i,\n /^д/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[впсч]/i,\n short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\\.?/i,\n abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,\n wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i,\n};\n\nconst parseDayPatterns = {\n narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n abbreviated: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i,\n};\n\nconst parseDayPeriodPatterns = {\n any: {\n am: /^дп/i,\n pm: /^пп/i,\n midnight: /^полн/i,\n noon: /^полд/i,\n morning: /^у/i,\n afternoon: /^д[ен]/i,\n evening: /^в/i,\n night: /^н/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link max} function options.\n */\n\n/**\n * @name max\n * @category Common Helpers\n * @summary Return the latest of the given dates.\n *\n * @description\n * Return the latest of the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param dates - The dates to compare\n *\n * @returns The latest of the dates\n *\n * @example\n * // Which of these dates is the latest?\n * const result = max([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Sun Jul 02 1995 00:00:00\n */\nexport function max(dates, options) {\n let result;\n let context = options?.in;\n\n dates.forEach((date) => {\n // Use the first date object as the context function\n if (!context && typeof date === \"object\")\n context = constructFrom.bind(null, date);\n\n const date_ = toDate(date, context);\n if (!result || result < date_ || isNaN(+date_)) result = date_;\n });\n\n return constructFrom(context, result || NaN);\n}\n\n// Fallback for modularized imports:\nexport default max;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link min} function options.\n */\n\n/**\n * @name min\n * @category Common Helpers\n * @summary Returns the earliest of the given dates.\n *\n * @description\n * Returns the earliest of the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param dates - The dates to compare\n *\n * @returns The earliest of the dates\n *\n * @example\n * // Which of these dates is the earliest?\n * const result = min([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Wed Feb 11 1987 00:00:00\n */\nexport function min(dates, options) {\n let result;\n let context = options?.in;\n\n dates.forEach((date) => {\n // Use the first date object as the context function\n if (!context && typeof date === \"object\")\n context = constructFrom.bind(null, date);\n\n const date_ = toDate(date, context);\n if (!result || result > date_ || isNaN(+date_)) result = date_;\n });\n\n return constructFrom(context, result || NaN);\n}\n\n// Fallback for modularized imports:\nexport default min;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfISOWeek} function options.\n */\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\n\n/**\n * The {@link startOfISOWeekYear} function options.\n */\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfMonth} function options.\n */\n\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date. The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments.\n * Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed,\n * or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a month\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n _date.setDate(1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfMonth;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getWeekYear } from \"./getWeekYear.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(options?.in || date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfYear} function options.\n */\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date, options) {\n const date_ = toDate(date, options?.in);\n date_.setFullYear(date_.getFullYear(), 0, 1);\n date_.setHours(0, 0, 0, 0);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","import { addMonths } from \"./addMonths.js\";\n\n/**\n * The subMonths function options.\n */\n\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the months subtracted\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function subMonths(date, amount, options) {\n return addMonths(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subMonths;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import HTMLMaskElement from './html-mask-element.js';\nimport IMask from '../core/holder.js';\nimport './mask-element.js';\n\nclass HTMLContenteditableMaskElement extends HTMLMaskElement {\n /** Returns HTMLElement selection start */\n get _unsafeSelectionStart() {\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n const anchorOffset = selection && selection.anchorOffset;\n const focusOffset = selection && selection.focusOffset;\n if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) {\n return anchorOffset;\n }\n return focusOffset;\n }\n\n /** Returns HTMLElement selection end */\n get _unsafeSelectionEnd() {\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n const anchorOffset = selection && selection.anchorOffset;\n const focusOffset = selection && selection.focusOffset;\n if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) {\n return anchorOffset;\n }\n return focusOffset;\n }\n\n /** Sets HTMLElement selection */\n _unsafeSelect(start, end) {\n if (!this.rootElement.createRange) return;\n const range = this.rootElement.createRange();\n range.setStart(this.input.firstChild || this.input, start);\n range.setEnd(this.input.lastChild || this.input, end);\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n if (selection) {\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n\n /** HTMLElement value */\n get value() {\n return this.input.textContent || '';\n }\n set value(value) {\n this.input.textContent = value;\n }\n}\nIMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement;\n\nexport { HTMLContenteditableMaskElement as default };\n","import HTMLMaskElement from './html-mask-element.js';\nimport IMask from '../core/holder.js';\nimport './mask-element.js';\n\n/** Bridge between InputElement and {@link Masked} */\nclass HTMLInputMaskElement extends HTMLMaskElement {\n /** InputElement to use mask on */\n\n constructor(input) {\n super(input);\n this.input = input;\n }\n\n /** Returns InputElement selection start */\n get _unsafeSelectionStart() {\n return this.input.selectionStart != null ? this.input.selectionStart : this.value.length;\n }\n\n /** Returns InputElement selection end */\n get _unsafeSelectionEnd() {\n return this.input.selectionEnd;\n }\n\n /** Sets InputElement selection */\n _unsafeSelect(start, end) {\n this.input.setSelectionRange(start, end);\n }\n get value() {\n return this.input.value;\n }\n set value(value) {\n this.input.value = value;\n }\n}\nIMask.HTMLMaskElement = HTMLMaskElement;\n\nexport { HTMLInputMaskElement as default };\n","import MaskElement from './mask-element.js';\nimport IMask from '../core/holder.js';\n\nconst KEY_Z = 90;\nconst KEY_Y = 89;\n\n/** Bridge between HTMLElement and {@link Masked} */\nclass HTMLMaskElement extends MaskElement {\n /** HTMLElement to use mask on */\n\n constructor(input) {\n super();\n this.input = input;\n this._onKeydown = this._onKeydown.bind(this);\n this._onInput = this._onInput.bind(this);\n this._onBeforeinput = this._onBeforeinput.bind(this);\n this._onCompositionEnd = this._onCompositionEnd.bind(this);\n }\n get rootElement() {\n var _this$input$getRootNo, _this$input$getRootNo2, _this$input;\n return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) == null ? void 0 : _this$input$getRootNo2.call(_this$input)) != null ? _this$input$getRootNo : document;\n }\n\n /** Is element in focus */\n get isActive() {\n return this.input === this.rootElement.activeElement;\n }\n\n /** Binds HTMLElement events to mask internal events */\n bindEvents(handlers) {\n this.input.addEventListener('keydown', this._onKeydown);\n this.input.addEventListener('input', this._onInput);\n this.input.addEventListener('beforeinput', this._onBeforeinput);\n this.input.addEventListener('compositionend', this._onCompositionEnd);\n this.input.addEventListener('drop', handlers.drop);\n this.input.addEventListener('click', handlers.click);\n this.input.addEventListener('focus', handlers.focus);\n this.input.addEventListener('blur', handlers.commit);\n this._handlers = handlers;\n }\n _onKeydown(e) {\n if (this._handlers.redo && (e.keyCode === KEY_Z && e.shiftKey && (e.metaKey || e.ctrlKey) || e.keyCode === KEY_Y && e.ctrlKey)) {\n e.preventDefault();\n return this._handlers.redo(e);\n }\n if (this._handlers.undo && e.keyCode === KEY_Z && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n return this._handlers.undo(e);\n }\n if (!e.isComposing) this._handlers.selectionChange(e);\n }\n _onBeforeinput(e) {\n if (e.inputType === 'historyUndo' && this._handlers.undo) {\n e.preventDefault();\n return this._handlers.undo(e);\n }\n if (e.inputType === 'historyRedo' && this._handlers.redo) {\n e.preventDefault();\n return this._handlers.redo(e);\n }\n }\n _onCompositionEnd(e) {\n this._handlers.input(e);\n }\n _onInput(e) {\n if (!e.isComposing) this._handlers.input(e);\n }\n\n /** Unbinds HTMLElement events to mask internal events */\n unbindEvents() {\n this.input.removeEventListener('keydown', this._onKeydown);\n this.input.removeEventListener('input', this._onInput);\n this.input.removeEventListener('beforeinput', this._onBeforeinput);\n this.input.removeEventListener('compositionend', this._onCompositionEnd);\n this.input.removeEventListener('drop', this._handlers.drop);\n this.input.removeEventListener('click', this._handlers.click);\n this.input.removeEventListener('focus', this._handlers.focus);\n this.input.removeEventListener('blur', this._handlers.commit);\n this._handlers = {};\n }\n}\nIMask.HTMLMaskElement = HTMLMaskElement;\n\nexport { HTMLMaskElement as default };\n","class InputHistory {\n constructor() {\n this.states = [];\n this.currentIndex = 0;\n }\n get currentState() {\n return this.states[this.currentIndex];\n }\n get isEmpty() {\n return this.states.length === 0;\n }\n push(state) {\n // if current index points before the last element then remove the future\n if (this.currentIndex < this.states.length - 1) this.states.length = this.currentIndex + 1;\n this.states.push(state);\n if (this.states.length > InputHistory.MAX_LENGTH) this.states.shift();\n this.currentIndex = this.states.length - 1;\n }\n go(steps) {\n this.currentIndex = Math.min(Math.max(this.currentIndex + steps, 0), this.states.length - 1);\n return this.currentState;\n }\n undo() {\n return this.go(-1);\n }\n redo() {\n return this.go(+1);\n }\n clear() {\n this.states.length = 0;\n this.currentIndex = 0;\n }\n}\nInputHistory.MAX_LENGTH = 100;\n\nexport { InputHistory as default };\n","import { DIRECTION } from '../core/utils.js';\nimport ActionDetails from '../core/action-details.js';\nimport createMask, { maskedClass } from '../masked/factory.js';\nimport MaskElement from './mask-element.js';\nimport HTMLInputMaskElement from './html-input-mask-element.js';\nimport HTMLContenteditableMaskElement from './html-contenteditable-mask-element.js';\nimport IMask from '../core/holder.js';\nimport InputHistory from './input-history.js';\nimport './html-mask-element.js';\n\n/** Listens to element events and controls changes between element and {@link Masked} */\nclass InputMask {\n /**\n View element\n */\n\n /** Internal {@link Masked} model */\n\n constructor(el, opts) {\n this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLInputMaskElement(el);\n this.masked = createMask(opts);\n this._listeners = {};\n this._value = '';\n this._unmaskedValue = '';\n this._rawInputValue = '';\n this.history = new InputHistory();\n this._saveSelection = this._saveSelection.bind(this);\n this._onInput = this._onInput.bind(this);\n this._onChange = this._onChange.bind(this);\n this._onDrop = this._onDrop.bind(this);\n this._onFocus = this._onFocus.bind(this);\n this._onClick = this._onClick.bind(this);\n this._onUndo = this._onUndo.bind(this);\n this._onRedo = this._onRedo.bind(this);\n this.alignCursor = this.alignCursor.bind(this);\n this.alignCursorFriendly = this.alignCursorFriendly.bind(this);\n this._bindEvents();\n\n // refresh\n this.updateValue();\n this._onChange();\n }\n maskEquals(mask) {\n var _this$masked;\n return mask == null || ((_this$masked = this.masked) == null ? void 0 : _this$masked.maskEquals(mask));\n }\n\n /** Masked */\n get mask() {\n return this.masked.mask;\n }\n set mask(mask) {\n if (this.maskEquals(mask)) return;\n if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) {\n // TODO \"any\" no idea\n this.masked.updateOptions({\n mask\n });\n return;\n }\n const masked = mask instanceof IMask.Masked ? mask : createMask({\n mask\n });\n masked.unmaskedValue = this.masked.unmaskedValue;\n this.masked = masked;\n }\n\n /** Raw value */\n get value() {\n return this._value;\n }\n set value(str) {\n if (this.value === str) return;\n this.masked.value = str;\n this.updateControl('auto');\n }\n\n /** Unmasked value */\n get unmaskedValue() {\n return this._unmaskedValue;\n }\n set unmaskedValue(str) {\n if (this.unmaskedValue === str) return;\n this.masked.unmaskedValue = str;\n this.updateControl('auto');\n }\n\n /** Raw input value */\n get rawInputValue() {\n return this._rawInputValue;\n }\n set rawInputValue(str) {\n if (this.rawInputValue === str) return;\n this.masked.rawInputValue = str;\n this.updateControl();\n this.alignCursor();\n }\n\n /** Typed unmasked value */\n get typedValue() {\n return this.masked.typedValue;\n }\n set typedValue(val) {\n if (this.masked.typedValueEquals(val)) return;\n this.masked.typedValue = val;\n this.updateControl('auto');\n }\n\n /** Display value */\n get displayValue() {\n return this.masked.displayValue;\n }\n\n /** Starts listening to element events */\n _bindEvents() {\n this.el.bindEvents({\n selectionChange: this._saveSelection,\n input: this._onInput,\n drop: this._onDrop,\n click: this._onClick,\n focus: this._onFocus,\n commit: this._onChange,\n undo: this._onUndo,\n redo: this._onRedo\n });\n }\n\n /** Stops listening to element events */\n _unbindEvents() {\n if (this.el) this.el.unbindEvents();\n }\n\n /** Fires custom event */\n _fireEvent(ev, e) {\n const listeners = this._listeners[ev];\n if (!listeners) return;\n listeners.forEach(l => l(e));\n }\n\n /** Current selection start */\n get selectionStart() {\n return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart;\n }\n\n /** Current cursor position */\n get cursorPos() {\n return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd;\n }\n set cursorPos(pos) {\n if (!this.el || !this.el.isActive) return;\n this.el.select(pos, pos);\n this._saveSelection();\n }\n\n /** Stores current selection */\n _saveSelection( /* ev */\n ) {\n if (this.displayValue !== this.el.value) {\n console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); // eslint-disable-line no-console\n }\n this._selection = {\n start: this.selectionStart,\n end: this.cursorPos\n };\n }\n\n /** Syncronizes model value from view */\n updateValue() {\n this.masked.value = this.el.value;\n this._value = this.masked.value;\n this._unmaskedValue = this.masked.unmaskedValue;\n this._rawInputValue = this.masked.rawInputValue;\n }\n\n /** Syncronizes view from model value, fires change events */\n updateControl(cursorPos) {\n const newUnmaskedValue = this.masked.unmaskedValue;\n const newValue = this.masked.value;\n const newRawInputValue = this.masked.rawInputValue;\n const newDisplayValue = this.displayValue;\n const isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue || this._rawInputValue !== newRawInputValue;\n this._unmaskedValue = newUnmaskedValue;\n this._value = newValue;\n this._rawInputValue = newRawInputValue;\n if (this.el.value !== newDisplayValue) this.el.value = newDisplayValue;\n if (cursorPos === 'auto') this.alignCursor();else if (cursorPos != null) this.cursorPos = cursorPos;\n if (isChanged) this._fireChangeEvents();\n if (!this._historyChanging && (isChanged || this.history.isEmpty)) this.history.push({\n unmaskedValue: newUnmaskedValue,\n selection: {\n start: this.selectionStart,\n end: this.cursorPos\n }\n });\n }\n\n /** Updates options with deep equal check, recreates {@link Masked} model if mask type changes */\n updateOptions(opts) {\n const {\n mask,\n ...restOpts\n } = opts; // TODO types, yes, mask is optional\n\n const updateMask = !this.maskEquals(mask);\n const updateOpts = this.masked.optionsIsChanged(restOpts);\n if (updateMask) this.mask = mask;\n if (updateOpts) this.masked.updateOptions(restOpts); // TODO\n\n if (updateMask || updateOpts) this.updateControl();\n }\n\n /** Updates cursor */\n updateCursor(cursorPos) {\n if (cursorPos == null) return;\n this.cursorPos = cursorPos;\n\n // also queue change cursor for mobile browsers\n this._delayUpdateCursor(cursorPos);\n }\n\n /** Delays cursor update to support mobile browsers */\n _delayUpdateCursor(cursorPos) {\n this._abortUpdateCursor();\n this._changingCursorPos = cursorPos;\n this._cursorChanging = setTimeout(() => {\n if (!this.el) return; // if was destroyed\n this.cursorPos = this._changingCursorPos;\n this._abortUpdateCursor();\n }, 10);\n }\n\n /** Fires custom events */\n _fireChangeEvents() {\n this._fireEvent('accept', this._inputEvent);\n if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent);\n }\n\n /** Aborts delayed cursor update */\n _abortUpdateCursor() {\n if (this._cursorChanging) {\n clearTimeout(this._cursorChanging);\n delete this._cursorChanging;\n }\n }\n\n /** Aligns cursor to nearest available position */\n alignCursor() {\n this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT));\n }\n\n /** Aligns cursor only if selection is empty */\n alignCursorFriendly() {\n if (this.selectionStart !== this.cursorPos) return; // skip if range is selected\n this.alignCursor();\n }\n\n /** Adds listener on custom event */\n on(ev, handler) {\n if (!this._listeners[ev]) this._listeners[ev] = [];\n this._listeners[ev].push(handler);\n return this;\n }\n\n /** Removes custom event listener */\n off(ev, handler) {\n if (!this._listeners[ev]) return this;\n if (!handler) {\n delete this._listeners[ev];\n return this;\n }\n const hIndex = this._listeners[ev].indexOf(handler);\n if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1);\n return this;\n }\n\n /** Handles view input event */\n _onInput(e) {\n this._inputEvent = e;\n this._abortUpdateCursor();\n const details = new ActionDetails({\n // new state\n value: this.el.value,\n cursorPos: this.cursorPos,\n // old state\n oldValue: this.displayValue,\n oldSelection: this._selection\n });\n const oldRawValue = this.masked.rawInputValue;\n const offset = this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection, {\n input: true,\n raw: true\n }).offset;\n\n // force align in remove direction only if no input chars were removed\n // otherwise we still need to align with NONE (to get out from fixed symbols for instance)\n const removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE;\n let cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection);\n if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE);\n this.updateControl(cursorPos);\n delete this._inputEvent;\n }\n\n /** Handles view change event and commits model value */\n _onChange() {\n if (this.displayValue !== this.el.value) this.updateValue();\n this.masked.doCommit();\n this.updateControl();\n this._saveSelection();\n }\n\n /** Handles view drop event, prevents by default */\n _onDrop(ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n /** Restore last selection on focus */\n _onFocus(ev) {\n this.alignCursorFriendly();\n }\n\n /** Restore last selection on focus */\n _onClick(ev) {\n this.alignCursorFriendly();\n }\n _onUndo() {\n this._applyHistoryState(this.history.undo());\n }\n _onRedo() {\n this._applyHistoryState(this.history.redo());\n }\n _applyHistoryState(state) {\n if (!state) return;\n this._historyChanging = true;\n this.unmaskedValue = state.unmaskedValue;\n this.el.select(state.selection.start, state.selection.end);\n this._saveSelection();\n this._historyChanging = false;\n }\n\n /** Unbind view events and removes element reference */\n destroy() {\n this._unbindEvents();\n this._listeners.length = 0;\n delete this.el;\n }\n}\nIMask.InputMask = InputMask;\n\nexport { InputMask as default };\n","import IMask from '../core/holder.js';\n\n/** Generic element API to use with mask */\nclass MaskElement {\n /** */\n\n /** */\n\n /** */\n\n /** Safely returns selection start */\n get selectionStart() {\n let start;\n try {\n start = this._unsafeSelectionStart;\n } catch {}\n return start != null ? start : this.value.length;\n }\n\n /** Safely returns selection end */\n get selectionEnd() {\n let end;\n try {\n end = this._unsafeSelectionEnd;\n } catch {}\n return end != null ? end : this.value.length;\n }\n\n /** Safely sets element selection */\n select(start, end) {\n if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return;\n try {\n this._unsafeSelect(start, end);\n } catch {}\n }\n\n /** */\n get isActive() {\n return false;\n }\n /** */\n\n /** */\n\n /** */\n}\nIMask.MaskElement = MaskElement;\n\nexport { MaskElement as default };\n","import { DIRECTION } from './utils.js';\n\n/** Provides details of changing input */\nclass ActionDetails {\n /** Current input value */\n\n /** Current cursor position */\n\n /** Old input value */\n\n /** Old selection */\n\n constructor(opts) {\n Object.assign(this, opts);\n\n // double check if left part was changed (autofilling, other non-standard input triggers)\n while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) {\n --this.oldSelection.start;\n }\n if (this.insertedCount) {\n // double check right part\n while (this.value.slice(this.cursorPos) !== this.oldValue.slice(this.oldSelection.end)) {\n if (this.value.length - this.cursorPos < this.oldValue.length - this.oldSelection.end) ++this.oldSelection.end;else ++this.cursorPos;\n }\n }\n }\n\n /** Start changing position */\n get startChangePos() {\n return Math.min(this.cursorPos, this.oldSelection.start);\n }\n\n /** Inserted symbols count */\n get insertedCount() {\n return this.cursorPos - this.startChangePos;\n }\n\n /** Inserted symbols */\n get inserted() {\n return this.value.substr(this.startChangePos, this.insertedCount);\n }\n\n /** Removed symbols count */\n get removedCount() {\n // Math.max for opposite operation\n return Math.max(this.oldSelection.end - this.startChangePos ||\n // for Delete\n this.oldValue.length - this.value.length, 0);\n }\n\n /** Removed symbols */\n get removed() {\n return this.oldValue.substr(this.startChangePos, this.removedCount);\n }\n\n /** Unchanged head symbols */\n get head() {\n return this.value.substring(0, this.startChangePos);\n }\n\n /** Unchanged tail symbols */\n get tail() {\n return this.value.substring(this.startChangePos + this.insertedCount);\n }\n\n /** Remove direction */\n get removeDirection() {\n if (!this.removedCount || this.insertedCount) return DIRECTION.NONE;\n\n // align right if delete at right\n return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) &&\n // if not range removed (event with backspace)\n this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT;\n }\n}\n\nexport { ActionDetails as default };\n","import IMask from './holder.js';\n\n/** Provides details of changing model value */\nclass ChangeDetails {\n /** Inserted symbols */\n\n /** Additional offset if any changes occurred before tail */\n\n /** Raw inserted is used by dynamic mask */\n\n /** Can skip chars */\n\n static normalize(prep) {\n return Array.isArray(prep) ? prep : [prep, new ChangeDetails()];\n }\n constructor(details) {\n Object.assign(this, {\n inserted: '',\n rawInserted: '',\n tailShift: 0,\n skip: false\n }, details);\n }\n\n /** Aggregate changes */\n aggregate(details) {\n this.inserted += details.inserted;\n this.rawInserted += details.rawInserted;\n this.tailShift += details.tailShift;\n this.skip = this.skip || details.skip;\n return this;\n }\n\n /** Total offset considering all changes */\n get offset() {\n return this.tailShift + this.inserted.length;\n }\n get consumed() {\n return Boolean(this.rawInserted) || this.skip;\n }\n equals(details) {\n return this.inserted === details.inserted && this.tailShift === details.tailShift && this.rawInserted === details.rawInserted && this.skip === details.skip;\n }\n}\nIMask.ChangeDetails = ChangeDetails;\n\nexport { ChangeDetails as default };\n","/** Provides details of continuous extracted tail */\nclass ContinuousTailDetails {\n /** Tail value as string */\n\n /** Tail start position */\n\n /** Start position */\n\n constructor(value, from, stop) {\n if (value === void 0) {\n value = '';\n }\n if (from === void 0) {\n from = 0;\n }\n this.value = value;\n this.from = from;\n this.stop = stop;\n }\n toString() {\n return this.value;\n }\n extend(tail) {\n this.value += String(tail);\n }\n appendTo(masked) {\n return masked.append(this.toString(), {\n tail: true\n }).aggregate(masked._appendPlaceholder());\n }\n get state() {\n return {\n value: this.value,\n from: this.from,\n stop: this.stop\n };\n }\n set state(state) {\n Object.assign(this, state);\n }\n unshift(beforePos) {\n if (!this.value.length || beforePos != null && this.from >= beforePos) return '';\n const shiftChar = this.value[0];\n this.value = this.value.slice(1);\n return shiftChar;\n }\n shift() {\n if (!this.value.length) return '';\n const shiftChar = this.value[this.value.length - 1];\n this.value = this.value.slice(0, -1);\n return shiftChar;\n }\n}\n\nexport { ContinuousTailDetails as default };\n","/** Applies mask on element */\nfunction IMask(el, opts) {\n // currently available only for input-like elements\n return new IMask.InputMask(el, opts);\n}\n\nexport { IMask as default };\n","/** Checks if value is string */\nfunction isString(str) {\n return typeof str === 'string' || str instanceof String;\n}\n\n/** Checks if value is object */\nfunction isObject(obj) {\n var _obj$constructor;\n return typeof obj === 'object' && obj != null && (obj == null || (_obj$constructor = obj.constructor) == null ? void 0 : _obj$constructor.name) === 'Object';\n}\nfunction pick(obj, keys) {\n if (Array.isArray(keys)) return pick(obj, (_, k) => keys.includes(k));\n return Object.entries(obj).reduce((acc, _ref) => {\n let [k, v] = _ref;\n if (keys(v, k)) acc[k] = v;\n return acc;\n }, {});\n}\n\n/** Direction */\nconst DIRECTION = {\n NONE: 'NONE',\n LEFT: 'LEFT',\n FORCE_LEFT: 'FORCE_LEFT',\n RIGHT: 'RIGHT',\n FORCE_RIGHT: 'FORCE_RIGHT'\n};\n\n/** Direction */\n\nfunction forceDirection(direction) {\n switch (direction) {\n case DIRECTION.LEFT:\n return DIRECTION.FORCE_LEFT;\n case DIRECTION.RIGHT:\n return DIRECTION.FORCE_RIGHT;\n default:\n return direction;\n }\n}\n\n/** Escapes regular expression control chars */\nfunction escapeRegExp(str) {\n return str.replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1');\n}\n\n// cloned from https://github.com/epoberezkin/fast-deep-equal with small changes\nfunction objectIncludes(b, a) {\n if (a === b) return true;\n const arrA = Array.isArray(a),\n arrB = Array.isArray(b);\n let i;\n if (arrA && arrB) {\n if (a.length != b.length) return false;\n for (i = 0; i < a.length; i++) if (!objectIncludes(a[i], b[i])) return false;\n return true;\n }\n if (arrA != arrB) return false;\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n const dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA && dateB) return a.getTime() == b.getTime();\n if (dateA != dateB) return false;\n const regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA && regexpB) return a.toString() == b.toString();\n if (regexpA != regexpB) return false;\n const keys = Object.keys(a);\n // if (keys.length !== Object.keys(b).length) return false;\n\n for (i = 0; i < keys.length; i++) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n for (i = 0; i < keys.length; i++) if (!objectIncludes(b[keys[i]], a[keys[i]])) return false;\n return true;\n } else if (a && b && typeof a === 'function' && typeof b === 'function') {\n return a.toString() === b.toString();\n }\n return false;\n}\n\n/** Selection range */\n\nexport { DIRECTION, escapeRegExp, forceDirection, isObject, isString, objectIncludes, pick };\n","import './controls/input.js';\nimport IMask from './core/holder.js';\nimport './core/utils.js';\nimport './core/action-details.js';\nimport './masked/factory.js';\nimport './controls/mask-element.js';\nimport './controls/html-input-mask-element.js';\nimport './controls/html-mask-element.js';\nimport './controls/html-contenteditable-mask-element.js';\nimport './controls/input-history.js';\n\n\n\nexport { IMask as default };\n","export { default as InputMask } from './controls/input.js';\nimport IMask from './core/holder.js';\nexport { default as HTMLContenteditableMaskElement } from './controls/html-contenteditable-mask-element.js';\nexport { default as HTMLInputMaskElement } from './controls/html-input-mask-element.js';\nexport { default as HTMLMaskElement } from './controls/html-mask-element.js';\nexport { default as MaskElement } from './controls/mask-element.js';\nexport { default as ChangeDetails } from './core/change-details.js';\nexport { DIRECTION, forceDirection } from './core/utils.js';\nexport { default as Masked } from './masked/base.js';\nexport { default as MaskedDate } from './masked/date.js';\nexport { default as MaskedDynamic } from './masked/dynamic.js';\nexport { default as MaskedEnum } from './masked/enum.js';\nexport { default as createMask, normalizeOpts } from './masked/factory.js';\nexport { default as MaskedFunction } from './masked/function.js';\nexport { default as MaskedNumber } from './masked/number.js';\nexport { default as MaskedPattern } from './masked/pattern.js';\nexport { default as ChunksTailDetails } from './masked/pattern/chunk-tail-details.js';\nexport { default as PatternFixedDefinition } from './masked/pattern/fixed-definition.js';\nexport { default as PatternInputDefinition } from './masked/pattern/input-definition.js';\nexport { PIPE_TYPE, createPipe, pipe } from './masked/pipe.js';\nexport { default as MaskedRange } from './masked/range.js';\nexport { default as MaskedRegExp } from './masked/regexp.js';\nexport { default as RepeatBlock } from './masked/repeat.js';\nimport './core/action-details.js';\nimport './controls/input-history.js';\nimport './core/continuous-tail-details.js';\nimport './masked/pattern/cursor.js';\n\ntry {\n globalThis.IMask = IMask;\n} catch {}\n\nexport { IMask as default };\n","import ChangeDetails from '../core/change-details.js';\nimport ContinuousTailDetails from '../core/continuous-tail-details.js';\nimport { isString, DIRECTION, objectIncludes, forceDirection } from '../core/utils.js';\nimport IMask from '../core/holder.js';\n\n/** Append flags */\n\n/** Extract flags */\n\n// see https://github.com/microsoft/TypeScript/issues/6223\n\n/** Provides common masking stuff */\nclass Masked {\n /** */\n\n /** */\n\n /** Transforms value before mask processing */\n\n /** Transforms each char before mask processing */\n\n /** Validates if value is acceptable */\n\n /** Does additional processing at the end of editing */\n\n /** Format typed value to string */\n\n /** Parse string to get typed value */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n constructor(opts) {\n this._value = '';\n this._update({\n ...Masked.DEFAULTS,\n ...opts\n });\n this._initialized = true;\n }\n\n /** Sets and applies new options */\n updateOptions(opts) {\n if (!this.optionsIsChanged(opts)) return;\n this.withValueRefresh(this._update.bind(this, opts));\n }\n\n /** Sets new options */\n _update(opts) {\n Object.assign(this, opts);\n }\n\n /** Mask state */\n get state() {\n return {\n _value: this.value,\n _rawInputValue: this.rawInputValue\n };\n }\n set state(state) {\n this._value = state._value;\n }\n\n /** Resets value */\n reset() {\n this._value = '';\n }\n get value() {\n return this._value;\n }\n set value(value) {\n this.resolve(value, {\n input: true\n });\n }\n\n /** Resolve new value */\n resolve(value, flags) {\n if (flags === void 0) {\n flags = {\n input: true\n };\n }\n this.reset();\n this.append(value, flags, '');\n this.doCommit();\n }\n get unmaskedValue() {\n return this.value;\n }\n set unmaskedValue(value) {\n this.resolve(value, {});\n }\n get typedValue() {\n return this.parse ? this.parse(this.value, this) : this.unmaskedValue;\n }\n set typedValue(value) {\n if (this.format) {\n this.value = this.format(value, this);\n } else {\n this.unmaskedValue = String(value);\n }\n }\n\n /** Value that includes raw user input */\n get rawInputValue() {\n return this.extractInput(0, this.displayValue.length, {\n raw: true\n });\n }\n set rawInputValue(value) {\n this.resolve(value, {\n raw: true\n });\n }\n get displayValue() {\n return this.value;\n }\n get isComplete() {\n return true;\n }\n get isFilled() {\n return this.isComplete;\n }\n\n /** Finds nearest input position in direction */\n nearestInputPos(cursorPos, direction) {\n return cursorPos;\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n return Math.min(this.displayValue.length, toPos - fromPos);\n }\n\n /** Extracts value in range considering flags */\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n return this.displayValue.slice(fromPos, toPos);\n }\n\n /** Extracts tail in range */\n extractTail(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos);\n }\n\n /** Appends tail */\n appendTail(tail) {\n if (isString(tail)) tail = new ContinuousTailDetails(String(tail));\n return tail.appendTo(this);\n }\n\n /** Appends char */\n _appendCharRaw(ch, flags) {\n if (!ch) return new ChangeDetails();\n this._value += ch;\n return new ChangeDetails({\n inserted: ch,\n rawInserted: ch\n });\n }\n\n /** Appends char */\n _appendChar(ch, flags, checkTail) {\n if (flags === void 0) {\n flags = {};\n }\n const consistentState = this.state;\n let details;\n [ch, details] = this.doPrepareChar(ch, flags);\n if (ch) {\n details = details.aggregate(this._appendCharRaw(ch, flags));\n\n // TODO handle `skip`?\n\n // try `autofix` lookahead\n if (!details.rawInserted && this.autofix === 'pad') {\n const noFixState = this.state;\n this.state = consistentState;\n let fixDetails = this.pad(flags);\n const chDetails = this._appendCharRaw(ch, flags);\n fixDetails = fixDetails.aggregate(chDetails);\n\n // if fix was applied or\n // if details are equal use skip restoring state optimization\n if (chDetails.rawInserted || fixDetails.equals(details)) {\n details = fixDetails;\n } else {\n this.state = noFixState;\n }\n }\n }\n if (details.inserted) {\n let consistentTail;\n let appended = this.doValidate(flags) !== false;\n if (appended && checkTail != null) {\n // validation ok, check tail\n const beforeTailState = this.state;\n if (this.overwrite === true) {\n consistentTail = checkTail.state;\n for (let i = 0; i < details.rawInserted.length; ++i) {\n checkTail.unshift(this.displayValue.length - details.tailShift);\n }\n }\n let tailDetails = this.appendTail(checkTail);\n appended = tailDetails.rawInserted.length === checkTail.toString().length;\n\n // not ok, try shift\n if (!(appended && tailDetails.inserted) && this.overwrite === 'shift') {\n this.state = beforeTailState;\n consistentTail = checkTail.state;\n for (let i = 0; i < details.rawInserted.length; ++i) {\n checkTail.shift();\n }\n tailDetails = this.appendTail(checkTail);\n appended = tailDetails.rawInserted.length === checkTail.toString().length;\n }\n\n // if ok, rollback state after tail\n if (appended && tailDetails.inserted) this.state = beforeTailState;\n }\n\n // revert all if something went wrong\n if (!appended) {\n details = new ChangeDetails();\n this.state = consistentState;\n if (checkTail && consistentTail) checkTail.state = consistentTail;\n }\n }\n return details;\n }\n\n /** Appends optional placeholder at the end */\n _appendPlaceholder() {\n return new ChangeDetails();\n }\n\n /** Appends optional eager placeholder at the end */\n _appendEager() {\n return new ChangeDetails();\n }\n\n /** Appends symbols considering flags */\n append(str, flags, tail) {\n if (!isString(str)) throw new Error('value should be string');\n const checkTail = isString(tail) ? new ContinuousTailDetails(String(tail)) : tail;\n if (flags != null && flags.tail) flags._beforeTailState = this.state;\n let details;\n [str, details] = this.doPrepare(str, flags);\n for (let ci = 0; ci < str.length; ++ci) {\n const d = this._appendChar(str[ci], flags, checkTail);\n if (!d.rawInserted && !this.doSkipInvalid(str[ci], flags, checkTail)) break;\n details.aggregate(d);\n }\n if ((this.eager === true || this.eager === 'append') && flags != null && flags.input && str) {\n details.aggregate(this._appendEager());\n }\n\n // append tail but aggregate only tailShift\n if (checkTail != null) {\n details.tailShift += this.appendTail(checkTail).tailShift;\n // TODO it's a good idea to clear state after appending ends\n // but it causes bugs when one append calls another (when dynamic dispatch set rawInputValue)\n // this._resetBeforeTailState();\n }\n return details;\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n this._value = this.displayValue.slice(0, fromPos) + this.displayValue.slice(toPos);\n return new ChangeDetails();\n }\n\n /** Calls function and reapplies current value */\n withValueRefresh(fn) {\n if (this._refreshing || !this._initialized) return fn();\n this._refreshing = true;\n const rawInput = this.rawInputValue;\n const value = this.value;\n const ret = fn();\n this.rawInputValue = rawInput;\n // append lost trailing chars at the end\n if (this.value && this.value !== value && value.indexOf(this.value) === 0) {\n this.append(value.slice(this.displayValue.length), {}, '');\n this.doCommit();\n }\n delete this._refreshing;\n return ret;\n }\n runIsolated(fn) {\n if (this._isolated || !this._initialized) return fn(this);\n this._isolated = true;\n const state = this.state;\n const ret = fn(this);\n this.state = state;\n delete this._isolated;\n return ret;\n }\n doSkipInvalid(ch, flags, checkTail) {\n return Boolean(this.skipInvalid);\n }\n\n /** Prepares string before mask processing */\n doPrepare(str, flags) {\n if (flags === void 0) {\n flags = {};\n }\n return ChangeDetails.normalize(this.prepare ? this.prepare(str, this, flags) : str);\n }\n\n /** Prepares each char before mask processing */\n doPrepareChar(str, flags) {\n if (flags === void 0) {\n flags = {};\n }\n return ChangeDetails.normalize(this.prepareChar ? this.prepareChar(str, this, flags) : str);\n }\n\n /** Validates if value is acceptable */\n doValidate(flags) {\n return (!this.validate || this.validate(this.value, this, flags)) && (!this.parent || this.parent.doValidate(flags));\n }\n\n /** Does additional processing at the end of editing */\n doCommit() {\n if (this.commit) this.commit(this.value, this);\n }\n splice(start, deleteCount, inserted, removeDirection, flags) {\n if (inserted === void 0) {\n inserted = '';\n }\n if (removeDirection === void 0) {\n removeDirection = DIRECTION.NONE;\n }\n if (flags === void 0) {\n flags = {\n input: true\n };\n }\n const tailPos = start + deleteCount;\n const tail = this.extractTail(tailPos);\n const eagerRemove = this.eager === true || this.eager === 'remove';\n let oldRawValue;\n if (eagerRemove) {\n removeDirection = forceDirection(removeDirection);\n oldRawValue = this.extractInput(0, tailPos, {\n raw: true\n });\n }\n let startChangePos = start;\n const details = new ChangeDetails();\n\n // if it is just deletion without insertion\n if (removeDirection !== DIRECTION.NONE) {\n startChangePos = this.nearestInputPos(start, deleteCount > 1 && start !== 0 && !eagerRemove ? DIRECTION.NONE : removeDirection);\n\n // adjust tailShift if start was aligned\n details.tailShift = startChangePos - start;\n }\n details.aggregate(this.remove(startChangePos));\n if (eagerRemove && removeDirection !== DIRECTION.NONE && oldRawValue === this.rawInputValue) {\n if (removeDirection === DIRECTION.FORCE_LEFT) {\n let valLength;\n while (oldRawValue === this.rawInputValue && (valLength = this.displayValue.length)) {\n details.aggregate(new ChangeDetails({\n tailShift: -1\n })).aggregate(this.remove(valLength - 1));\n }\n } else if (removeDirection === DIRECTION.FORCE_RIGHT) {\n tail.unshift();\n }\n }\n return details.aggregate(this.append(inserted, flags, tail));\n }\n maskEquals(mask) {\n return this.mask === mask;\n }\n optionsIsChanged(opts) {\n return !objectIncludes(this, opts);\n }\n typedValueEquals(value) {\n const tval = this.typedValue;\n return value === tval || Masked.EMPTY_VALUES.includes(value) && Masked.EMPTY_VALUES.includes(tval) || (this.format ? this.format(value, this) === this.format(this.typedValue, this) : false);\n }\n pad(flags) {\n return new ChangeDetails();\n }\n}\nMasked.DEFAULTS = {\n skipInvalid: true\n};\nMasked.EMPTY_VALUES = [undefined, null, ''];\nIMask.Masked = Masked;\n\nexport { Masked as default };\n","import MaskedPattern from './pattern.js';\nimport MaskedRange from './range.js';\nimport IMask from '../core/holder.js';\nimport { isString } from '../core/utils.js';\nimport '../core/change-details.js';\nimport './base.js';\nimport '../core/continuous-tail-details.js';\nimport './factory.js';\nimport './pattern/chunk-tail-details.js';\nimport './pattern/cursor.js';\nimport './pattern/fixed-definition.js';\nimport './pattern/input-definition.js';\nimport './regexp.js';\n\nconst DefaultPattern = 'd{.}`m{.}`Y';\n\n// Make format and parse required when pattern is provided\n\n/** Date mask */\nclass MaskedDate extends MaskedPattern {\n static extractPatternOptions(opts) {\n const {\n mask,\n pattern,\n ...patternOpts\n } = opts;\n return {\n ...patternOpts,\n mask: isString(mask) ? mask : pattern\n };\n }\n\n /** Pattern mask for date according to {@link MaskedDate#format} */\n\n /** Start date */\n\n /** End date */\n\n /** Format typed value to string */\n\n /** Parse string to get typed value */\n\n constructor(opts) {\n super(MaskedDate.extractPatternOptions({\n ...MaskedDate.DEFAULTS,\n ...opts\n }));\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n const {\n mask,\n pattern,\n blocks,\n ...patternOpts\n } = {\n ...MaskedDate.DEFAULTS,\n ...opts\n };\n const patternBlocks = Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS());\n // adjust year block\n if (opts.min) patternBlocks.Y.from = opts.min.getFullYear();\n if (opts.max) patternBlocks.Y.to = opts.max.getFullYear();\n if (opts.min && opts.max && patternBlocks.Y.from === patternBlocks.Y.to) {\n patternBlocks.m.from = opts.min.getMonth() + 1;\n patternBlocks.m.to = opts.max.getMonth() + 1;\n if (patternBlocks.m.from === patternBlocks.m.to) {\n patternBlocks.d.from = opts.min.getDate();\n patternBlocks.d.to = opts.max.getDate();\n }\n }\n Object.assign(patternBlocks, this.blocks, blocks);\n super._update({\n ...patternOpts,\n mask: isString(mask) ? mask : pattern,\n blocks: patternBlocks\n });\n }\n doValidate(flags) {\n const date = this.date;\n return super.doValidate(flags) && (!this.isComplete || this.isDateExist(this.value) && date != null && (this.min == null || this.min <= date) && (this.max == null || date <= this.max));\n }\n\n /** Checks if date is exists */\n isDateExist(str) {\n return this.format(this.parse(str, this), this).indexOf(str) >= 0;\n }\n\n /** Parsed Date */\n get date() {\n return this.typedValue;\n }\n set date(date) {\n this.typedValue = date;\n }\n get typedValue() {\n return this.isComplete ? super.typedValue : null;\n }\n set typedValue(value) {\n super.typedValue = value;\n }\n maskEquals(mask) {\n return mask === Date || super.maskEquals(mask);\n }\n optionsIsChanged(opts) {\n return super.optionsIsChanged(MaskedDate.extractPatternOptions(opts));\n }\n}\nMaskedDate.GET_DEFAULT_BLOCKS = () => ({\n d: {\n mask: MaskedRange,\n from: 1,\n to: 31,\n maxLength: 2\n },\n m: {\n mask: MaskedRange,\n from: 1,\n to: 12,\n maxLength: 2\n },\n Y: {\n mask: MaskedRange,\n from: 1900,\n to: 9999\n }\n});\nMaskedDate.DEFAULTS = {\n ...MaskedPattern.DEFAULTS,\n mask: Date,\n pattern: DefaultPattern,\n format: (date, masked) => {\n if (!date) return '';\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n return [day, month, year].join('.');\n },\n parse: (str, masked) => {\n const [day, month, year] = str.split('.').map(Number);\n return new Date(year, month - 1, day);\n }\n};\nIMask.MaskedDate = MaskedDate;\n\nexport { MaskedDate as default };\n","import { DIRECTION, objectIncludes } from '../core/utils.js';\nimport ChangeDetails from '../core/change-details.js';\nimport createMask, { normalizeOpts } from './factory.js';\nimport Masked from './base.js';\nimport IMask from '../core/holder.js';\nimport '../core/continuous-tail-details.js';\n\n/** Dynamic mask for choosing appropriate mask in run-time */\nclass MaskedDynamic extends Masked {\n constructor(opts) {\n super({\n ...MaskedDynamic.DEFAULTS,\n ...opts\n });\n this.currentMask = undefined;\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n super._update(opts);\n if ('mask' in opts) {\n this.exposeMask = undefined;\n // mask could be totally dynamic with only `dispatch` option\n this.compiledMasks = Array.isArray(opts.mask) ? opts.mask.map(m => {\n const {\n expose,\n ...maskOpts\n } = normalizeOpts(m);\n const masked = createMask({\n overwrite: this._overwrite,\n eager: this._eager,\n skipInvalid: this._skipInvalid,\n ...maskOpts\n });\n if (expose) this.exposeMask = masked;\n return masked;\n }) : [];\n\n // this.currentMask = this.doDispatch(''); // probably not needed but lets see\n }\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const details = this._applyDispatch(ch, flags);\n if (this.currentMask) {\n details.aggregate(this.currentMask._appendChar(ch, this.currentMaskFlags(flags)));\n }\n return details;\n }\n _applyDispatch(appended, flags, tail) {\n if (appended === void 0) {\n appended = '';\n }\n if (flags === void 0) {\n flags = {};\n }\n if (tail === void 0) {\n tail = '';\n }\n const prevValueBeforeTail = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._value : this.value;\n const inputValue = this.rawInputValue;\n const insertValue = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._rawInputValue : inputValue;\n const tailValue = inputValue.slice(insertValue.length);\n const prevMask = this.currentMask;\n const details = new ChangeDetails();\n const prevMaskState = prevMask == null ? void 0 : prevMask.state;\n\n // clone flags to prevent overwriting `_beforeTailState`\n this.currentMask = this.doDispatch(appended, {\n ...flags\n }, tail);\n\n // restore state after dispatch\n if (this.currentMask) {\n if (this.currentMask !== prevMask) {\n // if mask changed reapply input\n this.currentMask.reset();\n if (insertValue) {\n this.currentMask.append(insertValue, {\n raw: true\n });\n details.tailShift = this.currentMask.value.length - prevValueBeforeTail.length;\n }\n if (tailValue) {\n details.tailShift += this.currentMask.append(tailValue, {\n raw: true,\n tail: true\n }).tailShift;\n }\n } else if (prevMaskState) {\n // Dispatch can do something bad with state, so\n // restore prev mask state\n this.currentMask.state = prevMaskState;\n }\n }\n return details;\n }\n _appendPlaceholder() {\n const details = this._applyDispatch();\n if (this.currentMask) {\n details.aggregate(this.currentMask._appendPlaceholder());\n }\n return details;\n }\n _appendEager() {\n const details = this._applyDispatch();\n if (this.currentMask) {\n details.aggregate(this.currentMask._appendEager());\n }\n return details;\n }\n appendTail(tail) {\n const details = new ChangeDetails();\n if (tail) details.aggregate(this._applyDispatch('', {}, tail));\n return details.aggregate(this.currentMask ? this.currentMask.appendTail(tail) : super.appendTail(tail));\n }\n currentMaskFlags(flags) {\n var _flags$_beforeTailSta, _flags$_beforeTailSta2;\n return {\n ...flags,\n _beforeTailState: ((_flags$_beforeTailSta = flags._beforeTailState) == null ? void 0 : _flags$_beforeTailSta.currentMaskRef) === this.currentMask && ((_flags$_beforeTailSta2 = flags._beforeTailState) == null ? void 0 : _flags$_beforeTailSta2.currentMask) || flags._beforeTailState\n };\n }\n doDispatch(appended, flags, tail) {\n if (flags === void 0) {\n flags = {};\n }\n if (tail === void 0) {\n tail = '';\n }\n return this.dispatch(appended, this, flags, tail);\n }\n doValidate(flags) {\n return super.doValidate(flags) && (!this.currentMask || this.currentMask.doValidate(this.currentMaskFlags(flags)));\n }\n doPrepare(str, flags) {\n if (flags === void 0) {\n flags = {};\n }\n let [s, details] = super.doPrepare(str, flags);\n if (this.currentMask) {\n let currentDetails;\n [s, currentDetails] = super.doPrepare(s, this.currentMaskFlags(flags));\n details = details.aggregate(currentDetails);\n }\n return [s, details];\n }\n doPrepareChar(str, flags) {\n if (flags === void 0) {\n flags = {};\n }\n let [s, details] = super.doPrepareChar(str, flags);\n if (this.currentMask) {\n let currentDetails;\n [s, currentDetails] = super.doPrepareChar(s, this.currentMaskFlags(flags));\n details = details.aggregate(currentDetails);\n }\n return [s, details];\n }\n reset() {\n var _this$currentMask;\n (_this$currentMask = this.currentMask) == null || _this$currentMask.reset();\n this.compiledMasks.forEach(m => m.reset());\n }\n get value() {\n return this.exposeMask ? this.exposeMask.value : this.currentMask ? this.currentMask.value : '';\n }\n set value(value) {\n if (this.exposeMask) {\n this.exposeMask.value = value;\n this.currentMask = this.exposeMask;\n this._applyDispatch();\n } else super.value = value;\n }\n get unmaskedValue() {\n return this.exposeMask ? this.exposeMask.unmaskedValue : this.currentMask ? this.currentMask.unmaskedValue : '';\n }\n set unmaskedValue(unmaskedValue) {\n if (this.exposeMask) {\n this.exposeMask.unmaskedValue = unmaskedValue;\n this.currentMask = this.exposeMask;\n this._applyDispatch();\n } else super.unmaskedValue = unmaskedValue;\n }\n get typedValue() {\n return this.exposeMask ? this.exposeMask.typedValue : this.currentMask ? this.currentMask.typedValue : '';\n }\n set typedValue(typedValue) {\n if (this.exposeMask) {\n this.exposeMask.typedValue = typedValue;\n this.currentMask = this.exposeMask;\n this._applyDispatch();\n return;\n }\n let unmaskedValue = String(typedValue);\n\n // double check it\n if (this.currentMask) {\n this.currentMask.typedValue = typedValue;\n unmaskedValue = this.currentMask.unmaskedValue;\n }\n this.unmaskedValue = unmaskedValue;\n }\n get displayValue() {\n return this.currentMask ? this.currentMask.displayValue : '';\n }\n get isComplete() {\n var _this$currentMask2;\n return Boolean((_this$currentMask2 = this.currentMask) == null ? void 0 : _this$currentMask2.isComplete);\n }\n get isFilled() {\n var _this$currentMask3;\n return Boolean((_this$currentMask3 = this.currentMask) == null ? void 0 : _this$currentMask3.isFilled);\n }\n remove(fromPos, toPos) {\n const details = new ChangeDetails();\n if (this.currentMask) {\n details.aggregate(this.currentMask.remove(fromPos, toPos))\n // update with dispatch\n .aggregate(this._applyDispatch());\n }\n return details;\n }\n get state() {\n var _this$currentMask4;\n return {\n ...super.state,\n _rawInputValue: this.rawInputValue,\n compiledMasks: this.compiledMasks.map(m => m.state),\n currentMaskRef: this.currentMask,\n currentMask: (_this$currentMask4 = this.currentMask) == null ? void 0 : _this$currentMask4.state\n };\n }\n set state(state) {\n const {\n compiledMasks,\n currentMaskRef,\n currentMask,\n ...maskedState\n } = state;\n if (compiledMasks) this.compiledMasks.forEach((m, mi) => m.state = compiledMasks[mi]);\n if (currentMaskRef != null) {\n this.currentMask = currentMaskRef;\n this.currentMask.state = currentMask;\n }\n super.state = maskedState;\n }\n extractInput(fromPos, toPos, flags) {\n return this.currentMask ? this.currentMask.extractInput(fromPos, toPos, flags) : '';\n }\n extractTail(fromPos, toPos) {\n return this.currentMask ? this.currentMask.extractTail(fromPos, toPos) : super.extractTail(fromPos, toPos);\n }\n doCommit() {\n if (this.currentMask) this.currentMask.doCommit();\n super.doCommit();\n }\n nearestInputPos(cursorPos, direction) {\n return this.currentMask ? this.currentMask.nearestInputPos(cursorPos, direction) : super.nearestInputPos(cursorPos, direction);\n }\n get overwrite() {\n return this.currentMask ? this.currentMask.overwrite : this._overwrite;\n }\n set overwrite(overwrite) {\n this._overwrite = overwrite;\n }\n get eager() {\n return this.currentMask ? this.currentMask.eager : this._eager;\n }\n set eager(eager) {\n this._eager = eager;\n }\n get skipInvalid() {\n return this.currentMask ? this.currentMask.skipInvalid : this._skipInvalid;\n }\n set skipInvalid(skipInvalid) {\n this._skipInvalid = skipInvalid;\n }\n get autofix() {\n return this.currentMask ? this.currentMask.autofix : this._autofix;\n }\n set autofix(autofix) {\n this._autofix = autofix;\n }\n maskEquals(mask) {\n return Array.isArray(mask) ? this.compiledMasks.every((m, mi) => {\n if (!mask[mi]) return;\n const {\n mask: oldMask,\n ...restOpts\n } = mask[mi];\n return objectIncludes(m, restOpts) && m.maskEquals(oldMask);\n }) : super.maskEquals(mask);\n }\n typedValueEquals(value) {\n var _this$currentMask5;\n return Boolean((_this$currentMask5 = this.currentMask) == null ? void 0 : _this$currentMask5.typedValueEquals(value));\n }\n}\n/** Currently chosen mask */\n/** Currently chosen mask */\n/** Compliled {@link Masked} options */\n/** Chooses {@link Masked} depending on input value */\nMaskedDynamic.DEFAULTS = {\n ...Masked.DEFAULTS,\n dispatch: (appended, masked, flags, tail) => {\n if (!masked.compiledMasks.length) return;\n const inputValue = masked.rawInputValue;\n\n // simulate input\n const inputs = masked.compiledMasks.map((m, index) => {\n const isCurrent = masked.currentMask === m;\n const startInputPos = isCurrent ? m.displayValue.length : m.nearestInputPos(m.displayValue.length, DIRECTION.FORCE_LEFT);\n if (m.rawInputValue !== inputValue) {\n m.reset();\n m.append(inputValue, {\n raw: true\n });\n } else if (!isCurrent) {\n m.remove(startInputPos);\n }\n m.append(appended, masked.currentMaskFlags(flags));\n m.appendTail(tail);\n return {\n index,\n weight: m.rawInputValue.length,\n totalInputPositions: m.totalInputPositions(0, Math.max(startInputPos, m.nearestInputPos(m.displayValue.length, DIRECTION.FORCE_LEFT)))\n };\n });\n\n // pop masks with longer values first\n inputs.sort((i1, i2) => i2.weight - i1.weight || i2.totalInputPositions - i1.totalInputPositions);\n return masked.compiledMasks[inputs[0].index];\n }\n};\nIMask.MaskedDynamic = MaskedDynamic;\n\nexport { MaskedDynamic as default };\n","import MaskedPattern from './pattern.js';\nimport IMask from '../core/holder.js';\nimport ChangeDetails from '../core/change-details.js';\nimport { DIRECTION } from '../core/utils.js';\nimport ContinuousTailDetails from '../core/continuous-tail-details.js';\nimport './base.js';\nimport './factory.js';\nimport './pattern/chunk-tail-details.js';\nimport './pattern/cursor.js';\nimport './pattern/fixed-definition.js';\nimport './pattern/input-definition.js';\nimport './regexp.js';\n\n/** Pattern which validates enum values */\nclass MaskedEnum extends MaskedPattern {\n constructor(opts) {\n super({\n ...MaskedEnum.DEFAULTS,\n ...opts\n }); // mask will be created in _update\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n const {\n enum: enum_,\n ...eopts\n } = opts;\n if (enum_) {\n const lengths = enum_.map(e => e.length);\n const requiredLength = Math.min(...lengths);\n const optionalLength = Math.max(...lengths) - requiredLength;\n eopts.mask = '*'.repeat(requiredLength);\n if (optionalLength) eopts.mask += '[' + '*'.repeat(optionalLength) + ']';\n this.enum = enum_;\n }\n super._update(eopts);\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const matchFrom = Math.min(this.nearestInputPos(0, DIRECTION.FORCE_RIGHT), this.value.length);\n const matches = this.enum.filter(e => this.matchValue(e, this.unmaskedValue + ch, matchFrom));\n if (matches.length) {\n if (matches.length === 1) {\n this._forEachBlocksInRange(0, this.value.length, (b, bi) => {\n const mch = matches[0][bi];\n if (bi >= this.value.length || mch === b.value) return;\n b.reset();\n b._appendChar(mch, flags);\n });\n }\n const d = super._appendCharRaw(matches[0][this.value.length], flags);\n if (matches.length === 1) {\n matches[0].slice(this.unmaskedValue.length).split('').forEach(mch => d.aggregate(super._appendCharRaw(mch)));\n }\n return d;\n }\n return new ChangeDetails({\n skip: !this.isComplete\n });\n }\n extractTail(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n // just drop tail\n return new ContinuousTailDetails('', fromPos);\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n if (fromPos === toPos) return new ChangeDetails();\n const matchFrom = Math.min(super.nearestInputPos(0, DIRECTION.FORCE_RIGHT), this.value.length);\n let pos;\n for (pos = fromPos; pos >= 0; --pos) {\n const matches = this.enum.filter(e => this.matchValue(e, this.value.slice(matchFrom, pos), matchFrom));\n if (matches.length > 1) break;\n }\n const details = super.remove(pos, toPos);\n details.tailShift += pos - fromPos;\n return details;\n }\n get isComplete() {\n return this.enum.indexOf(this.value) >= 0;\n }\n}\n/** Match enum value */\nMaskedEnum.DEFAULTS = {\n ...MaskedPattern.DEFAULTS,\n matchValue: (estr, istr, matchFrom) => estr.indexOf(istr, matchFrom) === matchFrom\n};\nIMask.MaskedEnum = MaskedEnum;\n\nexport { MaskedEnum as default };\n","import { isString, isObject, pick } from '../core/utils.js';\nimport IMask from '../core/holder.js';\n\n// TODO can't use overloads here because of https://github.com/microsoft/TypeScript/issues/50754\n// export function maskedClass(mask: string): typeof MaskedPattern;\n// export function maskedClass(mask: DateConstructor): typeof MaskedDate;\n// export function maskedClass(mask: NumberConstructor): typeof MaskedNumber;\n// export function maskedClass(mask: Array<any> | ArrayConstructor): typeof MaskedDynamic;\n// export function maskedClass(mask: MaskedDate): typeof MaskedDate;\n// export function maskedClass(mask: MaskedNumber): typeof MaskedNumber;\n// export function maskedClass(mask: MaskedEnum): typeof MaskedEnum;\n// export function maskedClass(mask: MaskedRange): typeof MaskedRange;\n// export function maskedClass(mask: MaskedRegExp): typeof MaskedRegExp;\n// export function maskedClass(mask: MaskedFunction): typeof MaskedFunction;\n// export function maskedClass(mask: MaskedPattern): typeof MaskedPattern;\n// export function maskedClass(mask: MaskedDynamic): typeof MaskedDynamic;\n// export function maskedClass(mask: Masked): typeof Masked;\n// export function maskedClass(mask: typeof Masked): typeof Masked;\n// export function maskedClass(mask: typeof MaskedDate): typeof MaskedDate;\n// export function maskedClass(mask: typeof MaskedNumber): typeof MaskedNumber;\n// export function maskedClass(mask: typeof MaskedEnum): typeof MaskedEnum;\n// export function maskedClass(mask: typeof MaskedRange): typeof MaskedRange;\n// export function maskedClass(mask: typeof MaskedRegExp): typeof MaskedRegExp;\n// export function maskedClass(mask: typeof MaskedFunction): typeof MaskedFunction;\n// export function maskedClass(mask: typeof MaskedPattern): typeof MaskedPattern;\n// export function maskedClass(mask: typeof MaskedDynamic): typeof MaskedDynamic;\n// export function maskedClass<Mask extends typeof Masked> (mask: Mask): Mask;\n// export function maskedClass(mask: RegExp): typeof MaskedRegExp;\n// export function maskedClass(mask: (value: string, ...args: any[]) => boolean): typeof MaskedFunction;\n\n/** Get Masked class by mask type */\nfunction maskedClass(mask) /* TODO */{\n if (mask == null) throw new Error('mask property should be defined');\n if (mask instanceof RegExp) return IMask.MaskedRegExp;\n if (isString(mask)) return IMask.MaskedPattern;\n if (mask === Date) return IMask.MaskedDate;\n if (mask === Number) return IMask.MaskedNumber;\n if (Array.isArray(mask) || mask === Array) return IMask.MaskedDynamic;\n if (IMask.Masked && mask.prototype instanceof IMask.Masked) return mask;\n if (IMask.Masked && mask instanceof IMask.Masked) return mask.constructor;\n if (mask instanceof Function) return IMask.MaskedFunction;\n console.warn('Mask not found for mask', mask); // eslint-disable-line no-console\n return IMask.Masked;\n}\nfunction normalizeOpts(opts) {\n if (!opts) throw new Error('Options in not defined');\n if (IMask.Masked) {\n if (opts.prototype instanceof IMask.Masked) return {\n mask: opts\n };\n\n /*\n handle cases like:\n 1) opts = Masked\n 2) opts = { mask: Masked, ...instanceOpts }\n */\n const {\n mask = undefined,\n ...instanceOpts\n } = opts instanceof IMask.Masked ? {\n mask: opts\n } : isObject(opts) && opts.mask instanceof IMask.Masked ? opts : {};\n if (mask) {\n const _mask = mask.mask;\n return {\n ...pick(mask, (_, k) => !k.startsWith('_')),\n mask: mask.constructor,\n _mask,\n ...instanceOpts\n };\n }\n }\n if (!isObject(opts)) return {\n mask: opts\n };\n return {\n ...opts\n };\n}\n\n// TODO can't use overloads here because of https://github.com/microsoft/TypeScript/issues/50754\n\n// From masked\n// export default function createMask<Opts extends Masked, ReturnMasked=Opts> (opts: Opts): ReturnMasked;\n// // From masked class\n// export default function createMask<Opts extends MaskedOptions<typeof Masked>, ReturnMasked extends Masked=InstanceType<Opts['mask']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedDate>, ReturnMasked extends MaskedDate=MaskedDate<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedNumber>, ReturnMasked extends MaskedNumber=MaskedNumber<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedEnum>, ReturnMasked extends MaskedEnum=MaskedEnum<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedRange>, ReturnMasked extends MaskedRange=MaskedRange<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedRegExp>, ReturnMasked extends MaskedRegExp=MaskedRegExp<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedFunction>, ReturnMasked extends MaskedFunction=MaskedFunction<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedPattern>, ReturnMasked extends MaskedPattern=MaskedPattern<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedDynamic>, ReturnMasked extends MaskedDynamic=MaskedDynamic<Opts['parent']>> (opts: Opts): ReturnMasked;\n// // From mask opts\n// export default function createMask<Opts extends MaskedOptions<Masked>, ReturnMasked=Opts extends MaskedOptions<infer M> ? M : never> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedNumberOptions, ReturnMasked extends MaskedNumber=MaskedNumber<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedDateFactoryOptions, ReturnMasked extends MaskedDate=MaskedDate<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedEnumOptions, ReturnMasked extends MaskedEnum=MaskedEnum<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedRangeOptions, ReturnMasked extends MaskedRange=MaskedRange<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedPatternOptions, ReturnMasked extends MaskedPattern=MaskedPattern<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedDynamicOptions, ReturnMasked extends MaskedDynamic=MaskedDynamic<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<RegExp>, ReturnMasked extends MaskedRegExp=MaskedRegExp<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<Function>, ReturnMasked extends MaskedFunction=MaskedFunction<Opts['parent']>> (opts: Opts): ReturnMasked;\n\n/** Creates new {@link Masked} depending on mask type */\nfunction createMask(opts) {\n if (IMask.Masked && opts instanceof IMask.Masked) return opts;\n const nOpts = normalizeOpts(opts);\n const MaskedClass = maskedClass(nOpts.mask);\n if (!MaskedClass) throw new Error(\"Masked class is not found for provided mask \" + nOpts.mask + \", appropriate module needs to be imported manually before creating mask.\");\n if (nOpts.mask === MaskedClass) delete nOpts.mask;\n if (nOpts._mask) {\n nOpts.mask = nOpts._mask;\n delete nOpts._mask;\n }\n return new MaskedClass(nOpts);\n}\nIMask.createMask = createMask;\n\nexport { createMask as default, maskedClass, normalizeOpts };\n","import Masked from './base.js';\nimport IMask from '../core/holder.js';\nimport '../core/change-details.js';\nimport '../core/continuous-tail-details.js';\nimport '../core/utils.js';\n\n/** Masking by custom Function */\nclass MaskedFunction extends Masked {\n /** */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n super._update({\n ...opts,\n validate: opts.mask\n });\n }\n}\nIMask.MaskedFunction = MaskedFunction;\n\nexport { MaskedFunction as default };\n","import { escapeRegExp, DIRECTION } from '../core/utils.js';\nimport ChangeDetails from '../core/change-details.js';\nimport Masked from './base.js';\nimport IMask from '../core/holder.js';\nimport '../core/continuous-tail-details.js';\n\nvar _MaskedNumber;\n/** Number mask */\nclass MaskedNumber extends Masked {\n /** Single char */\n\n /** Single char */\n\n /** Array of single chars */\n\n /** */\n\n /** */\n\n /** Digits after point */\n\n /** Flag to remove leading and trailing zeros in the end of editing */\n\n /** Flag to pad trailing zeros after point in the end of editing */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n /** Format typed value to string */\n\n /** Parse string to get typed value */\n\n constructor(opts) {\n super({\n ...MaskedNumber.DEFAULTS,\n ...opts\n });\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n super._update(opts);\n this._updateRegExps();\n }\n _updateRegExps() {\n const start = '^' + (this.allowNegative ? '[+|\\\\-]?' : '');\n const mid = '\\\\d*';\n const end = (this.scale ? \"(\" + escapeRegExp(this.radix) + \"\\\\d{0,\" + this.scale + \"})?\" : '') + '$';\n this._numberRegExp = new RegExp(start + mid + end);\n this._mapToRadixRegExp = new RegExp(\"[\" + this.mapToRadix.map(escapeRegExp).join('') + \"]\", 'g');\n this._thousandsSeparatorRegExp = new RegExp(escapeRegExp(this.thousandsSeparator), 'g');\n }\n _removeThousandsSeparators(value) {\n return value.replace(this._thousandsSeparatorRegExp, '');\n }\n _insertThousandsSeparators(value) {\n // https://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript\n const parts = value.split(this.radix);\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, this.thousandsSeparator);\n return parts.join(this.radix);\n }\n doPrepareChar(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const [prepCh, details] = super.doPrepareChar(this._removeThousandsSeparators(this.scale && this.mapToRadix.length && (\n /*\n radix should be mapped when\n 1) input is done from keyboard = flags.input && flags.raw\n 2) unmasked value is set = !flags.input && !flags.raw\n and should not be mapped when\n 1) value is set = flags.input && !flags.raw\n 2) raw value is set = !flags.input && flags.raw\n */\n flags.input && flags.raw || !flags.input && !flags.raw) ? ch.replace(this._mapToRadixRegExp, this.radix) : ch), flags);\n if (ch && !prepCh) details.skip = true;\n if (prepCh && !this.allowPositive && !this.value && prepCh !== '-') details.aggregate(this._appendChar('-'));\n return [prepCh, details];\n }\n _separatorsCount(to, extendOnSeparators) {\n if (extendOnSeparators === void 0) {\n extendOnSeparators = false;\n }\n let count = 0;\n for (let pos = 0; pos < to; ++pos) {\n if (this._value.indexOf(this.thousandsSeparator, pos) === pos) {\n ++count;\n if (extendOnSeparators) to += this.thousandsSeparator.length;\n }\n }\n return count;\n }\n _separatorsCountFromSlice(slice) {\n if (slice === void 0) {\n slice = this._value;\n }\n return this._separatorsCount(this._removeThousandsSeparators(slice).length, true);\n }\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n [fromPos, toPos] = this._adjustRangeWithSeparators(fromPos, toPos);\n return this._removeThousandsSeparators(super.extractInput(fromPos, toPos, flags));\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const prevBeforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value;\n const prevBeforeTailSeparatorsCount = this._separatorsCountFromSlice(prevBeforeTailValue);\n this._value = this._removeThousandsSeparators(this.value);\n const oldValue = this._value;\n this._value += ch;\n const num = this.number;\n let accepted = !isNaN(num);\n let skip = false;\n if (accepted) {\n let fixedNum;\n if (this.min != null && this.min < 0 && this.number < this.min) fixedNum = this.min;\n if (this.max != null && this.max > 0 && this.number > this.max) fixedNum = this.max;\n if (fixedNum != null) {\n if (this.autofix) {\n this._value = this.format(fixedNum, this).replace(MaskedNumber.UNMASKED_RADIX, this.radix);\n skip || (skip = oldValue === this._value && !flags.tail); // if not changed on tail it's still ok to proceed\n } else {\n accepted = false;\n }\n }\n accepted && (accepted = Boolean(this._value.match(this._numberRegExp)));\n }\n let appendDetails;\n if (!accepted) {\n this._value = oldValue;\n appendDetails = new ChangeDetails();\n } else {\n appendDetails = new ChangeDetails({\n inserted: this._value.slice(oldValue.length),\n rawInserted: skip ? '' : ch,\n skip\n });\n }\n this._value = this._insertThousandsSeparators(this._value);\n const beforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value;\n const beforeTailSeparatorsCount = this._separatorsCountFromSlice(beforeTailValue);\n appendDetails.tailShift += (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length;\n return appendDetails;\n }\n _findSeparatorAround(pos) {\n if (this.thousandsSeparator) {\n const searchFrom = pos - this.thousandsSeparator.length + 1;\n const separatorPos = this.value.indexOf(this.thousandsSeparator, searchFrom);\n if (separatorPos <= pos) return separatorPos;\n }\n return -1;\n }\n _adjustRangeWithSeparators(from, to) {\n const separatorAroundFromPos = this._findSeparatorAround(from);\n if (separatorAroundFromPos >= 0) from = separatorAroundFromPos;\n const separatorAroundToPos = this._findSeparatorAround(to);\n if (separatorAroundToPos >= 0) to = separatorAroundToPos + this.thousandsSeparator.length;\n return [from, to];\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n [fromPos, toPos] = this._adjustRangeWithSeparators(fromPos, toPos);\n const valueBeforePos = this.value.slice(0, fromPos);\n const valueAfterPos = this.value.slice(toPos);\n const prevBeforeTailSeparatorsCount = this._separatorsCount(valueBeforePos.length);\n this._value = this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos));\n const beforeTailSeparatorsCount = this._separatorsCountFromSlice(valueBeforePos);\n return new ChangeDetails({\n tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length\n });\n }\n nearestInputPos(cursorPos, direction) {\n if (!this.thousandsSeparator) return cursorPos;\n switch (direction) {\n case DIRECTION.NONE:\n case DIRECTION.LEFT:\n case DIRECTION.FORCE_LEFT:\n {\n const separatorAtLeftPos = this._findSeparatorAround(cursorPos - 1);\n if (separatorAtLeftPos >= 0) {\n const separatorAtLeftEndPos = separatorAtLeftPos + this.thousandsSeparator.length;\n if (cursorPos < separatorAtLeftEndPos || this.value.length <= separatorAtLeftEndPos || direction === DIRECTION.FORCE_LEFT) {\n return separatorAtLeftPos;\n }\n }\n break;\n }\n case DIRECTION.RIGHT:\n case DIRECTION.FORCE_RIGHT:\n {\n const separatorAtRightPos = this._findSeparatorAround(cursorPos);\n if (separatorAtRightPos >= 0) {\n return separatorAtRightPos + this.thousandsSeparator.length;\n }\n }\n }\n return cursorPos;\n }\n doCommit() {\n if (this.value) {\n const number = this.number;\n let validnum = number;\n\n // check bounds\n if (this.min != null) validnum = Math.max(validnum, this.min);\n if (this.max != null) validnum = Math.min(validnum, this.max);\n if (validnum !== number) this.unmaskedValue = this.format(validnum, this);\n let formatted = this.value;\n if (this.normalizeZeros) formatted = this._normalizeZeros(formatted);\n if (this.padFractionalZeros && this.scale > 0) formatted = this._padFractionalZeros(formatted);\n this._value = formatted;\n }\n super.doCommit();\n }\n _normalizeZeros(value) {\n const parts = this._removeThousandsSeparators(value).split(this.radix);\n\n // remove leading zeros\n parts[0] = parts[0].replace(/^(\\D*)(0*)(\\d*)/, (match, sign, zeros, num) => sign + num);\n // add leading zero\n if (value.length && !/\\d$/.test(parts[0])) parts[0] = parts[0] + '0';\n if (parts.length > 1) {\n parts[1] = parts[1].replace(/0*$/, ''); // remove trailing zeros\n if (!parts[1].length) parts.length = 1; // remove fractional\n }\n return this._insertThousandsSeparators(parts.join(this.radix));\n }\n _padFractionalZeros(value) {\n if (!value) return value;\n const parts = value.split(this.radix);\n if (parts.length < 2) parts.push('');\n parts[1] = parts[1].padEnd(this.scale, '0');\n return parts.join(this.radix);\n }\n doSkipInvalid(ch, flags, checkTail) {\n if (flags === void 0) {\n flags = {};\n }\n const dropFractional = this.scale === 0 && ch !== this.thousandsSeparator && (ch === this.radix || ch === MaskedNumber.UNMASKED_RADIX || this.mapToRadix.includes(ch));\n return super.doSkipInvalid(ch, flags, checkTail) && !dropFractional;\n }\n get unmaskedValue() {\n return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, MaskedNumber.UNMASKED_RADIX);\n }\n set unmaskedValue(unmaskedValue) {\n super.unmaskedValue = unmaskedValue;\n }\n get typedValue() {\n return this.parse(this.unmaskedValue, this);\n }\n set typedValue(n) {\n this.rawInputValue = this.format(n, this).replace(MaskedNumber.UNMASKED_RADIX, this.radix);\n }\n\n /** Parsed Number */\n get number() {\n return this.typedValue;\n }\n set number(number) {\n this.typedValue = number;\n }\n get allowNegative() {\n return this.min != null && this.min < 0 || this.max != null && this.max < 0;\n }\n get allowPositive() {\n return this.min != null && this.min > 0 || this.max != null && this.max > 0;\n }\n typedValueEquals(value) {\n // handle 0 -> '' case (typed = 0 even if value = '')\n // for details see https://github.com/uNmAnNeR/imaskjs/issues/134\n return (super.typedValueEquals(value) || MaskedNumber.EMPTY_VALUES.includes(value) && MaskedNumber.EMPTY_VALUES.includes(this.typedValue)) && !(value === 0 && this.value === '');\n }\n}\n_MaskedNumber = MaskedNumber;\nMaskedNumber.UNMASKED_RADIX = '.';\nMaskedNumber.EMPTY_VALUES = [...Masked.EMPTY_VALUES, 0];\nMaskedNumber.DEFAULTS = {\n ...Masked.DEFAULTS,\n mask: Number,\n radix: ',',\n thousandsSeparator: '',\n mapToRadix: [_MaskedNumber.UNMASKED_RADIX],\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n scale: 2,\n normalizeZeros: true,\n padFractionalZeros: false,\n parse: Number,\n format: n => n.toLocaleString('en-US', {\n useGrouping: false,\n maximumFractionDigits: 20\n })\n};\nIMask.MaskedNumber = MaskedNumber;\n\nexport { MaskedNumber as default };\n","import ChangeDetails from '../core/change-details.js';\nimport IMask from '../core/holder.js';\nimport { DIRECTION } from '../core/utils.js';\nimport Masked from './base.js';\nimport createMask, { normalizeOpts } from './factory.js';\nimport ChunksTailDetails from './pattern/chunk-tail-details.js';\nimport PatternCursor from './pattern/cursor.js';\nimport PatternFixedDefinition from './pattern/fixed-definition.js';\nimport PatternInputDefinition from './pattern/input-definition.js';\nimport './regexp.js';\nimport '../core/continuous-tail-details.js';\n\n/** Pattern mask */\nclass MaskedPattern extends Masked {\n /** */\n\n /** */\n\n /** Single char for empty input */\n\n /** Single char for filled input */\n\n /** Show placeholder only when needed */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n constructor(opts) {\n super({\n ...MaskedPattern.DEFAULTS,\n ...opts,\n definitions: Object.assign({}, PatternInputDefinition.DEFAULT_DEFINITIONS, opts == null ? void 0 : opts.definitions)\n });\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n opts.definitions = Object.assign({}, this.definitions, opts.definitions);\n super._update(opts);\n this._rebuildMask();\n }\n _rebuildMask() {\n const defs = this.definitions;\n this._blocks = [];\n this.exposeBlock = undefined;\n this._stops = [];\n this._maskedBlocks = {};\n const pattern = this.mask;\n if (!pattern || !defs) return;\n let unmaskingBlock = false;\n let optionalBlock = false;\n for (let i = 0; i < pattern.length; ++i) {\n if (this.blocks) {\n const p = pattern.slice(i);\n const bNames = Object.keys(this.blocks).filter(bName => p.indexOf(bName) === 0);\n // order by key length\n bNames.sort((a, b) => b.length - a.length);\n // use block name with max length\n const bName = bNames[0];\n if (bName) {\n const {\n expose,\n repeat,\n ...bOpts\n } = normalizeOpts(this.blocks[bName]); // TODO type Opts<Arg & Extra>\n const blockOpts = {\n lazy: this.lazy,\n eager: this.eager,\n placeholderChar: this.placeholderChar,\n displayChar: this.displayChar,\n overwrite: this.overwrite,\n autofix: this.autofix,\n ...bOpts,\n repeat,\n parent: this\n };\n const maskedBlock = repeat != null ? new IMask.RepeatBlock(blockOpts /* TODO */) : createMask(blockOpts);\n if (maskedBlock) {\n this._blocks.push(maskedBlock);\n if (expose) this.exposeBlock = maskedBlock;\n\n // store block index\n if (!this._maskedBlocks[bName]) this._maskedBlocks[bName] = [];\n this._maskedBlocks[bName].push(this._blocks.length - 1);\n }\n i += bName.length - 1;\n continue;\n }\n }\n let char = pattern[i];\n let isInput = (char in defs);\n if (char === MaskedPattern.STOP_CHAR) {\n this._stops.push(this._blocks.length);\n continue;\n }\n if (char === '{' || char === '}') {\n unmaskingBlock = !unmaskingBlock;\n continue;\n }\n if (char === '[' || char === ']') {\n optionalBlock = !optionalBlock;\n continue;\n }\n if (char === MaskedPattern.ESCAPE_CHAR) {\n ++i;\n char = pattern[i];\n if (!char) break;\n isInput = false;\n }\n const def = isInput ? new PatternInputDefinition({\n isOptional: optionalBlock,\n lazy: this.lazy,\n eager: this.eager,\n placeholderChar: this.placeholderChar,\n displayChar: this.displayChar,\n ...normalizeOpts(defs[char]),\n parent: this\n }) : new PatternFixedDefinition({\n char,\n eager: this.eager,\n isUnmasking: unmaskingBlock\n });\n this._blocks.push(def);\n }\n }\n get state() {\n return {\n ...super.state,\n _blocks: this._blocks.map(b => b.state)\n };\n }\n set state(state) {\n if (!state) {\n this.reset();\n return;\n }\n const {\n _blocks,\n ...maskedState\n } = state;\n this._blocks.forEach((b, bi) => b.state = _blocks[bi]);\n super.state = maskedState;\n }\n reset() {\n super.reset();\n this._blocks.forEach(b => b.reset());\n }\n get isComplete() {\n return this.exposeBlock ? this.exposeBlock.isComplete : this._blocks.every(b => b.isComplete);\n }\n get isFilled() {\n return this._blocks.every(b => b.isFilled);\n }\n get isFixed() {\n return this._blocks.every(b => b.isFixed);\n }\n get isOptional() {\n return this._blocks.every(b => b.isOptional);\n }\n doCommit() {\n this._blocks.forEach(b => b.doCommit());\n super.doCommit();\n }\n get unmaskedValue() {\n return this.exposeBlock ? this.exposeBlock.unmaskedValue : this._blocks.reduce((str, b) => str += b.unmaskedValue, '');\n }\n set unmaskedValue(unmaskedValue) {\n if (this.exposeBlock) {\n const tail = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);\n this.exposeBlock.unmaskedValue = unmaskedValue;\n this.appendTail(tail);\n this.doCommit();\n } else super.unmaskedValue = unmaskedValue;\n }\n get value() {\n return this.exposeBlock ? this.exposeBlock.value :\n // TODO return _value when not in change?\n this._blocks.reduce((str, b) => str += b.value, '');\n }\n set value(value) {\n if (this.exposeBlock) {\n const tail = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);\n this.exposeBlock.value = value;\n this.appendTail(tail);\n this.doCommit();\n } else super.value = value;\n }\n get typedValue() {\n return this.exposeBlock ? this.exposeBlock.typedValue : super.typedValue;\n }\n set typedValue(value) {\n if (this.exposeBlock) {\n const tail = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);\n this.exposeBlock.typedValue = value;\n this.appendTail(tail);\n this.doCommit();\n } else super.typedValue = value;\n }\n get displayValue() {\n return this._blocks.reduce((str, b) => str += b.displayValue, '');\n }\n appendTail(tail) {\n return super.appendTail(tail).aggregate(this._appendPlaceholder());\n }\n _appendEager() {\n var _this$_mapPosToBlock;\n const details = new ChangeDetails();\n let startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.displayValue.length)) == null ? void 0 : _this$_mapPosToBlock.index;\n if (startBlockIndex == null) return details;\n\n // TODO test if it works for nested pattern masks\n if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex;\n for (let bi = startBlockIndex; bi < this._blocks.length; ++bi) {\n const d = this._blocks[bi]._appendEager();\n if (!d.inserted) break;\n details.aggregate(d);\n }\n return details;\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const blockIter = this._mapPosToBlock(this.displayValue.length);\n const details = new ChangeDetails();\n if (!blockIter) return details;\n for (let bi = blockIter.index, block; block = this._blocks[bi]; ++bi) {\n var _flags$_beforeTailSta;\n const blockDetails = block._appendChar(ch, {\n ...flags,\n _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) == null || (_flags$_beforeTailSta = _flags$_beforeTailSta._blocks) == null ? void 0 : _flags$_beforeTailSta[bi]\n });\n details.aggregate(blockDetails);\n if (blockDetails.consumed) break; // go next char\n }\n return details;\n }\n extractTail(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const chunkTail = new ChunksTailDetails();\n if (fromPos === toPos) return chunkTail;\n this._forEachBlocksInRange(fromPos, toPos, (b, bi, bFromPos, bToPos) => {\n const blockChunk = b.extractTail(bFromPos, bToPos);\n blockChunk.stop = this._findStopBefore(bi);\n blockChunk.from = this._blockStartPos(bi);\n if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi;\n chunkTail.extend(blockChunk);\n });\n return chunkTail;\n }\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n if (flags === void 0) {\n flags = {};\n }\n if (fromPos === toPos) return '';\n let input = '';\n this._forEachBlocksInRange(fromPos, toPos, (b, _, fromPos, toPos) => {\n input += b.extractInput(fromPos, toPos, flags);\n });\n return input;\n }\n _findStopBefore(blockIndex) {\n let stopBefore;\n for (let si = 0; si < this._stops.length; ++si) {\n const stop = this._stops[si];\n if (stop <= blockIndex) stopBefore = stop;else break;\n }\n return stopBefore;\n }\n\n /** Appends placeholder depending on laziness */\n _appendPlaceholder(toBlockIndex) {\n const details = new ChangeDetails();\n if (this.lazy && toBlockIndex == null) return details;\n const startBlockIter = this._mapPosToBlock(this.displayValue.length);\n if (!startBlockIter) return details;\n const startBlockIndex = startBlockIter.index;\n const endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length;\n this._blocks.slice(startBlockIndex, endBlockIndex).forEach(b => {\n if (!b.lazy || toBlockIndex != null) {\n var _blocks2;\n details.aggregate(b._appendPlaceholder((_blocks2 = b._blocks) == null ? void 0 : _blocks2.length));\n }\n });\n return details;\n }\n\n /** Finds block in pos */\n _mapPosToBlock(pos) {\n let accVal = '';\n for (let bi = 0; bi < this._blocks.length; ++bi) {\n const block = this._blocks[bi];\n const blockStartPos = accVal.length;\n accVal += block.displayValue;\n if (pos <= accVal.length) {\n return {\n index: bi,\n offset: pos - blockStartPos\n };\n }\n }\n }\n _blockStartPos(blockIndex) {\n return this._blocks.slice(0, blockIndex).reduce((pos, b) => pos += b.displayValue.length, 0);\n }\n _forEachBlocksInRange(fromPos, toPos, fn) {\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const fromBlockIter = this._mapPosToBlock(fromPos);\n if (fromBlockIter) {\n const toBlockIter = this._mapPosToBlock(toPos);\n // process first block\n const isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index;\n const fromBlockStartPos = fromBlockIter.offset;\n const fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].displayValue.length;\n fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos);\n if (toBlockIter && !isSameBlock) {\n // process intermediate blocks\n for (let bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) {\n fn(this._blocks[bi], bi, 0, this._blocks[bi].displayValue.length);\n }\n\n // process last block\n fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset);\n }\n }\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const removeDetails = super.remove(fromPos, toPos);\n this._forEachBlocksInRange(fromPos, toPos, (b, _, bFromPos, bToPos) => {\n removeDetails.aggregate(b.remove(bFromPos, bToPos));\n });\n return removeDetails;\n }\n nearestInputPos(cursorPos, direction) {\n if (direction === void 0) {\n direction = DIRECTION.NONE;\n }\n if (!this._blocks.length) return 0;\n const cursor = new PatternCursor(this, cursorPos);\n if (direction === DIRECTION.NONE) {\n // -------------------------------------------------\n // NONE should only go out from fixed to the right!\n // -------------------------------------------------\n if (cursor.pushRightBeforeInput()) return cursor.pos;\n cursor.popState();\n if (cursor.pushLeftBeforeInput()) return cursor.pos;\n return this.displayValue.length;\n }\n\n // FORCE is only about a|* otherwise is 0\n if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) {\n // try to break fast when *|a\n if (direction === DIRECTION.LEFT) {\n cursor.pushRightBeforeFilled();\n if (cursor.ok && cursor.pos === cursorPos) return cursorPos;\n cursor.popState();\n }\n\n // forward flow\n cursor.pushLeftBeforeInput();\n cursor.pushLeftBeforeRequired();\n cursor.pushLeftBeforeFilled();\n\n // backward flow\n if (direction === DIRECTION.LEFT) {\n cursor.pushRightBeforeInput();\n cursor.pushRightBeforeRequired();\n if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;\n cursor.popState();\n if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;\n cursor.popState();\n }\n if (cursor.ok) return cursor.pos;\n if (direction === DIRECTION.FORCE_LEFT) return 0;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n return 0;\n }\n if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) {\n // forward flow\n cursor.pushRightBeforeInput();\n cursor.pushRightBeforeRequired();\n if (cursor.pushRightBeforeFilled()) return cursor.pos;\n if (direction === DIRECTION.FORCE_RIGHT) return this.displayValue.length;\n\n // backward flow\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n return this.nearestInputPos(cursorPos, DIRECTION.LEFT);\n }\n return cursorPos;\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n let total = 0;\n this._forEachBlocksInRange(fromPos, toPos, (b, _, bFromPos, bToPos) => {\n total += b.totalInputPositions(bFromPos, bToPos);\n });\n return total;\n }\n\n /** Get block by name */\n maskedBlock(name) {\n return this.maskedBlocks(name)[0];\n }\n\n /** Get all blocks by name */\n maskedBlocks(name) {\n const indices = this._maskedBlocks[name];\n if (!indices) return [];\n return indices.map(gi => this._blocks[gi]);\n }\n pad(flags) {\n const details = new ChangeDetails();\n this._forEachBlocksInRange(0, this.displayValue.length, b => details.aggregate(b.pad(flags)));\n return details;\n }\n}\nMaskedPattern.DEFAULTS = {\n ...Masked.DEFAULTS,\n lazy: true,\n placeholderChar: '_'\n};\nMaskedPattern.STOP_CHAR = '`';\nMaskedPattern.ESCAPE_CHAR = '\\\\';\nMaskedPattern.InputDefinition = PatternInputDefinition;\nMaskedPattern.FixedDefinition = PatternFixedDefinition;\nIMask.MaskedPattern = MaskedPattern;\n\nexport { MaskedPattern as default };\n","import ChangeDetails from '../../core/change-details.js';\nimport { isString } from '../../core/utils.js';\nimport ContinuousTailDetails from '../../core/continuous-tail-details.js';\nimport IMask from '../../core/holder.js';\n\nclass ChunksTailDetails {\n /** */\n\n constructor(chunks, from) {\n if (chunks === void 0) {\n chunks = [];\n }\n if (from === void 0) {\n from = 0;\n }\n this.chunks = chunks;\n this.from = from;\n }\n toString() {\n return this.chunks.map(String).join('');\n }\n extend(tailChunk) {\n if (!String(tailChunk)) return;\n tailChunk = isString(tailChunk) ? new ContinuousTailDetails(String(tailChunk)) : tailChunk;\n const lastChunk = this.chunks[this.chunks.length - 1];\n const extendLast = lastChunk && (\n // if stops are same or tail has no stop\n lastChunk.stop === tailChunk.stop || tailChunk.stop == null) &&\n // if tail chunk goes just after last chunk\n tailChunk.from === lastChunk.from + lastChunk.toString().length;\n if (tailChunk instanceof ContinuousTailDetails) {\n // check the ability to extend previous chunk\n if (extendLast) {\n // extend previous chunk\n lastChunk.extend(tailChunk.toString());\n } else {\n // append new chunk\n this.chunks.push(tailChunk);\n }\n } else if (tailChunk instanceof ChunksTailDetails) {\n if (tailChunk.stop == null) {\n // unwrap floating chunks to parent, keeping `from` pos\n let firstTailChunk;\n while (tailChunk.chunks.length && tailChunk.chunks[0].stop == null) {\n firstTailChunk = tailChunk.chunks.shift(); // not possible to be `undefined` because length was checked above\n firstTailChunk.from += tailChunk.from;\n this.extend(firstTailChunk);\n }\n }\n\n // if tail chunk still has value\n if (tailChunk.toString()) {\n // if chunks contains stops, then popup stop to container\n tailChunk.stop = tailChunk.blockIndex;\n this.chunks.push(tailChunk);\n }\n }\n }\n appendTo(masked) {\n if (!(masked instanceof IMask.MaskedPattern)) {\n const tail = new ContinuousTailDetails(this.toString());\n return tail.appendTo(masked);\n }\n const details = new ChangeDetails();\n for (let ci = 0; ci < this.chunks.length; ++ci) {\n const chunk = this.chunks[ci];\n const lastBlockIter = masked._mapPosToBlock(masked.displayValue.length);\n const stop = chunk.stop;\n let chunkBlock;\n if (stop != null && (\n // if block not found or stop is behind lastBlock\n !lastBlockIter || lastBlockIter.index <= stop)) {\n if (chunk instanceof ChunksTailDetails ||\n // for continuous block also check if stop is exist\n masked._stops.indexOf(stop) >= 0) {\n details.aggregate(masked._appendPlaceholder(stop));\n }\n chunkBlock = chunk instanceof ChunksTailDetails && masked._blocks[stop];\n }\n if (chunkBlock) {\n const tailDetails = chunkBlock.appendTail(chunk);\n details.aggregate(tailDetails);\n\n // get not inserted chars\n const remainChars = chunk.toString().slice(tailDetails.rawInserted.length);\n if (remainChars) details.aggregate(masked.append(remainChars, {\n tail: true\n }));\n } else {\n details.aggregate(masked.append(chunk.toString(), {\n tail: true\n }));\n }\n }\n return details;\n }\n get state() {\n return {\n chunks: this.chunks.map(c => c.state),\n from: this.from,\n stop: this.stop,\n blockIndex: this.blockIndex\n };\n }\n set state(state) {\n const {\n chunks,\n ...props\n } = state;\n Object.assign(this, props);\n this.chunks = chunks.map(cstate => {\n const chunk = \"chunks\" in cstate ? new ChunksTailDetails() : new ContinuousTailDetails();\n chunk.state = cstate;\n return chunk;\n });\n }\n unshift(beforePos) {\n if (!this.chunks.length || beforePos != null && this.from >= beforePos) return '';\n const chunkShiftPos = beforePos != null ? beforePos - this.from : beforePos;\n let ci = 0;\n while (ci < this.chunks.length) {\n const chunk = this.chunks[ci];\n const shiftChar = chunk.unshift(chunkShiftPos);\n if (chunk.toString()) {\n // chunk still contains value\n // but not shifted - means no more available chars to shift\n if (!shiftChar) break;\n ++ci;\n } else {\n // clean if chunk has no value\n this.chunks.splice(ci, 1);\n }\n if (shiftChar) return shiftChar;\n }\n return '';\n }\n shift() {\n if (!this.chunks.length) return '';\n let ci = this.chunks.length - 1;\n while (0 <= ci) {\n const chunk = this.chunks[ci];\n const shiftChar = chunk.shift();\n if (chunk.toString()) {\n // chunk still contains value\n // but not shifted - means no more available chars to shift\n if (!shiftChar) break;\n --ci;\n } else {\n // clean if chunk has no value\n this.chunks.splice(ci, 1);\n }\n if (shiftChar) return shiftChar;\n }\n return '';\n }\n}\n\nexport { ChunksTailDetails as default };\n","import { DIRECTION } from '../../core/utils.js';\n\nclass PatternCursor {\n constructor(masked, pos) {\n this.masked = masked;\n this._log = [];\n const {\n offset,\n index\n } = masked._mapPosToBlock(pos) || (pos < 0 ?\n // first\n {\n index: 0,\n offset: 0\n } :\n // last\n {\n index: this.masked._blocks.length,\n offset: 0\n });\n this.offset = offset;\n this.index = index;\n this.ok = false;\n }\n get block() {\n return this.masked._blocks[this.index];\n }\n get pos() {\n return this.masked._blockStartPos(this.index) + this.offset;\n }\n get state() {\n return {\n index: this.index,\n offset: this.offset,\n ok: this.ok\n };\n }\n set state(s) {\n Object.assign(this, s);\n }\n pushState() {\n this._log.push(this.state);\n }\n popState() {\n const s = this._log.pop();\n if (s) this.state = s;\n return s;\n }\n bindBlock() {\n if (this.block) return;\n if (this.index < 0) {\n this.index = 0;\n this.offset = 0;\n }\n if (this.index >= this.masked._blocks.length) {\n this.index = this.masked._blocks.length - 1;\n this.offset = this.block.displayValue.length; // TODO this is stupid type error, `block` depends on index that was changed above\n }\n }\n _pushLeft(fn) {\n this.pushState();\n for (this.bindBlock(); 0 <= this.index; --this.index, this.offset = ((_this$block = this.block) == null ? void 0 : _this$block.displayValue.length) || 0) {\n var _this$block;\n if (fn()) return this.ok = true;\n }\n return this.ok = false;\n }\n _pushRight(fn) {\n this.pushState();\n for (this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) {\n if (fn()) return this.ok = true;\n }\n return this.ok = false;\n }\n pushLeftBeforeFilled() {\n return this._pushLeft(() => {\n if (this.block.isFixed || !this.block.value) return;\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.FORCE_LEFT);\n if (this.offset !== 0) return true;\n });\n }\n pushLeftBeforeInput() {\n // cases:\n // filled input: 00|\n // optional empty input: 00[]|\n // nested block: XX<[]>|\n return this._pushLeft(() => {\n if (this.block.isFixed) return;\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.LEFT);\n return true;\n });\n }\n pushLeftBeforeRequired() {\n return this._pushLeft(() => {\n if (this.block.isFixed || this.block.isOptional && !this.block.value) return;\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.LEFT);\n return true;\n });\n }\n pushRightBeforeFilled() {\n return this._pushRight(() => {\n if (this.block.isFixed || !this.block.value) return;\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.FORCE_RIGHT);\n if (this.offset !== this.block.value.length) return true;\n });\n }\n pushRightBeforeInput() {\n return this._pushRight(() => {\n if (this.block.isFixed) return;\n\n // const o = this.offset;\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.NONE);\n // HACK cases like (STILL DOES NOT WORK FOR NESTED)\n // aa|X\n // aa<X|[]>X_ - this will not work\n // if (o && o === this.offset && this.block instanceof PatternInputDefinition) continue;\n return true;\n });\n }\n pushRightBeforeRequired() {\n return this._pushRight(() => {\n if (this.block.isFixed || this.block.isOptional && !this.block.value) return;\n\n // TODO check |[*]XX_\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.NONE);\n return true;\n });\n }\n}\n\nexport { PatternCursor as default };\n","import ChangeDetails from '../../core/change-details.js';\nimport { DIRECTION, isString } from '../../core/utils.js';\nimport ContinuousTailDetails from '../../core/continuous-tail-details.js';\nimport '../../core/holder.js';\n\nclass PatternFixedDefinition {\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n constructor(opts) {\n Object.assign(this, opts);\n this._value = '';\n this.isFixed = true;\n }\n get value() {\n return this._value;\n }\n get unmaskedValue() {\n return this.isUnmasking ? this.value : '';\n }\n get rawInputValue() {\n return this._isRawInput ? this.value : '';\n }\n get displayValue() {\n return this.value;\n }\n reset() {\n this._isRawInput = false;\n this._value = '';\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this._value.length;\n }\n this._value = this._value.slice(0, fromPos) + this._value.slice(toPos);\n if (!this._value) this._isRawInput = false;\n return new ChangeDetails();\n }\n nearestInputPos(cursorPos, direction) {\n if (direction === void 0) {\n direction = DIRECTION.NONE;\n }\n const minPos = 0;\n const maxPos = this._value.length;\n switch (direction) {\n case DIRECTION.LEFT:\n case DIRECTION.FORCE_LEFT:\n return minPos;\n case DIRECTION.NONE:\n case DIRECTION.RIGHT:\n case DIRECTION.FORCE_RIGHT:\n default:\n return maxPos;\n }\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this._value.length;\n }\n return this._isRawInput ? toPos - fromPos : 0;\n }\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this._value.length;\n }\n if (flags === void 0) {\n flags = {};\n }\n return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || '';\n }\n get isComplete() {\n return true;\n }\n get isFilled() {\n return Boolean(this._value);\n }\n _appendChar(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n if (this.isFilled) return new ChangeDetails();\n const appendEager = this.eager === true || this.eager === 'append';\n const appended = this.char === ch;\n const isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && (!flags.raw || !appendEager) && !flags.tail;\n const details = new ChangeDetails({\n inserted: this.char,\n rawInserted: isResolved ? this.char : ''\n });\n this._value = this.char;\n this._isRawInput = isResolved && (flags.raw || flags.input);\n return details;\n }\n _appendEager() {\n return this._appendChar(this.char, {\n tail: true\n });\n }\n _appendPlaceholder() {\n const details = new ChangeDetails();\n if (this.isFilled) return details;\n this._value = details.inserted = this.char;\n return details;\n }\n extractTail() {\n return new ContinuousTailDetails('');\n }\n appendTail(tail) {\n if (isString(tail)) tail = new ContinuousTailDetails(String(tail));\n return tail.appendTo(this);\n }\n append(str, flags, tail) {\n const details = this._appendChar(str[0], flags);\n if (tail != null) {\n details.tailShift += this.appendTail(tail).tailShift;\n }\n return details;\n }\n doCommit() {}\n get state() {\n return {\n _value: this._value,\n _rawInputValue: this.rawInputValue\n };\n }\n set state(state) {\n this._value = state._value;\n this._isRawInput = Boolean(state._rawInputValue);\n }\n pad(flags) {\n return this._appendPlaceholder();\n }\n}\n\nexport { PatternFixedDefinition as default };\n","import createMask from '../factory.js';\nimport ChangeDetails from '../../core/change-details.js';\nimport { DIRECTION } from '../../core/utils.js';\nimport '../../core/holder.js';\n\nclass PatternInputDefinition {\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n constructor(opts) {\n const {\n parent,\n isOptional,\n placeholderChar,\n displayChar,\n lazy,\n eager,\n ...maskOpts\n } = opts;\n this.masked = createMask(maskOpts);\n Object.assign(this, {\n parent,\n isOptional,\n placeholderChar,\n displayChar,\n lazy,\n eager\n });\n }\n reset() {\n this.isFilled = false;\n this.masked.reset();\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.value.length;\n }\n if (fromPos === 0 && toPos >= 1) {\n this.isFilled = false;\n return this.masked.remove(fromPos, toPos);\n }\n return new ChangeDetails();\n }\n get value() {\n return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : '');\n }\n get unmaskedValue() {\n return this.masked.unmaskedValue;\n }\n get rawInputValue() {\n return this.masked.rawInputValue;\n }\n get displayValue() {\n return this.masked.value && this.displayChar || this.value;\n }\n get isComplete() {\n return Boolean(this.masked.value) || this.isOptional;\n }\n _appendChar(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n if (this.isFilled) return new ChangeDetails();\n const state = this.masked.state;\n // simulate input\n let details = this.masked._appendChar(ch, this.currentMaskFlags(flags));\n if (details.inserted && this.doValidate(flags) === false) {\n details = new ChangeDetails();\n this.masked.state = state;\n }\n if (!details.inserted && !this.isOptional && !this.lazy && !flags.input) {\n details.inserted = this.placeholderChar;\n }\n details.skip = !details.inserted && !this.isOptional;\n this.isFilled = Boolean(details.inserted);\n return details;\n }\n append(str, flags, tail) {\n // TODO probably should be done via _appendChar\n return this.masked.append(str, this.currentMaskFlags(flags), tail);\n }\n _appendPlaceholder() {\n if (this.isFilled || this.isOptional) return new ChangeDetails();\n this.isFilled = true;\n return new ChangeDetails({\n inserted: this.placeholderChar\n });\n }\n _appendEager() {\n return new ChangeDetails();\n }\n extractTail(fromPos, toPos) {\n return this.masked.extractTail(fromPos, toPos);\n }\n appendTail(tail) {\n return this.masked.appendTail(tail);\n }\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.value.length;\n }\n return this.masked.extractInput(fromPos, toPos, flags);\n }\n nearestInputPos(cursorPos, direction) {\n if (direction === void 0) {\n direction = DIRECTION.NONE;\n }\n const minPos = 0;\n const maxPos = this.value.length;\n const boundPos = Math.min(Math.max(cursorPos, minPos), maxPos);\n switch (direction) {\n case DIRECTION.LEFT:\n case DIRECTION.FORCE_LEFT:\n return this.isComplete ? boundPos : minPos;\n case DIRECTION.RIGHT:\n case DIRECTION.FORCE_RIGHT:\n return this.isComplete ? boundPos : maxPos;\n case DIRECTION.NONE:\n default:\n return boundPos;\n }\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.value.length;\n }\n return this.value.slice(fromPos, toPos).length;\n }\n doValidate(flags) {\n return this.masked.doValidate(this.currentMaskFlags(flags)) && (!this.parent || this.parent.doValidate(this.currentMaskFlags(flags)));\n }\n doCommit() {\n this.masked.doCommit();\n }\n get state() {\n return {\n _value: this.value,\n _rawInputValue: this.rawInputValue,\n masked: this.masked.state,\n isFilled: this.isFilled\n };\n }\n set state(state) {\n this.masked.state = state.masked;\n this.isFilled = state.isFilled;\n }\n currentMaskFlags(flags) {\n var _flags$_beforeTailSta;\n return {\n ...flags,\n _beforeTailState: (flags == null || (_flags$_beforeTailSta = flags._beforeTailState) == null ? void 0 : _flags$_beforeTailSta.masked) || (flags == null ? void 0 : flags._beforeTailState)\n };\n }\n pad(flags) {\n return new ChangeDetails();\n }\n}\nPatternInputDefinition.DEFAULT_DEFINITIONS = {\n '0': /\\d/,\n 'a': /[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,\n // http://stackoverflow.com/a/22075070\n '*': /./\n};\n\nexport { PatternInputDefinition as default };\n","import createMask from './factory.js';\nimport IMask from '../core/holder.js';\nimport '../core/utils.js';\n\n/** Mask pipe source and destination types */\nconst PIPE_TYPE = {\n MASKED: 'value',\n UNMASKED: 'unmaskedValue',\n TYPED: 'typedValue'\n};\n/** Creates new pipe function depending on mask type, source and destination options */\nfunction createPipe(arg, from, to) {\n if (from === void 0) {\n from = PIPE_TYPE.MASKED;\n }\n if (to === void 0) {\n to = PIPE_TYPE.MASKED;\n }\n const masked = createMask(arg);\n return value => masked.runIsolated(m => {\n m[from] = value;\n return m[to];\n });\n}\n\n/** Pipes value through mask depending on mask type, source and destination options */\nfunction pipe(value, mask, from, to) {\n return createPipe(mask, from, to)(value);\n}\nIMask.PIPE_TYPE = PIPE_TYPE;\nIMask.createPipe = createPipe;\nIMask.pipe = pipe;\n\nexport { PIPE_TYPE, createPipe, pipe };\n","import ChangeDetails from '../core/change-details.js';\nimport IMask from '../core/holder.js';\nimport MaskedPattern from './pattern.js';\nimport '../core/utils.js';\nimport './base.js';\nimport '../core/continuous-tail-details.js';\nimport './factory.js';\nimport './pattern/chunk-tail-details.js';\nimport './pattern/cursor.js';\nimport './pattern/fixed-definition.js';\nimport './pattern/input-definition.js';\nimport './regexp.js';\n\n/** Pattern which accepts ranges */\nclass MaskedRange extends MaskedPattern {\n /**\n Optionally sets max length of pattern.\n Used when pattern length is longer then `to` param length. Pads zeros at start in this case.\n */\n\n /** Min bound */\n\n /** Max bound */\n\n get _matchFrom() {\n return this.maxLength - String(this.from).length;\n }\n constructor(opts) {\n super(opts); // mask will be created in _update\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n const {\n to = this.to || 0,\n from = this.from || 0,\n maxLength = this.maxLength || 0,\n autofix = this.autofix,\n ...patternOpts\n } = opts;\n this.to = to;\n this.from = from;\n this.maxLength = Math.max(String(to).length, maxLength);\n this.autofix = autofix;\n const fromStr = String(this.from).padStart(this.maxLength, '0');\n const toStr = String(this.to).padStart(this.maxLength, '0');\n let sameCharsCount = 0;\n while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) ++sameCharsCount;\n patternOpts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\\\0') + '0'.repeat(this.maxLength - sameCharsCount);\n super._update(patternOpts);\n }\n get isComplete() {\n return super.isComplete && Boolean(this.value);\n }\n boundaries(str) {\n let minstr = '';\n let maxstr = '';\n const [, placeholder, num] = str.match(/^(\\D*)(\\d*)(\\D*)/) || [];\n if (num) {\n minstr = '0'.repeat(placeholder.length) + num;\n maxstr = '9'.repeat(placeholder.length) + num;\n }\n minstr = minstr.padEnd(this.maxLength, '0');\n maxstr = maxstr.padEnd(this.maxLength, '9');\n return [minstr, maxstr];\n }\n doPrepareChar(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n let details;\n [ch, details] = super.doPrepareChar(ch.replace(/\\D/g, ''), flags);\n if (!ch) details.skip = !this.isComplete;\n return [ch, details];\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n if (!this.autofix || this.value.length + 1 > this.maxLength) return super._appendCharRaw(ch, flags);\n const fromStr = String(this.from).padStart(this.maxLength, '0');\n const toStr = String(this.to).padStart(this.maxLength, '0');\n const [minstr, maxstr] = this.boundaries(this.value + ch);\n if (Number(maxstr) < this.from) return super._appendCharRaw(fromStr[this.value.length], flags);\n if (Number(minstr) > this.to) {\n if (!flags.tail && this.autofix === 'pad' && this.value.length + 1 < this.maxLength) {\n return super._appendCharRaw(fromStr[this.value.length], flags).aggregate(this._appendCharRaw(ch, flags));\n }\n return super._appendCharRaw(toStr[this.value.length], flags);\n }\n return super._appendCharRaw(ch, flags);\n }\n doValidate(flags) {\n const str = this.value;\n const firstNonZero = str.search(/[^0]/);\n if (firstNonZero === -1 && str.length <= this._matchFrom) return true;\n const [minstr, maxstr] = this.boundaries(str);\n return this.from <= Number(maxstr) && Number(minstr) <= this.to && super.doValidate(flags);\n }\n pad(flags) {\n const details = new ChangeDetails();\n if (this.value.length === this.maxLength) return details;\n const value = this.value;\n const padLength = this.maxLength - this.value.length;\n if (padLength) {\n this.reset();\n for (let i = 0; i < padLength; ++i) {\n details.aggregate(super._appendCharRaw('0', flags));\n }\n\n // append tail\n value.split('').forEach(ch => this._appendCharRaw(ch));\n }\n return details;\n }\n}\nIMask.MaskedRange = MaskedRange;\n\nexport { MaskedRange as default };\n","import Masked from './base.js';\nimport IMask from '../core/holder.js';\nimport '../core/change-details.js';\nimport '../core/continuous-tail-details.js';\nimport '../core/utils.js';\n\n/** Masking by RegExp */\nclass MaskedRegExp extends Masked {\n /** */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n const mask = opts.mask;\n if (mask) opts.validate = value => value.search(mask) >= 0;\n super._update(opts);\n }\n}\nIMask.MaskedRegExp = MaskedRegExp;\n\nexport { MaskedRegExp as default };\n","import ChangeDetails from '../core/change-details.js';\nimport IMask from '../core/holder.js';\nimport createMask, { normalizeOpts } from './factory.js';\nimport MaskedPattern from './pattern.js';\nimport '../core/utils.js';\nimport './base.js';\nimport '../core/continuous-tail-details.js';\nimport './pattern/chunk-tail-details.js';\nimport './pattern/cursor.js';\nimport './pattern/fixed-definition.js';\nimport './pattern/input-definition.js';\nimport './regexp.js';\n\n/** Pattern mask */\nclass RepeatBlock extends MaskedPattern {\n get repeatFrom() {\n var _ref;\n return (_ref = Array.isArray(this.repeat) ? this.repeat[0] : this.repeat === Infinity ? 0 : this.repeat) != null ? _ref : 0;\n }\n get repeatTo() {\n var _ref2;\n return (_ref2 = Array.isArray(this.repeat) ? this.repeat[1] : this.repeat) != null ? _ref2 : Infinity;\n }\n constructor(opts) {\n super(opts);\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n var _ref3, _ref4, _this$_blocks;\n const {\n repeat,\n ...blockOpts\n } = normalizeOpts(opts); // TODO type\n this._blockOpts = Object.assign({}, this._blockOpts, blockOpts);\n const block = createMask(this._blockOpts);\n this.repeat = (_ref3 = (_ref4 = repeat != null ? repeat : block.repeat) != null ? _ref4 : this.repeat) != null ? _ref3 : Infinity; // TODO type\n\n super._update({\n mask: 'm'.repeat(Math.max(this.repeatTo === Infinity && ((_this$_blocks = this._blocks) == null ? void 0 : _this$_blocks.length) || 0, this.repeatFrom)),\n blocks: {\n m: block\n },\n eager: block.eager,\n overwrite: block.overwrite,\n skipInvalid: block.skipInvalid,\n lazy: block.lazy,\n placeholderChar: block.placeholderChar,\n displayChar: block.displayChar\n });\n }\n _allocateBlock(bi) {\n if (bi < this._blocks.length) return this._blocks[bi];\n if (this.repeatTo === Infinity || this._blocks.length < this.repeatTo) {\n this._blocks.push(createMask(this._blockOpts));\n this.mask += 'm';\n return this._blocks[this._blocks.length - 1];\n }\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const details = new ChangeDetails();\n for (let bi = (_this$_mapPosToBlock$ = (_this$_mapPosToBlock = this._mapPosToBlock(this.displayValue.length)) == null ? void 0 : _this$_mapPosToBlock.index) != null ? _this$_mapPosToBlock$ : Math.max(this._blocks.length - 1, 0), block, allocated;\n // try to get a block or\n // try to allocate a new block if not allocated already\n block = (_this$_blocks$bi = this._blocks[bi]) != null ? _this$_blocks$bi : allocated = !allocated && this._allocateBlock(bi); ++bi) {\n var _this$_mapPosToBlock$, _this$_mapPosToBlock, _this$_blocks$bi, _flags$_beforeTailSta;\n const blockDetails = block._appendChar(ch, {\n ...flags,\n _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) == null || (_flags$_beforeTailSta = _flags$_beforeTailSta._blocks) == null ? void 0 : _flags$_beforeTailSta[bi]\n });\n if (blockDetails.skip && allocated) {\n // remove the last allocated block and break\n this._blocks.pop();\n this.mask = this.mask.slice(1);\n break;\n }\n details.aggregate(blockDetails);\n if (blockDetails.consumed) break; // go next char\n }\n return details;\n }\n _trimEmptyTail(fromPos, toPos) {\n var _this$_mapPosToBlock2, _this$_mapPosToBlock3;\n if (fromPos === void 0) {\n fromPos = 0;\n }\n const firstBlockIndex = Math.max(((_this$_mapPosToBlock2 = this._mapPosToBlock(fromPos)) == null ? void 0 : _this$_mapPosToBlock2.index) || 0, this.repeatFrom, 0);\n let lastBlockIndex;\n if (toPos != null) lastBlockIndex = (_this$_mapPosToBlock3 = this._mapPosToBlock(toPos)) == null ? void 0 : _this$_mapPosToBlock3.index;\n if (lastBlockIndex == null) lastBlockIndex = this._blocks.length - 1;\n let removeCount = 0;\n for (let blockIndex = lastBlockIndex; firstBlockIndex <= blockIndex; --blockIndex, ++removeCount) {\n if (this._blocks[blockIndex].unmaskedValue) break;\n }\n if (removeCount) {\n this._blocks.splice(lastBlockIndex - removeCount + 1, removeCount);\n this.mask = this.mask.slice(removeCount);\n }\n }\n reset() {\n super.reset();\n this._trimEmptyTail();\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const removeDetails = super.remove(fromPos, toPos);\n this._trimEmptyTail(fromPos, toPos);\n return removeDetails;\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos == null && this.repeatTo === Infinity) return Infinity;\n return super.totalInputPositions(fromPos, toPos);\n }\n get state() {\n return super.state;\n }\n set state(state) {\n this._blocks.length = state._blocks.length;\n this.mask = this.mask.slice(0, this._blocks.length);\n super.state = state;\n }\n}\nIMask.RepeatBlock = RepeatBlock;\n\nexport { RepeatBlock as default };\n","import IMask from 'imask/esm/imask';\nimport { useRef, useState, useCallback, useEffect } from 'react';\n\nfunction useIMask(opts, _temp) {\n let {\n onAccept,\n onComplete,\n ref = useRef(null),\n defaultValue,\n defaultUnmaskedValue,\n defaultTypedValue\n } = _temp === void 0 ? {} : _temp;\n const maskRef = useRef(null);\n const [lastAcceptState, setLastAcceptState] = useState({});\n const [value, setValue] = useState('');\n const [unmaskedValue, setUnmaskedValue] = useState('');\n const [typedValue, setTypedValue] = useState();\n const _destroyMask = useCallback(() => {\n var _maskRef$current;\n (_maskRef$current = maskRef.current) == null || _maskRef$current.destroy();\n maskRef.current = null;\n }, []);\n const storeLastAcceptedValues = useCallback(() => {\n const m = maskRef.current;\n if (!m) return;\n setLastAcceptState({\n value: m.value,\n unmaskedValue: m.unmaskedValue,\n typedValue: m.typedValue\n });\n setTypedValue(m.typedValue);\n setUnmaskedValue(m.unmaskedValue);\n setValue(m.value);\n }, []);\n const _onAccept = useCallback(event => {\n const m = maskRef.current;\n if (!m) return;\n storeLastAcceptedValues();\n onAccept == null || onAccept(m.value, m, event);\n }, [onAccept]);\n const _onComplete = useCallback(event => maskRef.current && (onComplete == null ? void 0 : onComplete(maskRef.current.value, maskRef.current, event)), [onComplete]);\n useEffect(() => {\n const {\n value: lastAcceptValue,\n ...state\n } = lastAcceptState;\n const mask = maskRef.current;\n if (!mask || value === undefined) return;\n if (lastAcceptValue !== value) {\n mask.value = value;\n if (mask.value !== value) _onAccept();\n }\n setLastAcceptState(state);\n }, [value]);\n useEffect(() => {\n const {\n unmaskedValue: lastAcceptUnmaskedValue,\n ...state\n } = lastAcceptState;\n const mask = maskRef.current;\n if (!mask || unmaskedValue === undefined) return;\n if (lastAcceptUnmaskedValue !== unmaskedValue) {\n mask.unmaskedValue = unmaskedValue;\n if (mask.unmaskedValue !== unmaskedValue) _onAccept();\n }\n setLastAcceptState(state);\n }, [unmaskedValue]);\n useEffect(() => {\n const {\n typedValue: lastAcceptTypedValue,\n ...state\n } = lastAcceptState;\n const mask = maskRef.current;\n if (!mask || typedValue === undefined) return;\n if (lastAcceptTypedValue !== typedValue) {\n mask.typedValue = typedValue;\n if (!mask.masked.typedValueEquals(typedValue)) _onAccept();\n }\n setLastAcceptState(state);\n }, [typedValue]);\n useEffect(() => {\n const el = ref.current;\n if (!el || !(opts != null && opts.mask)) return _destroyMask();\n const mask = maskRef.current;\n if (!mask) {\n if (el && opts != null && opts.mask) {\n maskRef.current = IMask(el, opts);\n storeLastAcceptedValues();\n if (defaultValue !== undefined) setValue(defaultValue);\n if (defaultUnmaskedValue !== undefined) setUnmaskedValue(defaultUnmaskedValue);\n if (defaultTypedValue !== undefined) setTypedValue(defaultTypedValue);\n }\n } else {\n mask == null || mask.updateOptions(opts); // TODO fix no idea\n }\n }, [opts, _destroyMask, _onAccept]);\n useEffect(() => {\n if (!maskRef.current) return;\n const mask = maskRef.current;\n mask.on('accept', _onAccept);\n mask.on('complete', _onComplete);\n return () => {\n mask.off('accept', _onAccept);\n mask.off('complete', _onComplete);\n };\n }, [_onAccept, _onComplete]);\n useEffect(() => _destroyMask, [_destroyMask]);\n return {\n ref,\n maskRef,\n value,\n setValue,\n unmaskedValue,\n setUnmaskedValue,\n typedValue,\n setTypedValue\n };\n}\n\nexport { useIMask as default };\n","import 'imask/esm';\nexport { default as IMask } from 'imask/esm/imask';\nexport { default as IMaskInput } from './input.js';\nexport { default as useIMask } from './hook.js';\nexport { default as IMaskMixin } from './mixin.js';\nimport 'react';\nimport 'prop-types';\n","import React from 'react';\nimport IMaskMixin from './mixin.js';\nimport 'prop-types';\nimport 'imask/esm/imask';\n\nconst IMaskInputClass = IMaskMixin(_ref => {\n let {\n inputRef,\n ...props\n } = _ref;\n return React.createElement('input', {\n ...props,\n ref: inputRef\n });\n});\nconst IMaskInputFn = (props, ref) => React.createElement(IMaskInputClass, {\n ...props,\n ref\n}) // TODO fix no idea\n;\nconst IMaskInput = React.forwardRef(IMaskInputFn);\n\nexport { IMaskInput as default };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport IMask from 'imask/esm/imask';\n\nconst MASK_PROPS = {\n // common\n mask: PropTypes.oneOfType([PropTypes.array, PropTypes.func, PropTypes.string, PropTypes.instanceOf(RegExp), PropTypes.oneOf([Date, Number, IMask.Masked]), PropTypes.instanceOf(IMask.Masked)]),\n value: PropTypes.any,\n unmask: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['typed'])]),\n prepare: PropTypes.func,\n prepareChar: PropTypes.func,\n validate: PropTypes.func,\n commit: PropTypes.func,\n overwrite: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['shift'])]),\n eager: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['append', 'remove'])]),\n skipInvalid: PropTypes.bool,\n // events\n onAccept: PropTypes.func,\n onComplete: PropTypes.func,\n // pattern\n placeholderChar: PropTypes.string,\n displayChar: PropTypes.string,\n lazy: PropTypes.bool,\n definitions: PropTypes.object,\n blocks: PropTypes.object,\n // enum\n enum: PropTypes.arrayOf(PropTypes.string),\n // range\n maxLength: PropTypes.number,\n from: PropTypes.number,\n to: PropTypes.number,\n // date\n pattern: PropTypes.string,\n format: PropTypes.func,\n parse: PropTypes.func,\n autofix: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['pad'])]),\n // number\n radix: PropTypes.string,\n thousandsSeparator: PropTypes.string,\n mapToRadix: PropTypes.arrayOf(PropTypes.string),\n scale: PropTypes.number,\n normalizeZeros: PropTypes.bool,\n padFractionalZeros: PropTypes.bool,\n min: PropTypes.oneOfType([PropTypes.number, PropTypes.instanceOf(Date)]),\n max: PropTypes.oneOfType([PropTypes.number, PropTypes.instanceOf(Date)]),\n // dynamic\n dispatch: PropTypes.func,\n // ref\n inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.object\n })])\n};\nconst MASK_PROPS_NAMES = Object.keys(MASK_PROPS).filter(p => p !== 'value');\nconst NON_MASK_OPTIONS_NAMES = ['value', 'unmask', 'onAccept', 'onComplete', 'inputRef'];\nconst MASK_OPTIONS_NAMES = MASK_PROPS_NAMES.filter(pName => NON_MASK_OPTIONS_NAMES.indexOf(pName) < 0);\nfunction IMaskMixin(ComposedComponent) {\n var _Class;\n const MaskedComponent = (_Class = class MaskedComponent extends React.Component {\n constructor(props) {\n super(props);\n this._inputRef = this._inputRef.bind(this);\n }\n componentDidMount() {\n if (!this.props.mask) return;\n this.initMask();\n }\n componentDidUpdate() {\n const props = this.props;\n const maskOptions = this._extractMaskOptionsFromProps(props);\n if (maskOptions.mask) {\n if (this.maskRef) {\n this.maskRef.updateOptions(maskOptions); // TODO fix\n if ('value' in props && props.value !== undefined) this.maskValue = props.value;\n } else {\n this.initMask(maskOptions);\n }\n } else {\n this.destroyMask();\n if ('value' in props && props.value !== undefined) {\n var _this$element;\n if ((_this$element = this.element) != null && _this$element.isContentEditable && this.element.tagName !== 'INPUT' && this.element.tagName !== 'TEXTAREA') this.element.textContent = props.value;else this.element.value = props.value;\n }\n }\n }\n componentWillUnmount() {\n this.destroyMask();\n }\n _inputRef(el) {\n this.element = el;\n if (this.props.inputRef) {\n if (Object.prototype.hasOwnProperty.call(this.props.inputRef, 'current')) this.props.inputRef.current = el;else this.props.inputRef(el);\n }\n }\n initMask(maskOptions) {\n if (maskOptions === void 0) {\n maskOptions = this._extractMaskOptionsFromProps(this.props);\n }\n this.maskRef = IMask(this.element, maskOptions).on('accept', this._onAccept.bind(this)).on('complete', this._onComplete.bind(this));\n if ('value' in this.props && this.props.value !== undefined) this.maskValue = this.props.value;\n }\n destroyMask() {\n if (this.maskRef) {\n this.maskRef.destroy();\n delete this.maskRef;\n }\n }\n _extractMaskOptionsFromProps(props) {\n const {\n ...cloneProps\n } = props;\n\n // keep only mask options\n Object.keys(cloneProps).filter(prop => MASK_OPTIONS_NAMES.indexOf(prop) < 0).forEach(nonMaskProp => {\n delete cloneProps[nonMaskProp];\n });\n return cloneProps;\n }\n _extractNonMaskProps(props) {\n const {\n ...cloneProps\n } = props;\n MASK_PROPS_NAMES.forEach(maskProp => {\n if (maskProp !== 'maxLength') delete cloneProps[maskProp];\n });\n if (!('defaultValue' in cloneProps)) cloneProps.defaultValue = props.mask ? '' : cloneProps.value;\n delete cloneProps.value;\n return cloneProps;\n }\n get maskValue() {\n if (!this.maskRef) return '';\n if (this.props.unmask === 'typed') return this.maskRef.typedValue;\n if (this.props.unmask) return this.maskRef.unmaskedValue;\n return this.maskRef.value;\n }\n set maskValue(value) {\n if (!this.maskRef) return;\n value = value == null && this.props.unmask !== 'typed' ? '' : value;\n if (this.props.unmask === 'typed') this.maskRef.typedValue = value;else if (this.props.unmask) this.maskRef.unmaskedValue = value;else this.maskRef.value = value;\n }\n _onAccept(e) {\n if (this.props.onAccept && this.maskRef) this.props.onAccept(this.maskValue, this.maskRef, e);\n }\n _onComplete(e) {\n if (this.props.onComplete && this.maskRef) this.props.onComplete(this.maskValue, this.maskRef, e);\n }\n render() {\n return React.createElement(ComposedComponent, {\n ...this._extractNonMaskProps(this.props),\n inputRef: this._inputRef\n });\n }\n }, _Class.displayName = void 0, _Class.propTypes = void 0, _Class);\n const nestedComponentName = ComposedComponent.displayName || ComposedComponent.name || 'Component';\n MaskedComponent.displayName = \"IMask(\" + nestedComponentName + \")\";\n MaskedComponent.propTypes = MASK_PROPS;\n return React.forwardRef((props, ref) => React.createElement(MaskedComponent, {\n ...props,\n ref\n }));\n}\n\nexport { IMaskMixin as default };\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","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.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};","export * from './ui'\r\nexport * from './hooks'\r\nexport * from './types'\r\nexport * from './lib'"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":"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,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA,YAAY,mBAAO,CAAC,uDAAW;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,0EAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,UAAU,mBAAO,CAAC,uDAAW;AAC7B,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;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;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,CAAM;AAC7I;AACA;;AAEA,oBAAoB,gCAAgC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH;AACjH;AACA;AACA;;AAEA;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,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;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;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACjmBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,0EAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,EAAE,KAAK,EAIN;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;ACXA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,kDAAkD;;AAElD;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,gBAAgB;AAChB,YAAY;AACZ,YAAY;AACZ,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,mBAAmB;AACnB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAClB,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,oBAAoB;AACpB,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc;AACd,GAAG;AACH;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wJAAyD;AAC3D;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;AACA;;AAEA,YAAY,mBAAO,CAAC,oBAAO;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iGAAiG,eAAe;AAChH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;AAC5B;AACA,qCAAqC;;AAErC,gCAAgC;AAChC;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,sBAAsB;AACtB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,iCAAiC;AACjC;AACA,SAAS;AACT,2BAA2B;AAC3B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA,gFAAgF;AAChF;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;;AAGlB;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2HAA2H;AAC3H;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;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;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,oBAAoB;AACpB,2DAA2D,UAAU;AACrE,yBAAyB,UAAU;AACnC;AACA,aAAa,UAAU;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,4CAA4C;;AAE5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0DAA0D;AAC1D;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gDAAgD,gDAAgD,MAAM,aAAa;;AAEnH;AACA,iDAAiD,kCAAkC,OAAO;;AAE1F,yGAAyG,cAAc,UAAU,gGAAgG,kBAAkB,UAAU,UAAU;;AAEvQ;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;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CC;AACA;;;;;;;;;;;;ACJ7B;;;;;;;;;;;;;;;;ACAA,cAAc,aAAa,+CAA+C,gDAAgD,eAAe,QAAQ,IAAI,0CAA0C,yCAAyC,SAAgB,gBAAgB,wCAAwC,IAAI,mDAAmD,SAAS,iEAAe,IAAI;;;;;;;;;;;;;;;ACA5X;AACP;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACJA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;;;;;;;;;;;;;;;;;;;;;;ACRqD;AACJ;AACQ;AACd;AACQ;;AAEK;AACD;;AAEvD;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,sBAAsB;AACzD;AACA;AACA,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA,mCAAmC,eAAe;AAClD;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,cAAc;AAC1D;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,2BAA2B,4DAAW;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,oEAAe;AAC5B;;AAEA;AACA;AACA,gDAAgD,cAAc;AAC9D;;AAEA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,wBAAwB,kEAAc;;AAEtC;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,iDAAiD,iBAAiB;AAClE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC;AACrC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,iDAAiD,iBAAiB;AAClE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC;AACrC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gEAAe;AAC9B;AACA;AACA,mDAAmD,eAAe;AAClE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,uCAAuC,sCAAsC;AAC7E;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,mDAAmD,eAAe;AAClE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,uCAAuC,sCAAsC;AAC7E;AACA,GAAG;;AAEH;AACA;AACA,iBAAiB,oDAAO;;AAExB;AACA,4CAA4C,cAAc;AAC1D;;AAEA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,oBAAoB,0DAAU;;AAE9B;AACA,+CAA+C,cAAc;AAC7D;;AAEA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA,sDAAsD,cAAc;AACpE;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,sBAAsB,8DAAY;;AAElC;AACA,iDAAiD,mBAAmB;AACpE;;AAEA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,wDAAwD,aAAa;AACrE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,wDAAwD,aAAa;AACrE;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAe;AAC9B;AACA;AACA,sDAAsD,aAAa;AACnE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,6CAA6C,cAAc;AAC3D;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,6CAA6C,cAAc;AAC3D;;AAEA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,cAAc;AAC3D;;AAEA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA,yDAAyD,gBAAgB;AACzE;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA,yDAAyD,gBAAgB;AACzE;;AAEA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,WAAW,gEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,oEAAe;AAC3D;;AAEA;AACA;AACA;AACA,kBAAkB,oEAAe;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,oEAAe;AAC/B,kBAAkB,oEAAe;AACjC;AACA;;;;;;;;;;;;;;;;;ACvwBwD;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA,+CAA+C,oEAAe;AAC9D,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,oEAAe;AAC1B,GAAG;AACH;;;;;;;;;;;;;;;;AC3FA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA,+BAA+B,iBAAiB;AAChD;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA,+BAA+B,iBAAiB;AAChD;AACA,+BAA+B,eAAe;AAC9C;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA,6CAA6C,iBAAiB;AAC9D;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D;AACA;;AAEA;AACA,gBAAgB,MAAM;AACtB,gBAAgB,MAAM;AACtB;;AAEO;AACP;AACA;AACA;;;;;;;;;;;;;;;;;AC/DsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC5BoD;;AAE7C;AACP,oBAAoB,4DAAa;AACjC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACRqD;;AAE9C;AACP,uBAAuB,kEAAc;AACrC,WAAW;AACX;;;;;;;;;;;;;;;;;;ACLA;AACA;;AAEA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB,kBAAkB,MAAM,WAAW,OAAO,qBAAqB,SAAS,iBAAiB,MAAM,IAAI;AACzI;;;;;;;;;;;;;;;;;;;ACtBmD;AACd;;AAErC;AACA,QAAQ,eAAe;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB,4BAA4B,gEAAa;;AAEzC;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iEAAe,OAAO,EAAC;;;;;;;;;;;;;;;;;;;ACzC4B;AACd;;AAErC;AACA,QAAQ,iBAAiB;AACzB;;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;AACO;AACP,gBAAgB,kDAAM;AACtB,4BAA4B,gEAAa;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,gEAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,SAAS,EAAC;;;;;;;;;;;;;;;;;;AC3Ec;;AAEvC;AACA,QAAQ,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,SAAS,oDAAO;AAChB;;AAEA;AACA,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;;;ACjCa;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,yBAAyB,kDAAM;;AAE/B;;AAEA;AACA;AACA;AACA,kBAAkB,kDAAM;;AAExB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxD9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,UAAU;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;;;;;;;;;;;;;;;;;ACvN8C;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;;AAEA,0CAA0C,8DAAmB;AAC7D,gBAAgB,8DAAmB;;AAEnC;;AAEA;AACA;;AAEA;AACA,iEAAe,aAAa,EAAC;;;;;;;;;;;;;;;;;;;;;ACjD+D;AAClC;AACP;AACN;;AAE7C;AACA,QAAQ,gCAAgC;AACxC;;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;AACA;AACA;AACO;AACP,qCAAqC,sEAAc;AACnD;AACA;AACA;AACA;;AAEA,0BAA0B,0DAAU;AACpC,4BAA4B,0DAAU;;AAEtC;AACA,uBAAuB,wGAA+B;AACtD;AACA,yBAAyB,wGAA+B;;AAExD;AACA;AACA;AACA,0DAA0D,4DAAiB;AAC3E;;AAEA;AACA,iEAAe,wBAAwB,EAAC;;;;;;;;;;;;;;;;;;;AC9DkB;AACe;;AAEzE;AACA,QAAQ,wBAAwB;AAChC;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,qCAAqC,sEAAc;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI,sFAAwB;AAC5B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B;AAC5B;AACA;;AAEA;AACA,iEAAe,gBAAgB,EAAC;;;;;;;;;;;;;;;;;;;AC3GgC;AACb;;AAEnD;AACA,QAAQ,yBAAyB;AACjC;;AAEA;AACA,QAAQ,yBAAyB;AACjC;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,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,UAAU,aAAa,EAAE,4EAAiB;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,eAAe,gEAAa;AAC5B;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iEAAe,iBAAiB,EAAC;;;;;;;;;;;;;;;;;;ACvEI;;AAErC;AACA,QAAQ,kBAAkB;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;;ACrCmC;AACxB;;AAErC;AACA,QAAQ,iBAAiB;AACzB;;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,+DAA+D,iBAAiB;AAChF;AACA;AACO;AACP,yBAAyB,yEAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,kDAAM;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,SAAS,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrD+B;AACK;AACJ;AACQ;AAK9B;AACI;AACF;;AAErC;AACA;AACsC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEgC;;AAEhC;AACA,QAAQ,cAAc;AACtB;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,WAAW;AAC5D;AACA,iDAAiD,WAAW;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oHAAoH;AACpH,gHAAgH;AAChH,0HAA0H;AAC1H,4HAA4H;AAC5H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,yBAAyB,yEAAiB;AAC1C,6DAA6D,uDAAa;;AAE1E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,kDAAM;;AAE7B,OAAO,oDAAO;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yEAAc;AAC5C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA,iBAAiB;AACjB;;AAEA,UAAU,iEAAU;AACpB,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,UAAU,iFAAwB;AAClC;AACA,UAAU,kFAAyB;AACnC;AACA,QAAQ,kFAAyB;AACjC;;AAEA,wBAAwB,iEAAU;AAClC;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iEAAe,MAAM,EAAC;;;;;;;;;;;;;;;;;;;;ACjbmD;AAC1B;AACV;;AAErC;AACA,QAAQ,oBAAoB;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB,eAAe,sFAAwB,QAAQ,4DAAW;AAC1D;AACA;AACA;;AAEA;AACA,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;;;;;AClCwB;AACC;AACQ;AACxB;;AAErC;AACA,QAAQ,kBAAkB;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB,gBAAgB,kEAAc,WAAW,0EAAkB;;AAE3D;AACA;AACA;AACA,2BAA2B,6DAAkB;AAC7C;;AAEA;AACA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;;;ACxCyB;AACE;AAChB;;AAErC;AACA,QAAQ,sBAAsB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;;AAEA,oCAAoC,gEAAa;AACjD;AACA;AACA,0BAA0B,kEAAc;;AAExC,oCAAoC,gEAAa;AACjD;AACA;AACA,0BAA0B,kEAAc;;AAExC;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;;;;ACpDsB;AACL;AACQ;AAClB;;AAErC;AACA,QAAQ,eAAe;AACvB;;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;AACA;AACA;AACA,IAAI;AACJ;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB,gBAAgB,4DAAW,oBAAoB,oEAAe;;AAE9D;AACA;AACA;AACA,2BAA2B,6DAAkB;AAC7C;;AAEA;AACA,iEAAe,OAAO,EAAC;;;;;;;;;;;;;;;;;;;;;ACtDsC;AACV;AACJ;AACV;;AAErC;AACA,QAAQ,mBAAmB;AAC3B;;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,wDAAwD,iBAAiB;AACzE;AACA;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;;AAEA,yBAAyB,yEAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA,8BAA8B,gEAAa;AAC3C;AACA;AACA,0BAA0B,4DAAW;;AAErC,8BAA8B,gEAAa;AAC3C;AACA;AACA,0BAA0B,4DAAW;;AAErC;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;AC3E3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,MAAM,EAAC;;;;;;;;;;;;;;;;;;ACzCe;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,UAAU,kDAAM,gBAAgB,kDAAM;AACtC;;AAEA;AACA,iEAAe,OAAO,EAAC;;;;;;;;;;;;;;;;;;;AC5BmC;AACb;;AAE7C;AACA,QAAQ,iBAAiB;AACzB;;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;AACO;AACP,kCAAkC,sEAAc;AAChD;AACA;AACA;AACA;AACA,UAAU,0DAAU,iBAAiB,0DAAU;AAC/C;;AAEA;AACA,iEAAe,SAAS,EAAC;;;;;;;;;;;;;;;;;;AC9CiC;;AAE1D;AACA,QAAQ,mBAAmB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,qCAAqC,sEAAc;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;;AC3C+B;AACX;;AAE/C;AACA,QAAQ,kBAAkB;AAC1B;;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,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,qCAAqC,sEAAc;AACnD;AACA;AACA;AACA;AACA;AACA,KAAK,4DAAW,2BAA2B,4DAAW;AACtD;AACA;;AAEA;AACA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;;ACnDW;AACA;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,aAAa,kDAAM,8CAA8C,kDAAM;AACvE;;AAEA;AACA,iEAAe,OAAO,EAAC;;;;;;;;;;;;;;;;;;ACvCc;;AAErC;AACA,QAAQ,wBAAwB;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA,KAAK,kDAAM;AACX,KAAK,kDAAM;AACX;;AAEA;AACA;;AAEA;AACA,iEAAe,gBAAgB,EAAC;;;;;;;;;;;;;;;;ACzDzB;AACP,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC7DO;AACP,8BAA8B;AAC9B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACxDO;AACP,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,aAAa;AACb;AACA;;;;;;;;;;;;;;;;;;;;;;ACnBgE;AACR;AACQ;AACZ;AACN;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,kBAAkB,wEAAc;AAChC,cAAc,gEAAU;AACxB,kBAAkB,wEAAc;AAChC,YAAY,4DAAQ;AACpB,SAAS,sDAAK;AACd;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,iEAAe,IAAI,EAAC;;;;;;;;;;;;;;;;AC5BpB;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;;AAEA;AACA;AACA,wBAAwB,QAAQ;AAChC,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,oBAAoB,QAAQ;AAC5B,GAAG;;AAEH;AACA;AACA,cAAc,QAAQ;AACtB,GAAG;;AAEH;AACA;AACA,mBAAmB,QAAQ;AAC3B,GAAG;;AAEH;AACA;AACA,qBAAqB,QAAQ;AAC7B,GAAG;AACH;;AAEO;AACP;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ,yCAAyC,OAAO;AAChD;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;ACpGoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO,OAAO,MAAM;AAC/B,WAAW,OAAO,OAAO,MAAM;AAC/B,aAAa,MAAM,IAAI,MAAM;AAC7B,YAAY,MAAM,IAAI,MAAM;AAC5B;;AAEO;AACP,QAAQ,4EAAiB;AACzB;AACA;AACA,GAAG;;AAEH,QAAQ,4EAAiB;AACzB;AACA;AACA,GAAG;;AAEH,YAAY,4EAAiB;AAC7B;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;;;;;;;;;;;;;;;;;ACVgE;;AAEhE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;;AAEA,OAAO,wEAAe;AACtB;AACA;AACA,GAAG;;AAEH,WAAW,wEAAe;AAC1B;AACA;AACA;AACA,GAAG;;AAEH,SAAS,wEAAe;AACxB;AACA;AACA,GAAG;;AAEH,OAAO,wEAAe;AACtB;AACA;AACA,GAAG;;AAEH,aAAa,wEAAe;AAC5B;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;AC1L0D;AACc;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEO;AACP,iBAAiB,gFAAmB;AACpC;AACA;AACA;AACA,GAAG;;AAEH,OAAO,kEAAY;AACnB;AACA;AACA;AACA;AACA,GAAG;;AAEH,WAAW,kEAAY;AACvB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,SAAS,kEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;;AAEH,OAAO,kEAAY;AACnB;AACA;AACA;AACA;AACA,GAAG;;AAEH,aAAa,kEAAY;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;ACnI6D;AACR;AACQ;AACZ;AACN;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,kBAAkB,qEAAc;AAChC,cAAc,6DAAU;AACxB,kBAAkB,qEAAc;AAChC,YAAY,yDAAQ;AACpB,SAAS,mDAAK;AACd;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,iEAAe,EAAE,EAAC;;;;;;;;;;;;;;;;AC5BlB;AACA;AACA;AACA;AACA;;AAE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AqC,QAAQ;AAC7C,KAAK;AACL,GAAG;AACH;;AAEO;AACP;AACA;;;;;;;;;;;;;;;;;ACrPoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,MAAM,IAAI,MAAM;AAC1B;;AAEO;AACP,QAAQ,4EAAiB;AACzB;AACA;AACA,GAAG;;AAEH,QAAQ,4EAAiB;AACzB;AACA;AACA,GAAG;;AAEH,YAAY,4EAAiB;AAC7B;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;ACnCoD;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,0DAAU;AAClB;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,QAAQ,0DAAU;AAClB;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;;AAEO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;ACvFgE;;AAEhE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEO;AACP;;AAEA,OAAO,wEAAe;AACtB;AACA;AACA,GAAG;;AAEH,WAAW,wEAAe;AAC1B;AACA;AACA;AACA,GAAG;;AAEH,SAAS,wEAAe;AACxB;AACA;AACA;AACA;AACA,GAAG;;AAEH,OAAO,wEAAe;AACtB;AACA;AACA,GAAG;;AAEH,aAAa,wEAAe;AAC5B;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;ACjN0D;AACc;;AAExE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEO;AACP,iBAAiB,gFAAmB;AACpC;AACA;AACA;AACA,GAAG;;AAEH,OAAO,kEAAY;AACnB;AACA;AACA;AACA;AACA,GAAG;;AAEH,WAAW,kEAAY;AACvB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,SAAS,kEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;;AAEH,OAAO,kEAAY;AACnB;AACA;AACA;AACA;AACA,GAAG;;AAEH,aAAa,kEAAY;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;ACzImD;AACd;;AAErC;AACA,QAAQ,WAAW;AACnB;;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;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,4DAAa;;AAE7B,kBAAkB,kDAAM;AACxB;AACA,GAAG;;AAEH,SAAS,gEAAa;AACtB;;AAEA;AACA,iEAAe,GAAG,EAAC;;;;;;;;;;;;;;;;;;;ACjDgC;AACd;;AAErC;AACA,QAAQ,WAAW;AACnB;;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;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,4DAAa;;AAE7B,kBAAkB,kDAAM;AACxB;AACA,GAAG;;AAEH,SAAS,gEAAa;AACtB;;AAEA;AACA,iEAAe,GAAG,EAAC;;;;;;;;;;;;;;;;;;ACjDkB;;AAErC;AACA,QAAQ,kBAAkB;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA;AACA;;AAEA;AACA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;ACnCqB;;AAE/C;AACA,QAAQ,sBAAsB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,SAAS,4DAAW,SAAS,6BAA6B;AAC1D;;AAEA;AACA,iEAAe,cAAc,EAAC;;;;;;;;;;;;;;;;;;;;ACnCqB;AACE;AACA;;AAErD;AACA,QAAQ,0BAA0B;AAClC;;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;AACO;AACP,eAAe,kEAAc;AAC7B,0BAA0B,gEAAa;AACvC;AACA;AACA,SAAS,kEAAc;AACvB;;AAEA;AACA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;AC1CG;;AAErC;AACA,QAAQ,oBAAoB;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA;AACA;AACA;;AAEA;AACA,iEAAe,YAAY,EAAC;;;;;;;;;;;;;;;;;;;ACrCiC;AACxB;;AAErC;AACA,QAAQ,mBAAmB;AAC3B;;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,iEAAiE,iBAAiB;AAClF;AACA;AACO;AACP,yBAAyB,yEAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,kDAAM;AACtB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;;;;ACrDkC;AACV;AACJ;AACA;;AAE/C;AACA,QAAQ,uBAAuB;AAC/B;;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;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACO;AACP,yBAAyB,yEAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,4DAAW;AAC1B,oBAAoB,gEAAa;AACjC;AACA;AACA,gBAAgB,4DAAW;AAC3B;AACA;;AAEA;AACA,iEAAe,eAAe,EAAC;;;;;;;;;;;;;;;;;;AChEM;;AAErC;AACA,QAAQ,mBAAmB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,gBAAgB,kDAAM;AACtB;AACA;AACA;AACA;;AAEA;AACA,iEAAe,WAAW,EAAC;;;;;;;;;;;;;;;;;;ACpCgB;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,SAAS,wDAAS;AAClB;;AAEA;AACA,iEAAe,SAAS,EAAC;;;;;;;;;;;;;;;;;;ACjC0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,SAAS,gEAAa;AACtB;;AAEA;AACA,iEAAe,MAAM,EAAC;;;;;;;;;;;;;;;;;;;AC9C+B;AACf;AACX;;AAE3B,6CAA6C,6DAAe;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAEgD;;;;;;;;;;;;;;;;;;;ACrDA;AACf;AACX;;AAE3B,qCAAqC,cAAc;AACnD,mCAAmC,6DAAe;AAClD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK,mBAAmB,6DAAe;;AAEI;;;;;;;;;;;;;;;;;;ACpCC;AACN;;AAEtC;AACA;;AAEA,oCAAoC,cAAc;AAClD,8BAA8B,wDAAW;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAEiC;;;;;;;;;;;;;;;;ACnFtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEmC;;;;;;;;;;;;;;;;;;;;;;;;;ACnCU;AACS;AACS;AACnB;AACoB;AACoB;AAC9C;AACQ;AACd;;AAEhC,wEAAwE,cAAc;AACtF;AACA;AACA;AACA;;AAEA,gBAAgB,cAAc;;AAE9B;AACA,4BAA4B,wDAAW,0FAA0F,6EAA8B,WAAW,mEAAoB;AAC9L,kBAAkB,8DAAU;AAC5B;AACA;AACA;AACA;AACA,uBAAuB,yDAAY;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uDAAK,wCAAwC,+DAAW;AAClF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,mCAAmC,uDAAK,iBAAiB,8DAAU;AACnE;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+HAA+H;AAC/H;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,wDAAwD,cAAc;AACtE;AACA;AACA;AACA;AACA,MAAM,QAAQ;;AAEd;AACA;AACA;AACA,yDAAyD;;AAEzD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6FAA6F,qDAAS;AACtG;;AAEA;AACA;AACA,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,kGAAkG,qDAAS;AAC3G;AACA,4BAA4B,qDAAS,0DAA0D,qDAAS;AACxG;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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,uDAAK;;AAE2B;;;;;;;;;;;;;;;;;AC7VM;;AAEtC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uDAAK;;AAE6B;;;;;;;;;;;;;;;;;AChDK;;AAEvC;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uHAAuH;AACvH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD,gDAAS;;AAElE;AACA;AACA;AACA,wDAAwD,gDAAS,SAAS,gDAAS;AACnF;AACA;;AAEoC;;;;;;;;;;;;;;;;;AC5EJ;;AAEhC;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAK;;AAE+B;;;;;;;;;;;;;;;;AC9CpC;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE4C;;;;;;;;;;;;;;;;ACtD5C;AACA;AACA;AACA;AACA;;AAE4B;;;;;;;;;;;;;;;;;;;;;;ACN5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC,gBAAgB,iBAAiB;AACjC;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;;AAE6F;;;;;;;;;;;;;;;;;;;;;;;;;;ACjFhE;AACQ;AACZ;AACS;AACL;AACO;AACW;AACN;AACgB;AACpB;;;;AAIT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACb+B;AACtB;AACuE;AACpB;AACX;AACT;AACA;AACR;AACP;AACI;AACM;AACN;AACkB;AACV;AACJ;AACE;AACuB;AACG;AACA;AAC1B;AACJ;AACE;AACD;AAC1B;AACG;AACM;AACP;;AAEpC;AACA,qBAAqB,uDAAK;AAC1B,EAAE;;AAE0B;;;;;;;;;;;;;;;;;;;;AChC0B;AACiB;AACgB;AACjD;;AAEtC;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wEAAqB;AACpC;;AAEA;AACA;AACA,QAAQ,wDAAQ,mBAAmB,wEAAqB;AACxD;AACA;;AAEA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA,eAAe,+DAAa;AAC5B;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,gCAAgC;AAC1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,gCAAgC;AAC1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,+DAAa;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,+DAAa;AAC5B;;AAEA;AACA;AACA,eAAe,+DAAa;AAC5B;;AAEA;AACA;AACA,SAAS,wDAAQ;AACjB,sBAAsB,wDAAQ,aAAa,wEAAqB;AAChE;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+DAAa;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAa;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,+DAAa;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qDAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8DAAc;AACtC;AACA;AACA,OAAO;AACP;AACA;AACA,wBAAwB,+DAAa;;AAErC;AACA,4BAA4B,qDAAS;AACrC,oGAAoG,qDAAS;;AAE7G;AACA;AACA;AACA;AACA,2CAA2C,qDAAS;AACpD,8BAA8B,qDAAS;AACvC;AACA;AACA,gCAAgC,+DAAa;AAC7C;AACA,WAAW;AACX;AACA,QAAQ,6BAA6B,qDAAS;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,8DAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+DAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAEwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACraY;AACJ;AACC;AACM;AACT;AAChB;AACyB;AACtB;AACmB;AACZ;AACU;AACA;AAClB;;AAErB,0BAA0B,EAAE,GAAG,EAAE;;AAEjC;;AAEA;AACA,yBAAyB,mDAAa;AACtC;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,YAAY,wDAAQ;AACpB;AACA;;AAEA,0CAA0C,yBAAyB;;AAEnE;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,wDAAQ;AACpB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;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,UAAU,iDAAW;AACrB;AACA;AACA;AACA,GAAG;AACH;AACA,UAAU,iDAAW;AACrB;AACA;AACA;AACA,GAAG;AACH;AACA,UAAU,iDAAW;AACrB;AACA;AACA;AACA,CAAC;AACD;AACA,KAAK,mDAAa;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAE4B;;;;;;;;;;;;;;;;;;;;;;ACnJ4B;AACP;AACG;AAC1B;AACO;AACM;;AAE5C;AACA,4BAA4B,gDAAM;AAClC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE,0DAAa;AACzB,uBAAuB,uDAAU;AACjC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;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,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,aAAa,8DAAc;AAC3B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B,aAAa,cAAc;AAC3B;AACA,KAAK,gDAAM;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA,yGAAyG,qDAAS;AAClH;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uHAAuH,qDAAS;AAChI;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAE+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpVK;AACH;AACgB;AACT;AAC0B;AACpD;AACG;AACmB;AACZ;AACU;AACA;AAClB;;AAErB;AACA,yBAAyB,mDAAa;AACtC;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,qDAAS;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+DAAa;AAC5B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wEAAqB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,+DAAa;AACnD,wDAAwD,qDAAS;AACjE;AACA,wBAAwB,UAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,mDAAa;AAClB;AACA;AACA,uDAAK;;AAE4B;;;;;;;;;;;;;;;;;;;;ACvG2B;AACtB;;AAEtC;AACA;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,qCAAqC,uDAAK;AAC1C,MAAM,wDAAQ,eAAe,uDAAK;AAClC,4BAA4B,uDAAK;AACjC,8BAA8B,uDAAK;AACnC,oDAAoD,uDAAK;AACzD,MAAM,uDAAK,qCAAqC,uDAAK;AACrD,MAAM,uDAAK,2BAA2B,uDAAK;AAC3C,uCAAuC,uDAAK;AAC5C,iDAAiD;AACjD,SAAS,uDAAK;AACd;AACA;AACA;AACA,MAAM,uDAAK;AACX,kCAAkC,uDAAK;AACvC;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,MAAM,kBAAkB,uDAAK;AAC7B;AACA,MAAM,EAAE,wDAAQ,+BAA+B,uDAAK;AACpD;AACA;AACA;AACA,WAAW,oDAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,wDAAQ;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,cAAc;AAC/B;AACA,MAAM,uDAAK,2BAA2B,uDAAK;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAEwD;;;;;;;;;;;;;;;;;;;;;ACxH9B;AACO;AACH;AACS;AAClB;;AAE1B;AACA,6BAA6B,gDAAM;AACnC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uDAAK;;AAEgC;;;;;;;;;;;;;;;;;;;;;AC9BsB;AACL;AACvB;AACO;AACM;;AAE5C;AACA;AACA,2BAA2B,gDAAM;AACjC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,4DAAY,oBAAoB,qBAAqB;AACzF;AACA,kEAAkE,wDAAY;AAC9E,gDAAgD,4DAAY;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,EAAE;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACpE,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,+DAAa;AACvC,MAAM;AACN,0BAA0B,+DAAa;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,+DAAa;AAC5B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB;AACA;AACA;AACA;AACA,iHAAiH,qDAAS;AAC1H;AACA;AACA;AACA;AACA;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,gDAAM;AACtC;AACA,KAAK,gDAAM;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,uDAAK;;AAE8B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzTmB;AAChB;AACO;AACd;AAC0B;AACO;AAChB;AACmB;AACA;AAC9C;AACuB;;AAE5C;AACA,4BAA4B,gDAAM;AAClC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,EAAE,oEAAsB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oBAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,0DAAa,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,uDAAK,qCAAqC,uDAAU;AACvG;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oEAAsB;AACtD;AACA;AACA;AACA;AACA;AACA,WAAW,0DAAa;AACxB;AACA,OAAO,QAAQ,oEAAsB;AACrC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;;AAEA;AACA;AACA,mCAAmC,0BAA0B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA,0CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,sEAAiB;AAC3C;AACA;AACA;AACA;AACA;AACA,gCAAgC,sEAAiB;AACjD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,wBAAwB;AACvE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,kBAAkB,qDAAS;AAC3B;AACA;AACA,uBAAuB,0DAAa;AACpC,sBAAsB,qDAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,qDAAS,uBAAuB,qDAAS;AAC/D;AACA,wBAAwB,qDAAS;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB,qDAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qDAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,qDAAS,wBAAwB,qDAAS;AAChE;AACA;AACA;AACA;AACA,wBAAwB,qDAAS;;AAEjC;AACA;AACA;AACA;AACA;AACA,6CAA6C,qDAAS;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA,KAAK,gDAAM;AACX;AACA;AACA;AACA;AACA;AACA,gCAAgC,oEAAsB;AACtD,gCAAgC,oEAAsB;AACtD,uDAAK;;AAE+B;;;;;;;;;;;;;;;;;;;;AC/cqB;AACV;AAC2B;AACjC;;AAEzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wDAAQ,kBAAkB,wEAAqB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wEAAqB;AAClD;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uDAAK;AACjC,uBAAuB,wEAAqB;AAC5C;AACA;AACA,wBAAwB,+DAAa;AACrC,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,uEAAuE,wEAAqB;AAC5F;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEwC;;;;;;;;;;;;;;;;;AC7JQ;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yCAAyC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,qDAAS;AACrE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,qDAAS;AACrE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4DAA4D,qDAAS;AACrE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,4DAA4D,qDAAS;AACrE;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,4DAA4D,qDAAS;AACrE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,4DAA4D,qDAAS;AACrE;AACA,KAAK;AACL;AACA;;AAEoC;;;;;;;;;;;;;;;;;;;;AClIqB;AACC;AACgB;AAC5C;;AAE9B;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;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;AACA;AACA,eAAe,+DAAa;AAC5B;AACA;AACA;AACA,kBAAkB,qDAAS;AAC3B;AACA;AACA;AACA;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB,WAAW,qDAAS;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,kCAAkC,+DAAa;AAC/C;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA,eAAe,wEAAqB;AACpC;AACA;AACA,QAAQ,wDAAQ,mBAAmB,wEAAqB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE6C;;;;;;;;;;;;;;;;;;;;ACvJN;AACkB;AACT;AAClB;;AAE9B;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kBAAkB,uDAAU;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+DAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+DAAa;AAC/C;AACA;AACA;AACA;AACA,oBAAoB,+DAAa;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,+DAAa;AAClE;AACA,eAAe,+DAAa;AAC5B;AACA,KAAK;AACL;AACA;AACA,eAAe,+DAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qDAAS;AAC3B;AACA;AACA;AACA;AACA;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB;AACA,WAAW,qDAAS;AACpB,WAAW,qDAAS;AACpB;AACA,WAAW,qDAAS;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;AACA,eAAe,+DAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE6C;;;;;;;;;;;;;;;;;;;;;AC1LP;AACA;AACZ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uDAAU;AAC3B;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,uDAAK;AACL,uDAAK;AACL,uDAAK;;AAEkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCe;AAChB;AACG;AACf;AACP;AACyB;AACtB;AACmB;AACZ;AACU;AACA;AAClB;;AAErB;AACA,0BAA0B,mDAAa;AACvC;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAE6B;;;;;;;;;;;;;;;;;;;;;ACvHH;AACO;AACH;AACS;AAClB;;AAE1B;AACA,2BAA2B,gDAAM;AACjC;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAE8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BmB;AAChB;AACmB;AAChB;AACf;AACP;AACyB;AACH;AACZ;AACU;AACA;AAClB;;AAErB;AACA,0BAA0B,mDAAa;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,EAAE,0DAAa,QAAQ;AAC7B,sCAAsC;AACtC,kBAAkB,uDAAU;AAC5B,uIAAuI;;AAEvI;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,wBAAwB,uDAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,+DAAa;AACrC;AACA;AACA;AACA,kIAAkI;AAClI;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,+BAA+B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAK;;AAE6B;;;;;;;;;;;;;;;;;;ACxIE;AAC6B;;AAEjE;AACA;AACA;AACA;AACA,UAAU,6CAAM;AAChB;AACA;AACA;AACA,IAAI,wBAAwB;AAC5B,kBAAkB,6CAAM;AACxB,gDAAgD,+CAAQ,GAAG;AAC3D,4BAA4B,+CAAQ;AACpC,4CAA4C,+CAAQ;AACpD,sCAAsC,+CAAQ;AAC9C,uBAAuB,kDAAW;AAClC;AACA;AACA;AACA,GAAG;AACH,kCAAkC,kDAAW;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,oBAAoB,kDAAW;AAC/B;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,kDAAW;AACjC,EAAE,gDAAS;AACX;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA;AACA,0BAA0B,2DAAK;AAC/B;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,gDAAgD;AAChD;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE+B;;;;;;;;;;;;;;;;;;;;;;;;;ACvHZ;AACgC;AACA;AACH;AACG;AACpC;AACK;;;;;;;;;;;;;;;;;;;ACNM;AACU;AAChB;AACK;;AAEzB,wBAAwB,qDAAU;AAClC;AACA;AACA;AACA,IAAI;AACJ,SAAS,gDAAmB;AAC5B;AACA;AACA,GAAG;AACH,CAAC;AACD,qCAAqC,gDAAmB;AACxD;AACA;AACA,CAAC;AACD;AACA,mBAAmB,6CAAgB;;AAEF;;;;;;;;;;;;;;;;;;;ACtBP;AACS;AACC;;AAEpC;AACA;AACA,QAAQ,iDAAmB,EAAE,6CAAe,EAAE,4CAAc,EAAE,8CAAgB,EAAE,kDAAoB,UAAU,6CAAe,gBAAgB,uDAAK,WAAW,kDAAoB,CAAC,uDAAK;AACvL,SAAS,2CAAa;AACtB,UAAU,iDAAmB,EAAE,4CAAc,EAAE,6CAAe;AAC9D,WAAW,4CAAc;AACzB,eAAe,4CAAc;AAC7B,YAAY,4CAAc;AAC1B,UAAU,4CAAc;AACxB,aAAa,iDAAmB,EAAE,4CAAc,EAAE,6CAAe;AACjE,SAAS,iDAAmB,EAAE,4CAAc,EAAE,6CAAe;AAC7D,eAAe,4CAAc;AAC7B;AACA,YAAY,4CAAc;AAC1B,cAAc,4CAAc;AAC5B;AACA,mBAAmB,8CAAgB;AACnC,eAAe,8CAAgB;AAC/B,QAAQ,4CAAc;AACtB,eAAe,8CAAgB;AAC/B,UAAU,8CAAgB;AAC1B;AACA,QAAQ,+CAAiB,CAAC,8CAAgB;AAC1C;AACA,aAAa,8CAAgB;AAC7B,QAAQ,8CAAgB;AACxB,MAAM,8CAAgB;AACtB;AACA,WAAW,8CAAgB;AAC3B,UAAU,4CAAc;AACxB,SAAS,4CAAc;AACvB,WAAW,iDAAmB,EAAE,4CAAc,EAAE,6CAAe;AAC/D;AACA,SAAS,8CAAgB;AACzB,sBAAsB,8CAAgB;AACtC,cAAc,+CAAiB,CAAC,8CAAgB;AAChD,SAAS,8CAAgB;AACzB,kBAAkB,4CAAc;AAChC,sBAAsB,4CAAc;AACpC,OAAO,iDAAmB,EAAE,8CAAgB,EAAE,kDAAoB;AAClE,OAAO,iDAAmB,EAAE,8CAAgB,EAAE,kDAAoB;AAClE;AACA,YAAY,4CAAc;AAC1B;AACA,YAAY,iDAAmB,EAAE,4CAAc,EAAE,6CAAe;AAChE,aAAa,8CAAgB;AAC7B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,4CAAe;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,2MAA2M;AAC3M;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mHAAmH;AACnH;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2DAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,+DAA+D;AACxI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gDAAmB;AAChC;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,6CAAgB,iBAAiB,gDAAmB;AAC7D;AACA;AACA,GAAG;AACH;;AAEiC;;;;;;;UCjKjC;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNoB;AACG;AACA;AACF","sources":["webpack://indicator-ui/webpack/universalModuleDefinition","webpack://indicator-ui/./src/assets/icons/alert-circle.svg","webpack://indicator-ui/./src/assets/icons/alert-square.svg","webpack://indicator-ui/./src/assets/icons/alert-triangle.svg","webpack://indicator-ui/./src/assets/icons/arrow-circle-up-left.svg","webpack://indicator-ui/./src/assets/icons/arrow-left.svg","webpack://indicator-ui/./src/assets/icons/arrow-narrow-left.svg","webpack://indicator-ui/./src/assets/icons/arrow-narrow-right.svg","webpack://indicator-ui/./src/assets/icons/arrow-right.svg","webpack://indicator-ui/./src/assets/icons/arrow-square-up-right.svg","webpack://indicator-ui/./src/assets/icons/bank-note-01.svg","webpack://indicator-ui/./src/assets/icons/bar-chart-07.svg","webpack://indicator-ui/./src/assets/icons/bar-chart-10.svg","webpack://indicator-ui/./src/assets/icons/book-closed.svg","webpack://indicator-ui/./src/assets/icons/book-open-01.svg","webpack://indicator-ui/./src/assets/icons/bookmark-add.svg","webpack://indicator-ui/./src/assets/icons/briefcase-02.svg","webpack://indicator-ui/./src/assets/icons/building-07.svg","webpack://indicator-ui/./src/assets/icons/calendar-check-01.svg","webpack://indicator-ui/./src/assets/icons/calendar-plus-02.svg","webpack://indicator-ui/./src/assets/icons/calendar.svg","webpack://indicator-ui/./src/assets/icons/check-verified-02.svg","webpack://indicator-ui/./src/assets/icons/check.svg","webpack://indicator-ui/./src/assets/icons/chevron-down.svg","webpack://indicator-ui/./src/assets/icons/chevron-left.svg","webpack://indicator-ui/./src/assets/icons/chevron-right.svg","webpack://indicator-ui/./src/assets/icons/chevron-up.svg","webpack://indicator-ui/./src/assets/icons/circle.svg","webpack://indicator-ui/./src/assets/icons/clock-check.svg","webpack://indicator-ui/./src/assets/icons/clock.svg","webpack://indicator-ui/./src/assets/icons/copy-06.svg","webpack://indicator-ui/./src/assets/icons/dataflow-01.svg","webpack://indicator-ui/./src/assets/icons/dots-grid.svg","webpack://indicator-ui/./src/assets/icons/download_01.svg","webpack://indicator-ui/./src/assets/icons/eye.svg","webpack://indicator-ui/./src/assets/icons/face-smile.svg","webpack://indicator-ui/./src/assets/icons/file-04.svg","webpack://indicator-ui/./src/assets/icons/file-06.svg","webpack://indicator-ui/./src/assets/icons/file-attachment-04.svg","webpack://indicator-ui/./src/assets/icons/help-circle.svg","webpack://indicator-ui/./src/assets/icons/image-02.svg","webpack://indicator-ui/./src/assets/icons/layout-alt-01.svg","webpack://indicator-ui/./src/assets/icons/layout-alt-03.svg","webpack://indicator-ui/./src/assets/icons/layout-calendar.svg","webpack://indicator-ui/./src/assets/icons/layout-grid-02.svg","webpack://indicator-ui/./src/assets/icons/layout-left.svg","webpack://indicator-ui/./src/assets/icons/link-01.svg","webpack://indicator-ui/./src/assets/icons/lock-01.svg","webpack://indicator-ui/./src/assets/icons/log-in-01.svg","webpack://indicator-ui/./src/assets/icons/log-out-01.svg","webpack://indicator-ui/./src/assets/icons/marker-pin-02.svg","webpack://indicator-ui/./src/assets/icons/message-notification-circle.svg","webpack://indicator-ui/./src/assets/icons/message-square-02.svg","webpack://indicator-ui/./src/assets/icons/message-text-square-01.svg","webpack://indicator-ui/./src/assets/icons/message-text-square-02.svg","webpack://indicator-ui/./src/assets/icons/minus.svg","webpack://indicator-ui/./src/assets/icons/music-note-01.svg","webpack://indicator-ui/./src/assets/icons/package.svg","webpack://indicator-ui/./src/assets/icons/pause-circle.svg","webpack://indicator-ui/./src/assets/icons/pencil-01.svg","webpack://indicator-ui/./src/assets/icons/play-button.svg","webpack://indicator-ui/./src/assets/icons/play.svg","webpack://indicator-ui/./src/assets/icons/plus.svg","webpack://indicator-ui/./src/assets/icons/rows-03.svg","webpack://indicator-ui/./src/assets/icons/rss-01.svg","webpack://indicator-ui/./src/assets/icons/save-01.svg","webpack://indicator-ui/./src/assets/icons/search-lg.svg","webpack://indicator-ui/./src/assets/icons/search-md.svg","webpack://indicator-ui/./src/assets/icons/search-sm.svg","webpack://indicator-ui/./src/assets/icons/settings-01.svg","webpack://indicator-ui/./src/assets/icons/settings-04.svg","webpack://indicator-ui/./src/assets/icons/share-arrow.svg","webpack://indicator-ui/./src/assets/icons/slash-octagon.svg","webpack://indicator-ui/./src/assets/icons/support.svg","webpack://indicator-ui/./src/assets/icons/switch-horizontal-02.svg","webpack://indicator-ui/./src/assets/icons/thumbs-up.svg","webpack://indicator-ui/./src/assets/icons/trash-01.svg","webpack://indicator-ui/./src/assets/icons/trash-03.svg","webpack://indicator-ui/./src/assets/icons/type-02.svg","webpack://indicator-ui/./src/assets/icons/upload-01.svg","webpack://indicator-ui/./src/assets/icons/user-01.svg","webpack://indicator-ui/./src/assets/icons/user-edit.svg","webpack://indicator-ui/./src/assets/icons/users-01.svg","webpack://indicator-ui/./src/assets/icons/users-02.svg","webpack://indicator-ui/./src/assets/icons/verified.svg","webpack://indicator-ui/./src/assets/icons/volume-max.svg","webpack://indicator-ui/./src/assets/icons/volume-x.svg","webpack://indicator-ui/./src/assets/icons/wallet-03.svg","webpack://indicator-ui/./src/assets/icons/x-close.svg","webpack://indicator-ui/./src/ui/Buttons/styles/Buttons.module.scss?5ccd","webpack://indicator-ui/./src/ui/DatePicker/styles/CalendarDay.module.scss?b05b","webpack://indicator-ui/./src/ui/DatePicker/styles/DateGrid.module.scss?3fac","webpack://indicator-ui/./src/ui/DatePicker/styles/DatePicker.module.scss?7f5a","webpack://indicator-ui/./src/ui/DatePicker/styles/DatePickerFooter.module.scss?1504","webpack://indicator-ui/./src/ui/DatePicker/styles/DatePickerHeader.module.scss?290a","webpack://indicator-ui/./src/ui/DatePicker/styles/DatePickerMain.module.scss?e451","webpack://indicator-ui/./src/ui/InputFields/FlexField/styles/FlexField.module.scss?52b0","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/styles/InputFieldWrapper.module.scss?eb51","webpack://indicator-ui/./src/ui/InputFields/InputField/styles/InputField.module.scss?d01e","webpack://indicator-ui/./src/ui/InputFields/RadioField/styles/RadioField.module.scss?224e","webpack://indicator-ui/./src/ui/InputFields/SelectField/styles/SelectField.module.scss?675d","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/styles/SwitcherField.module.scss?ca61","webpack://indicator-ui/./src/ui/InputFields/TextareaField/styles/TextareaField.module.scss?aef2","webpack://indicator-ui/./src/ui/MicroButton/styles/MicroButton.module.scss?e281","webpack://indicator-ui/./node_modules/object-assign/index.js","webpack://indicator-ui/./node_modules/prop-types/checkPropTypes.js","webpack://indicator-ui/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://indicator-ui/./node_modules/prop-types/index.js","webpack://indicator-ui/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://indicator-ui/./node_modules/prop-types/lib/has.js","webpack://indicator-ui/./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","webpack://indicator-ui/./node_modules/prop-types/node_modules/react-is/index.js","webpack://indicator-ui/./node_modules/react/cjs/react-jsx-runtime.development.js","webpack://indicator-ui/./node_modules/react/jsx-runtime.js","webpack://indicator-ui/./src/assets/icons/index.ts","webpack://indicator-ui/./src/assets/index.ts","webpack://indicator-ui/./src/hooks/index.ts","webpack://indicator-ui/./src/hooks/useFormData.ts","webpack://indicator-ui/./src/hooks/useIsErrorField.ts","webpack://indicator-ui/./src/lib/array/getUniqueArray.ts","webpack://indicator-ui/./src/lib/array/index.ts","webpack://indicator-ui/./src/lib/array/isArray.ts","webpack://indicator-ui/./src/lib/array/isEqualArrays.ts","webpack://indicator-ui/./src/lib/dict/getDeepValue.ts","webpack://indicator-ui/./src/lib/dict/index.ts","webpack://indicator-ui/./src/lib/dict/isDict.ts","webpack://indicator-ui/./src/lib/dict/setDeepValue.ts","webpack://indicator-ui/./src/lib/index.ts","webpack://indicator-ui/./src/lib/reactComponents/handleScrollEnd.ts","webpack://indicator-ui/./src/lib/reactComponents/index.ts","webpack://indicator-ui/./src/lib/reactComponents/isCustomComponent.ts","webpack://indicator-ui/./src/types/DictDeepActionsTypes.ts","webpack://indicator-ui/./src/types/HelperType.ts","webpack://indicator-ui/./src/types/index.ts","webpack://indicator-ui/./src/ui/Buttons/index.ts","webpack://indicator-ui/./src/ui/Buttons/styles/index.ts","webpack://indicator-ui/./src/ui/Buttons/types/ButtonTypes.ts","webpack://indicator-ui/./src/ui/Buttons/types/index.ts","webpack://indicator-ui/./src/ui/Buttons/ui/Button.tsx","webpack://indicator-ui/./src/ui/Buttons/ui/index.ts","webpack://indicator-ui/./src/ui/DatePicker/const/index.ts","webpack://indicator-ui/./src/ui/DatePicker/index.ts","webpack://indicator-ui/./src/ui/DatePicker/lib/index.ts","webpack://indicator-ui/./src/ui/DatePicker/styles/index.ts","webpack://indicator-ui/./src/ui/DatePicker/types/CalendarDayTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/DateGridTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/DatePickerFooterTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/DatePickerHeaderTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/DatePickerMainTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/DatePickerTypes.ts","webpack://indicator-ui/./src/ui/DatePicker/types/index.ts","webpack://indicator-ui/./src/ui/DatePicker/ui/CalendarDay.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/DateGrid.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/DatePicker.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/DatePickerFooter.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/DatePickerHeader.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/DatePickerMain.tsx","webpack://indicator-ui/./src/ui/DatePicker/ui/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/consts/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/lib/arrayFieldComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/blockComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/blockWrapperComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/customFieldWrapperComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/formBuilder.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/formWrapperComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/lib/inputFieldComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/lib/reactNodeComponent.tsx","webpack://indicator-ui/./src/ui/FormBuilder/schemes/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/types/FormBuilderTypes.ts","webpack://indicator-ui/./src/ui/FormBuilder/types/index.ts","webpack://indicator-ui/./src/ui/FormBuilder/ui/FormBuilder.tsx","webpack://indicator-ui/./src/ui/FormBuilder/ui/index.ts","webpack://indicator-ui/./src/ui/InputFields/FlexField/index.ts","webpack://indicator-ui/./src/ui/InputFields/FlexField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/FlexField/types/FlexFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/FlexField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/FlexField/ui/FlexField.tsx","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/types/InputFieldWrapperTypes.ts","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputFieldWrapper/ui/InputFieldWrapper.tsx","webpack://indicator-ui/./src/ui/InputFields/InputField/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputField/types/InputFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/InputField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/InputField/ui/InputField.tsx","webpack://indicator-ui/./src/ui/InputFields/RadioField/index.ts","webpack://indicator-ui/./src/ui/InputFields/RadioField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/RadioField/types/RadioFieldItemTypes.ts","webpack://indicator-ui/./src/ui/InputFields/RadioField/types/RadioFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/RadioField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/RadioField/ui/RadioField.tsx","webpack://indicator-ui/./src/ui/InputFields/RadioField/ui/RadioFieldItem.tsx","webpack://indicator-ui/./src/ui/InputFields/SelectField/config/ScrollConfig.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/config/index.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/index.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/lib/getStringValue.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/lib/index.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/lib/isActiveOption.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/types/SelectFieldOptionsItemTypes.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/types/SelectFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/types/SelectModalWindowTypes.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/SelectField/ui/SelectField.tsx","webpack://indicator-ui/./src/ui/InputFields/SelectField/ui/SelectFieldOptionsItem.tsx","webpack://indicator-ui/./src/ui/InputFields/SelectField/ui/SelectModalWindow.tsx","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/index.ts","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/types/SwitcherFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/SwitcherField/ui/SwitcherField.tsx","webpack://indicator-ui/./src/ui/InputFields/TextareaField/index.ts","webpack://indicator-ui/./src/ui/InputFields/TextareaField/styles/index.ts","webpack://indicator-ui/./src/ui/InputFields/TextareaField/types/TextareaFieldTypes.ts","webpack://indicator-ui/./src/ui/InputFields/TextareaField/types/index.ts","webpack://indicator-ui/./src/ui/InputFields/TextareaField/ui/TextareaField.tsx","webpack://indicator-ui/./src/ui/InputFields/index.ts","webpack://indicator-ui/./src/ui/MicroButton/index.ts","webpack://indicator-ui/./src/ui/MicroButton/styles/index.ts","webpack://indicator-ui/./src/ui/MicroButton/types/MicroButtonTypes.ts","webpack://indicator-ui/./src/ui/MicroButton/types/index.ts","webpack://indicator-ui/./src/ui/MicroButton/ui/MicroButton.tsx","webpack://indicator-ui/./src/ui/MicroButton/ui/index.ts","webpack://indicator-ui/./src/ui/index.ts","webpack://indicator-ui/external umd {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\",\"root\":\"React\"}","webpack://indicator-ui/./node_modules/clsx/dist/clsx.mjs","webpack://indicator-ui/./node_modules/date-fns/_lib/addLeadingZeros.js","webpack://indicator-ui/./node_modules/date-fns/_lib/defaultOptions.js","webpack://indicator-ui/./node_modules/date-fns/_lib/format/formatters.js","webpack://indicator-ui/./node_modules/date-fns/_lib/format/lightFormatters.js","webpack://indicator-ui/./node_modules/date-fns/_lib/format/longFormatters.js","webpack://indicator-ui/./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js","webpack://indicator-ui/./node_modules/date-fns/_lib/normalizeDates.js","webpack://indicator-ui/./node_modules/date-fns/_lib/normalizeInterval.js","webpack://indicator-ui/./node_modules/date-fns/_lib/protectedTokens.js","webpack://indicator-ui/./node_modules/date-fns/addDays.js","webpack://indicator-ui/./node_modules/date-fns/addMonths.js","webpack://indicator-ui/./node_modules/date-fns/addWeeks.js","webpack://indicator-ui/./node_modules/date-fns/closestIndexTo.js","webpack://indicator-ui/./node_modules/date-fns/constants.js","webpack://indicator-ui/./node_modules/date-fns/constructFrom.js","webpack://indicator-ui/./node_modules/date-fns/differenceInCalendarDays.js","webpack://indicator-ui/./node_modules/date-fns/differenceInDays.js","webpack://indicator-ui/./node_modules/date-fns/eachDayOfInterval.js","webpack://indicator-ui/./node_modules/date-fns/endOfMonth.js","webpack://indicator-ui/./node_modules/date-fns/endOfWeek.js","webpack://indicator-ui/./node_modules/date-fns/format.js","webpack://indicator-ui/./node_modules/date-fns/getDayOfYear.js","webpack://indicator-ui/./node_modules/date-fns/getISOWeek.js","webpack://indicator-ui/./node_modules/date-fns/getISOWeekYear.js","webpack://indicator-ui/./node_modules/date-fns/getWeek.js","webpack://indicator-ui/./node_modules/date-fns/getWeekYear.js","webpack://indicator-ui/./node_modules/date-fns/isDate.js","webpack://indicator-ui/./node_modules/date-fns/isEqual.js","webpack://indicator-ui/./node_modules/date-fns/isSameDay.js","webpack://indicator-ui/./node_modules/date-fns/isSameMonth.js","webpack://indicator-ui/./node_modules/date-fns/isSameWeek.js","webpack://indicator-ui/./node_modules/date-fns/isValid.js","webpack://indicator-ui/./node_modules/date-fns/isWithinInterval.js","webpack://indicator-ui/./node_modules/date-fns/locale/_lib/buildFormatLongFn.js","webpack://indicator-ui/./node_modules/date-fns/locale/_lib/buildLocalizeFn.js","webpack://indicator-ui/./node_modules/date-fns/locale/_lib/buildMatchFn.js","webpack://indicator-ui/./node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US/_lib/formatDistance.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US/_lib/formatLong.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US/_lib/formatRelative.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US/_lib/localize.js","webpack://indicator-ui/./node_modules/date-fns/locale/en-US/_lib/match.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru/_lib/formatDistance.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru/_lib/formatLong.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru/_lib/formatRelative.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru/_lib/localize.js","webpack://indicator-ui/./node_modules/date-fns/locale/ru/_lib/match.js","webpack://indicator-ui/./node_modules/date-fns/max.js","webpack://indicator-ui/./node_modules/date-fns/min.js","webpack://indicator-ui/./node_modules/date-fns/startOfDay.js","webpack://indicator-ui/./node_modules/date-fns/startOfISOWeek.js","webpack://indicator-ui/./node_modules/date-fns/startOfISOWeekYear.js","webpack://indicator-ui/./node_modules/date-fns/startOfMonth.js","webpack://indicator-ui/./node_modules/date-fns/startOfWeek.js","webpack://indicator-ui/./node_modules/date-fns/startOfWeekYear.js","webpack://indicator-ui/./node_modules/date-fns/startOfYear.js","webpack://indicator-ui/./node_modules/date-fns/subMonths.js","webpack://indicator-ui/./node_modules/date-fns/toDate.js","webpack://indicator-ui/./node_modules/imask/esm/controls/html-contenteditable-mask-element.js","webpack://indicator-ui/./node_modules/imask/esm/controls/html-input-mask-element.js","webpack://indicator-ui/./node_modules/imask/esm/controls/html-mask-element.js","webpack://indicator-ui/./node_modules/imask/esm/controls/input-history.js","webpack://indicator-ui/./node_modules/imask/esm/controls/input.js","webpack://indicator-ui/./node_modules/imask/esm/controls/mask-element.js","webpack://indicator-ui/./node_modules/imask/esm/core/action-details.js","webpack://indicator-ui/./node_modules/imask/esm/core/change-details.js","webpack://indicator-ui/./node_modules/imask/esm/core/continuous-tail-details.js","webpack://indicator-ui/./node_modules/imask/esm/core/holder.js","webpack://indicator-ui/./node_modules/imask/esm/core/utils.js","webpack://indicator-ui/./node_modules/imask/esm/imask.js","webpack://indicator-ui/./node_modules/imask/esm/index.js","webpack://indicator-ui/./node_modules/imask/esm/masked/base.js","webpack://indicator-ui/./node_modules/imask/esm/masked/date.js","webpack://indicator-ui/./node_modules/imask/esm/masked/dynamic.js","webpack://indicator-ui/./node_modules/imask/esm/masked/enum.js","webpack://indicator-ui/./node_modules/imask/esm/masked/factory.js","webpack://indicator-ui/./node_modules/imask/esm/masked/function.js","webpack://indicator-ui/./node_modules/imask/esm/masked/number.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pattern.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pattern/chunk-tail-details.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pattern/cursor.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pattern/fixed-definition.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pattern/input-definition.js","webpack://indicator-ui/./node_modules/imask/esm/masked/pipe.js","webpack://indicator-ui/./node_modules/imask/esm/masked/range.js","webpack://indicator-ui/./node_modules/imask/esm/masked/regexp.js","webpack://indicator-ui/./node_modules/imask/esm/masked/repeat.js","webpack://indicator-ui/./node_modules/react-imask/esm/hook.js","webpack://indicator-ui/./node_modules/react-imask/esm/index.js","webpack://indicator-ui/./node_modules/react-imask/esm/input.js","webpack://indicator-ui/./node_modules/react-imask/esm/mixin.js","webpack://indicator-ui/webpack/bootstrap","webpack://indicator-ui/webpack/runtime/compat get default export","webpack://indicator-ui/webpack/runtime/define property getters","webpack://indicator-ui/webpack/runtime/hasOwnProperty shorthand","webpack://indicator-ui/webpack/runtime/make namespace object","webpack://indicator-ui/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"indicator-ui\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"indicator-ui\"] = factory(root[\"React\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE_react__) => {\nreturn ","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgAlertCircle = function SvgAlertCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 8v4m0 4h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgAlertCircle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgAlertSquare = function SvgAlertSquare(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 9v4m0 4h.01M10.615 3.892 2.39 18.098c-.456.788-.684 1.182-.65 1.506a1 1 0 0 0 .406.705c.263.191.718.191 1.629.191h16.45c.91 0 1.365 0 1.628-.191a1 1 0 0 0 .407-.705c.034-.324-.195-.718-.65-1.506L13.383 3.892c-.454-.785-.681-1.178-.978-1.31a1 1 0 0 0-.812 0c-.297.132-.524.525-.979 1.31\"\n })));\n};\nexport default SvgAlertSquare;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgAlertTriangle = function SvgAlertTriangle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 9v4m0 4h.01M10.615 3.892 2.39 18.098c-.456.788-.684 1.182-.65 1.506a1 1 0 0 0 .406.705c.263.191.718.191 1.629.191h16.45c.91 0 1.365 0 1.628-.191a1 1 0 0 0 .407-.705c.034-.324-.195-.718-.65-1.506L13.383 3.892c-.454-.785-.681-1.178-.978-1.31a1 1 0 0 0-.812 0c-.297.132-.524.525-.979 1.31\"\n })));\n};\nexport default SvgAlertTriangle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowCircleUpLeft = function SvgArrowCircleUpLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 15V9m0 0h6M9 9l6 6m7-3c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgArrowCircleUpLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowLeft = function SvgArrowLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M19 12H5m0 0 7 7m-7-7 7-7\"\n })));\n};\nexport default SvgArrowLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowNarrowLeft = function SvgArrowNarrowLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20 12H4m0 0 6 6m-6-6 6-6\"\n })));\n};\nexport default SvgArrowNarrowLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowNarrowRight = function SvgArrowNarrowRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M4 12h16m0 0-6-6m6 6-6 6\"\n })));\n};\nexport default SvgArrowNarrowRight;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowRight = function SvgArrowRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M5 12h14m0 0-7-7m7 7-7 7\"\n })));\n};\nexport default SvgArrowRight;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgArrowSquareUpRight = function SvgArrowSquareUpRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M15 15V9m0 0H9m6 0-6 6m-1.2 6h8.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 18.72 21 17.88 21 16.2V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 3 17.88 3 16.2 3H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 5.28 3 6.12 3 7.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 21 6.12 21 7.8 21\"\n })));\n};\nexport default SvgArrowSquareUpRight;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBankNote01 = function SvgBankNote01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M6 11v4m12-6v4m-1-9c2.449 0 3.773.375 4.432.665a.7.7 0 0 1 .258.18c.076.072.215.284.25.383.06.165.06.255.06.435V16.41c0 .909 0 1.363-.136 1.597a.87.87 0 0 1-.532.44c-.255.089-.77-.01-1.8-.208-.72-.138-1.576-.24-2.532-.24-3 0-6 2-10 2-2.449 0-3.773-.375-4.432-.665-.088-.04-.132-.059-.258-.18a1.5 1.5 0 0 1-.25-.383C2 18.607 2 18.517 2 18.337V7.59c0-.909 0-1.363.136-1.597a.87.87 0 0 1 .532-.44c.255-.089.77.01 1.8.208C5.188 5.898 6.043 6 7 6c3 0 6-2 10-2m-2.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0\"\n })));\n};\nexport default SvgBankNote01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBarChart07 = function SvgBarChart07(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 21H6.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C3 19.48 3 18.92 3 17.8V3m4 7.5v7m4.5-12v12m4.5-7v7m4.5-12v12\"\n })));\n};\nexport default SvgBarChart07;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBarChart10 = function SvgBarChart10(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 7H4.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C3 7.76 3 8.04 3 8.6v10.8c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C3.76 21 4.04 21 4.6 21H9m0 0h6m-6 0V4.6c0-.56 0-.84.109-1.054a1 1 0 0 1 .437-.437C9.76 3 10.04 3 10.6 3h2.8c.56 0 .84 0 1.054.109a1 1 0 0 1 .437.437C15 3.76 15 4.04 15 4.6V21m0-10h4.4c.56 0 .84 0 1.054.109a1 1 0 0 1 .437.437C21 11.76 21 12.04 21 12.6v6.8c0 .56 0 .84-.109 1.054a1 1 0 0 1-.437.437C20.24 21 19.96 21 19.4 21H15\"\n })));\n};\nexport default SvgBarChart10;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBookClosed = function SvgBookClosed(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20 19v-3H7a3 3 0 0 0-3 3m4.8 3h8c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C20 20.48 20 19.92 20 18.8V5.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C18.48 2 17.92 2 16.8 2h-8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C4 4.28 4 5.12 4 6.8v10.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C6.28 22 7.12 22 8.8 22\"\n })));\n};\nexport default SvgBookClosed;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBookOpen01 = function SvgBookOpen01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m12 21-.1-.15c-.695-1.042-1.042-1.563-1.5-1.94a4 4 0 0 0-1.378-.737C8.453 18 7.827 18 6.575 18H5.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C2 16.48 2 15.92 2 14.8V6.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C3.52 3 4.08 3 5.2 3h.4c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C12 6.04 12 7.16 12 9.4M12 21V9.4M12 21l.1-.15c.695-1.042 1.042-1.563 1.5-1.94a4 4 0 0 1 1.378-.737C15.547 18 16.173 18 17.425 18H18.8c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 16.48 22 15.92 22 14.8V6.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 3 19.92 3 18.8 3h-.4c-2.24 0-3.36 0-4.216.436a4 4 0 0 0-1.748 1.748C12 6.04 12 7.16 12 9.4\"\n })));\n};\nexport default SvgBookOpen01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBookmarkAdd = function SvgBookmarkAdd(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 13V7m-3 3h6m4 11V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C16.72 3 15.88 3 14.2 3H9.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C5 5.28 5 6.12 5 7.8V21l7-4z\"\n })));\n};\nexport default SvgBookmarkAdd;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBriefcase02 = function SvgBriefcase02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M8 21V7c0-.93 0-1.395.102-1.776a3 3 0 0 1 2.121-2.122C10.606 3 11.07 3 12 3s1.395 0 1.777.102a3 3 0 0 1 2.12 2.122C16 5.605 16 6.07 16 7v14M5.2 21h13.6c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C22 19.48 22 18.92 22 17.8v-7.6c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C20.48 7 19.92 7 18.8 7H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 8.52 2 9.08 2 10.2v7.6c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C3.52 21 4.08 21 5.2 21\"\n })));\n};\nexport default SvgBriefcase02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgBuilding07 = function SvgBuilding07(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 20 20\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#667085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.67,\n d: \"M6.25 9.167H3.833c-.466 0-.7 0-.878.09a.83.83 0 0 0-.364.365c-.091.178-.091.411-.091.878v7m11.25-8.333h2.417c.466 0 .7 0 .878.09.157.08.284.208.364.365.091.178.091.411.091.878v7m-3.75 0V5.167c0-.934 0-1.4-.182-1.757a1.67 1.67 0 0 0-.728-.728c-.357-.182-.823-.182-1.757-.182H8.917c-.934 0-1.4 0-1.757.182-.314.16-.569.414-.728.728-.182.357-.182.823-.182 1.757V17.5m12.083 0H1.667m7.5-11.667h1.666M9.167 9.167h1.666M9.167 12.5h1.666\"\n })));\n};\nexport default SvgBuilding07;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCalendarCheck01 = function SvgCalendarCheck01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 10H3m13-8v4M8 2v4m1 10 2 2 4.5-4.5M7.8 22h8.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 19.72 21 18.88 21 17.2V8.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 4 17.88 4 16.2 4H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 6.28 3 7.12 3 8.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 22 6.12 22 7.8 22\"\n })));\n};\nexport default SvgCalendarCheck01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCalendarPlus02 = function SvgCalendarPlus02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 11.5V8.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 4 17.88 4 16.2 4H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 6.28 3 7.12 3 8.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 22 6.12 22 7.8 22h4.7M21 10H3m13-8v4M8 2v4m10 15v-6m-3 3h6\"\n })));\n};\nexport default SvgCalendarPlus02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCalendar = function SvgCalendar(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 10H3m13-8v4M8 2v4m-.2 16h8.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 19.72 21 18.88 21 17.2V8.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 4 17.88 4 16.2 4H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 6.28 3 7.12 3 8.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 22 6.12 22 7.8 22\"\n })));\n};\nexport default SvgCalendar;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCheckVerified02 = function SvgCheckVerified02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m9 12 2 2 4.5-4.5m2.401-4.501c.206.498.601.893 1.1 1.1l1.744.723a2.033 2.033 0 0 1 1.1 2.656l-.722 1.744a2.03 2.03 0 0 0 0 1.556l.722 1.744a2.033 2.033 0 0 1-1.1 2.656L19 17.902A2.03 2.03 0 0 0 17.9 19l-.723 1.745a2.03 2.03 0 0 1-2.656 1.1l-1.744-.722a2.03 2.03 0 0 0-1.555 0l-1.745.723a2.033 2.033 0 0 1-2.654-1.1L6.1 19.001A2.03 2.03 0 0 0 5 17.9l-1.744-.723a2.033 2.033 0 0 1-1.1-2.654l.721-1.744a2.03 2.03 0 0 0 0-1.556l-.722-1.746a2.033 2.033 0 0 1 1.1-2.657L5 6.098c.498-.206.893-.6 1.1-1.098l.723-1.745a2.033 2.033 0 0 1 2.656-1.1l1.744.722a2.03 2.03 0 0 0 1.555-.001l1.746-.72a2.03 2.03 0 0 1 2.655 1.1l.723 1.746z\"\n })));\n};\nexport default SvgCheckVerified02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCheck = function SvgCheck(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20 6 9 17l-5-5\"\n })));\n};\nexport default SvgCheck;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgChevronDown = function SvgChevronDown(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m6 9 6 6 6-6\"\n })));\n};\nexport default SvgChevronDown;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgChevronLeft = function SvgChevronLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m15 18-6-6 6-6\"\n })));\n};\nexport default SvgChevronLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgChevronRight = function SvgChevronRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m9 18 6-6-6-6\"\n })));\n};\nexport default SvgChevronRight;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgChevronUp = function SvgChevronUp(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m18 15-6-6-6 6\"\n })));\n};\nexport default SvgChevronUp;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCircle = function SvgCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10\"\n })));\n};\nexport default SvgCircle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgClockCheck = function SvgClockCheck(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m14.5 19 2 2 4.5-4.5m.985-3.95Q22 12.276 22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 5.435 4.337 9.858 9.739 9.997M12 6v6l3.738 1.87\"\n })));\n};\nexport default SvgClockCheck;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgClock = function SvgClock(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 6v6l4 2m6-2c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgClock;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgCopy06 = function SvgCopy06(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M7.5 3h7.1c2.24 0 3.36 0 4.216.436a4 4 0 0 1 1.748 1.748C21 6.04 21 7.16 21 9.4v7.1M6.2 21h8.1c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874c.218-.428.218-.988.218-2.108V9.7c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C15.98 6.5 15.42 6.5 14.3 6.5H6.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C3 8.02 3 8.58 3 9.7v8.1c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C4.52 21 5.08 21 6.2 21\"\n })));\n};\nexport default SvgCopy06;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgDataflow01 = function SvgDataflow01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M17 20h-.2c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C12 17.72 12 16.88 12 15.2V8.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C14.28 4 15.12 4 16.8 4h.2m0 16a2 2 0 1 0 4 0 2 2 0 0 0-4 0m0-16a2 2 0 1 0 4 0 2 2 0 0 0-4 0M7 12h10M7 12a2 2 0 1 1-4 0 2 2 0 0 1 4 0m10 0a2 2 0 1 0 4 0 2 2 0 0 0-4 0\"\n })));\n};\nexport default SvgDataflow01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgDotsGrid = function SvgDotsGrid(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2M12 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2M12 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2M19 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2M19 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2M19 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2M5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2M5 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2M5 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2\"\n })));\n};\nexport default SvgDotsGrid;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgDownload01 = function SvgDownload01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 15v1.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V15m14-5-5 5m0 0-5-5m5 5V3\"\n })));\n};\nexport default SvgDownload01;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgEye = function SvgEye(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M2.42 12.713c-.136-.215-.204-.323-.242-.49a1.2 1.2 0 0 1 0-.446c.038-.167.106-.274.242-.49C3.546 9.505 6.895 5 12 5s8.455 4.505 9.58 6.287c.137.215.205.323.243.49.029.125.029.322 0 .446-.038.167-.106.274-.242.49C20.455 14.495 17.105 19 12 19c-5.106 0-8.455-4.505-9.58-6.287\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n })));\n};\nexport default SvgEye;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgFaceSmile = function SvgFaceSmile(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M8 14s1.5 2 4 2 4-2 4-2m-1-5h.01M9 9h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10m-6.5-3a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0m-6 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0\"\n })));\n};\nexport default SvgFaceSmile;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgFile04 = function SvgFile04(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M14 2.27V6.4c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C14.76 8 15.04 8 15.6 8h4.13M20 9.988V17.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C17.72 22 16.88 22 15.2 22H8.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C4 19.72 4 18.88 4 17.2V6.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C6.28 2 7.12 2 8.8 2h3.212c.733 0 1.1 0 1.446.083.306.073.598.195.867.36.303.185.562.444 1.08.963l3.19 3.188c.518.519.777.778.963 1.081a3 3 0 0 1 .36.867c.082.346.082.712.082 1.446\"\n })));\n};\nexport default SvgFile04;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgFile06 = function SvgFile06(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M14 2.27V6.4c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437c.214.11.494.11 1.054.11h4.13M16 13H8m8 4H8m2-8H8m6-7H8.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C4 4.28 4 5.12 4 6.8v10.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C6.28 22 7.12 22 8.8 22h6.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C20 19.72 20 18.88 20 17.2V8z\"\n })));\n};\nexport default SvgFile06;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgFileAttachment04 = function SvgFileAttachment04(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20 7v-.2c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C17.72 2 16.88 2 15.2 2H8.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C4 4.28 4 5.12 4 6.8v10.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C6.28 22 7.12 22 8.8 22h3.7m0-11H8m3.5 4H8m8-8H8m10 11v-5.5a1.5 1.5 0 0 1 3 0V18a3 3 0 1 1-6 0v-4\"\n })));\n};\nexport default SvgFileAttachment04;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgHelpCircle = function SvgHelpCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgHelpCircle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgImage02 = function SvgImage02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m6 20 8.869-8.869c.396-.396.594-.594.822-.668a1 1 0 0 1 .618 0c.228.074.426.272.822.668l4.274 4.274M10.5 8.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgImage02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLayoutAlt01 = function SvgLayoutAlt01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 9h18M9 9v12M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3\"\n })));\n};\nexport default SvgLayoutAlt01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLayoutAlt03 = function SvgLayoutAlt03(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M17.5 17h-11m11-4h-11M3 9h18M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3\"\n })));\n};\nexport default SvgLayoutAlt03;","var _path, _rect;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLayoutCalendar = function SvgLayoutCalendar(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 9h18M3 15h18M9 21V9M15 21V9\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 18,\n height: 18,\n x: 3,\n y: 3,\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n rx: 3\n })));\n};\nexport default SvgLayoutCalendar;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLayoutGrid02 = function SvgLayoutGrid02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 9h18M3 15h18M12 3v18M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3\"\n })));\n};\nexport default SvgLayoutGrid02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLayoutLeft = function SvgLayoutLeft(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 3v18M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3\"\n })));\n};\nexport default SvgLayoutLeft;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLink01 = function SvgLink01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m12.708 18.364-1.415 1.414a5 5 0 1 1-7.07-7.07l1.413-1.415m12.728 1.414 1.415-1.414a5 5 0 0 0-7.071-7.071l-1.415 1.414M8.5 15.5l7-7\"\n })));\n};\nexport default SvgLink01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLock01 = function SvgLock01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M17 10V8A5 5 0 0 0 7 8v2m5 4.5v2M8.8 21h6.4c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C20 18.72 20 17.88 20 16.2v-1.4c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C17.72 10 16.88 10 15.2 10H8.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C4 12.28 4 13.12 4 14.8v1.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C6.28 21 7.12 21 8.8 21\"\n })));\n};\nexport default SvgLock01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLogIn01 = function SvgLogIn01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M15 3h1.2c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H15M10 7l5 5m0 0-5 5m5-5H3\"\n })));\n};\nexport default SvgLogIn01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgLogOut01 = function SvgLogOut01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m16 17 5-5m0 0-5-5m5 5H9m0-9H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 5.28 3 6.12 3 7.8v8.4c0 1.68 0 2.52.327 3.162a3 3 0 0 0 1.311 1.311C5.28 21 6.12 21 7.8 21H9\"\n })));\n};\nexport default SvgLogOut01;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMarkerPin02 = function SvgMarkerPin02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 12.5a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 22c2-4 8-6.582 8-12a8 8 0 1 0-16 0c0 5.418 6 8 8 12\"\n })));\n};\nexport default SvgMarkerPin02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMessageNotificationCircle = function SvgMessageNotificationCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M11.707 3.036a8.5 8.5 0 0 0-7.264 11.18c.108.322.162.482.172.605a.9.9 0 0 1-.028.326c-.03.12-.098.245-.232.494l-1.636 3.027c-.233.432-.35.648-.324.815a.5.5 0 0 0 .234.35c.144.087.388.062.876.011l5.121-.529c.155-.016.233-.024.303-.021s.12.009.187.024c.069.016.155.05.329.116a8.5 8.5 0 0 0 11.52-7.153M20.12 3.88a3 3 0 1 1-4.243 4.242 3 3 0 0 1 4.243-4.242\"\n })));\n};\nexport default SvgMessageNotificationCircle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMessageSquare02 = function SvgMessageSquare02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v5.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 18 17.88 18 16.2 18h-2.516c-.624 0-.936 0-1.235.061a3 3 0 0 0-.761.267c-.272.14-.516.334-1.003.724L8.3 20.96c-.416.333-.624.5-.8.5a.5.5 0 0 1-.39-.188C7 21.135 7 20.868 7 20.336V18c-.93 0-1.395 0-1.776-.102a3 3 0 0 1-2.122-2.121C3 15.395 3 14.93 3 14z\"\n })));\n};\nexport default SvgMessageSquare02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMessageTextSquare01 = function SvgMessageTextSquare01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M7 8.5h5M7 12h8m-5.316 6H16.2c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 15.72 21 14.88 21 13.2V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 3 17.88 3 16.2 3H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 5.28 3 6.12 3 7.8v12.535c0 .533 0 .8.11.937a.5.5 0 0 0 .39.188c.176 0 .384-.167.8-.5l2.385-1.908c.488-.39.731-.585 1.002-.724q.363-.184.762-.267C8.748 18 9.06 18 9.684 18\"\n })));\n};\nexport default SvgMessageTextSquare01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMessageTextSquare02 = function SvgMessageTextSquare02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M7 8.5h5M7 12h8m-8 6v2.335c0 .533 0 .8.11.937a.5.5 0 0 0 .39.188c.176 0 .384-.167.8-.5l2.385-1.908c.487-.39.731-.585 1.002-.724q.363-.184.762-.267c.299-.061.61-.061 1.235-.061H16.2c1.68 0 2.52 0 3.162-.327a3 3 0 0 0 1.311-1.311C21 15.72 21 14.88 21 13.2V7.8c0-1.68 0-2.52-.327-3.162a3 3 0 0 0-1.311-1.311C18.72 3 17.88 3 16.2 3H7.8c-1.68 0-2.52 0-3.162.327a3 3 0 0 0-1.311 1.311C3 5.28 3 6.12 3 7.8V14c0 .93 0 1.395.102 1.777a3 3 0 0 0 2.122 2.12C5.605 18 6.07 18 7 18\"\n })));\n};\nexport default SvgMessageTextSquare02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMinus = function SvgMinus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M5 12h14\"\n })));\n};\nexport default SvgMinus;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgMusicNote01 = function SvgMusicNote01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 18V6.355c0-.481 0-.722.088-.917a1 1 0 0 1 .358-.424c.178-.118.416-.158.891-.237l8.8-1.466c.64-.107.961-.16 1.211-.068a1 1 0 0 1 .52.44c.132.231.132.556.132 1.206V16M9 18a3 3 0 1 1-6 0 3 3 0 0 1 6 0m12-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0\"\n })));\n};\nexport default SvgMusicNote01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPackage = function SvgPackage(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20.5 7.278 12 12m0 0L3.5 7.278M12 12v9.5m9-5.442V7.941c0-.342 0-.514-.05-.666a1 1 0 0 0-.215-.364c-.109-.119-.258-.202-.558-.368l-7.4-4.111c-.284-.158-.425-.237-.575-.268a1 1 0 0 0-.403 0c-.15.031-.292.11-.576.268l-7.4 4.11c-.3.167-.45.25-.558.369a1 1 0 0 0-.215.364C3 7.427 3 7.599 3 7.94v8.118c0 .342 0 .514.05.666a1 1 0 0 0 .215.364c.109.119.258.202.558.368l7.4 4.111c.284.158.425.237.576.267.133.028.27.028.402 0 .15-.03.292-.11.576-.267l7.4-4.11c.3-.167.45-.25.558-.369a1 1 0 0 0 .215-.364c.05-.152.05-.324.05-.667M16.5 9.5l-9-5\"\n })));\n};\nexport default SvgPackage;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPauseCircle = function SvgPauseCircle(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9.5 15V9m5 6V9m7.5 3c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"\n })));\n};\nexport default SvgPauseCircle;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPencil01 = function SvgPencil01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m2.5 21.5 5.55-2.134c.354-.137.532-.205.698-.294q.221-.12.42-.273c.149-.116.283-.25.552-.52L21 7a2.828 2.828 0 1 0-4-4L5.72 14.28c-.269.269-.403.403-.519.552a3 3 0 0 0-.273.42c-.089.166-.157.344-.294.699zm0 0 2.058-5.351c.147-.383.221-.574.347-.662a.5.5 0 0 1 .38-.08c.15.028.295.173.585.463l2.26 2.26c.29.29.435.435.464.586a.5.5 0 0 1-.08.379c-.089.126-.28.2-.663.347z\"\n })));\n};\nexport default SvgPencil01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlayButton = function SvgPlayButton(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 22,\n fill: \"none\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#fff\",\n d: \"M18 11 0 21.392V.608z\"\n })));\n};\nexport default SvgPlayButton;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlay = function SvgPlay(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 12 14\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#344054\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.67,\n d: \"M1.333 2.326c0-.647 0-.971.135-1.15A.67.67 0 0 1 1.96.914c.224-.013.493.167 1.032.526l7.01 4.673c.445.297.668.445.745.632a.67.67 0 0 1 0 .511c-.077.187-.3.336-.745.632l-7.01 4.674c-.54.359-.808.539-1.032.525a.67.67 0 0 1-.492-.263c-.135-.178-.135-.502-.135-1.15z\"\n })));\n};\nexport default SvgPlay;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPlus = function SvgPlus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 5v14m-7-7h14\"\n })));\n};\nexport default SvgPlus;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRows03 = function SvgRows03(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 9h18M3 15h18M7.8 3h8.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C21 5.28 21 6.12 21 7.8v8.4c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3\"\n })));\n};\nexport default SvgRows03;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgRss01 = function SvgRss01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16M6 19a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"\n })));\n};\nexport default SvgRss01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSave01 = function SvgSave01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M7 3v3.4c0 .56 0 .84.109 1.054a1 1 0 0 0 .437.437C7.76 8 8.04 8 8.6 8h6.8c.56 0 .84 0 1.054-.109a1 1 0 0 0 .437-.437C17 7.24 17 6.96 17 6.4V4m0 17v-6.4c0-.56 0-.84-.109-1.054a1 1 0 0 0-.437-.437C16.24 13 15.96 13 15.4 13H8.6c-.56 0-.84 0-1.054.109a1 1 0 0 0-.437.437C7 13.76 7 14.04 7 14.6V21M21 9.325V16.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V7.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C5.28 3 6.12 3 7.8 3h6.875c.489 0 .733 0 .963.055.204.05.4.13.579.24.201.123.374.296.72.642l3.126 3.126c.346.346.519.519.642.72q.165.27.24.579c.055.23.055.474.055.963\"\n })));\n};\nexport default SvgSave01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSearchLg = function SvgSearchLg(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m21 21-3.5-3.5m2.5-6a8.5 8.5 0 1 1-17 0 8.5 8.5 0 0 1 17 0\"\n })));\n};\nexport default SvgSearchLg;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSearchMd = function SvgSearchMd(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m21 21-4.35-4.35M19 11a8 8 0 1 1-16 0 8 8 0 0 1 16 0\"\n })));\n};\nexport default SvgSearchMd;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSearchSm = function SvgSearchSm(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m21 21-6-6m2-5a7 7 0 1 1-14 0 7 7 0 0 1 14 0\"\n })));\n};\nexport default SvgSearchSm;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSettings01 = function SvgSettings01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M18.727 14.727a1.5 1.5 0 0 0 .3 1.655l.055.054a1.816 1.816 0 0 1 0 2.573 1.82 1.82 0 0 1-2.573 0l-.055-.055a1.5 1.5 0 0 0-1.654-.3 1.5 1.5 0 0 0-.91 1.373v.155a1.818 1.818 0 1 1-3.636 0V20.1a1.5 1.5 0 0 0-.981-1.373 1.5 1.5 0 0 0-1.655.3l-.054.055a1.818 1.818 0 0 1-3.106-1.287 1.82 1.82 0 0 1 .533-1.286l.054-.055a1.5 1.5 0 0 0 .3-1.654 1.5 1.5 0 0 0-1.372-.91h-.155a1.818 1.818 0 1 1 0-3.636H3.9a1.5 1.5 0 0 0 1.373-.981 1.5 1.5 0 0 0-.3-1.655l-.055-.054A1.818 1.818 0 1 1 7.491 4.99l.054.054a1.5 1.5 0 0 0 1.655.3h.073a1.5 1.5 0 0 0 .909-1.372v-.155a1.818 1.818 0 0 1 3.636 0V3.9a1.5 1.5 0 0 0 .91 1.373 1.5 1.5 0 0 0 1.654-.3l.054-.055a1.817 1.817 0 0 1 2.573 0 1.82 1.82 0 0 1 0 2.573l-.055.054a1.5 1.5 0 0 0-.3 1.655v.073a1.5 1.5 0 0 0 1.373.909h.155a1.818 1.818 0 0 1 0 3.636H20.1a1.5 1.5 0 0 0-1.373.91\"\n })));\n};\nexport default SvgSettings01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSettings04 = function SvgSettings04(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M3 8h12m0 0a3 3 0 1 0 6 0 3 3 0 0 0-6 0m-6 8h12M9 16a3 3 0 1 1-6 0 3 3 0 0 1 6 0\"\n })));\n};\nexport default SvgSettings04;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgShareArrow = function SvgShareArrow(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M11.082 8.95a9.67 9.67 0 0 0-8.586 9.604v.612a11.4 11.4 0 0 1 8.586-4.119v3.229a1.222 1.222 0 0 0 1.98.959l7.993-6.312a1.18 1.18 0 0 0 0-1.852l-7.993-6.312a1.222 1.222 0 0 0-1.98.96z\",\n clipRule: \"evenodd\"\n })));\n};\nexport default SvgShareArrow;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSlashOctagon = function SvgSlashOctagon(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m4.93 4.93 14.14 14.14M2 8.523v6.954c0 .245 0 .367.028.482a1 1 0 0 0 .12.29c.061.1.148.187.32.36l4.923 4.922c.173.173.26.26.36.322q.136.082.29.12c.115.027.237.027.482.027h6.954c.245 0 .367 0 .482-.028a1 1 0 0 0 .29-.12c.1-.061.187-.148.36-.32l4.922-4.923c.173-.173.26-.26.322-.36a1 1 0 0 0 .12-.29c.027-.115.027-.237.027-.482V8.523c0-.245 0-.367-.028-.482a1 1 0 0 0-.12-.29c-.061-.1-.148-.187-.32-.36L16.608 2.47c-.173-.173-.26-.26-.36-.322a1 1 0 0 0-.29-.12C15.844 2 15.722 2 15.477 2H8.523c-.245 0-.367 0-.482.028a1 1 0 0 0-.29.12c-.1.061-.187.148-.36.32L2.47 7.392c-.173.173-.26.26-.322.36a1 1 0 0 0-.12.29C2 8.156 2 8.278 2 8.523\"\n })));\n};\nexport default SvgSlashOctagon;","var _circle, _circle2, _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSupport = function SvgSupport(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 9,\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 3.5,\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"m14.475 9.525 3.888-3.888M5.637 18.363l3.888-3.888M9.525 9.525 5.637 5.637M18.363 18.363l-3.888-3.888\"\n })));\n};\nexport default SvgSupport;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgSwitchHorizontal02 = function SvgSwitchHorizontal02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M4 17h16m0 0-4-4m4 4-4 4m4-14H4m0 0 4-4M4 7l4 4\"\n })));\n};\nexport default SvgSwitchHorizontal02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgThumbsUp = function SvgThumbsUp(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M7 22V11m-5 2v7a2 2 0 0 0 2 2h13.426a3 3 0 0 0 2.965-2.544l1.077-7A3 3 0 0 0 18.503 9H15a1 1 0 0 1-1-1V4.466A2.466 2.466 0 0 0 11.534 2a.82.82 0 0 0-.75.488l-3.52 7.918A1 1 0 0 1 6.35 11H4a2 2 0 0 0-2 2\"\n })));\n};\nexport default SvgThumbsUp;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgTrash01 = function SvgTrash01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M16 6v-.8c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C14.48 2 13.92 2 12.8 2h-1.6c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C8 3.52 8 4.08 8 5.2V6m2 5.5v5m4-5v5M3 6h18m-2 0v11.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C16.72 22 15.88 22 14.2 22H9.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C5 19.72 5 18.88 5 17.2V6\"\n })));\n};\nexport default SvgTrash01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgTrash03 = function SvgTrash03(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 3h6M3 6h18m-2 0-.701 10.52c-.105 1.578-.158 2.367-.499 2.965a3 3 0 0 1-1.298 1.215c-.62.3-1.41.3-2.993.3h-3.018c-1.582 0-2.373 0-2.993-.3A3 3 0 0 1 6.2 19.485c-.34-.598-.394-1.387-.499-2.966L5 6m5 4.5v5m4-5v5\"\n })));\n};\nexport default SvgTrash03;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgType02 = function SvgType02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M4 7c0-.932 0-1.398.152-1.765a2 2 0 0 1 1.083-1.083C5.602 4 6.068 4 7 4h10c.932 0 1.398 0 1.765.152a2 2 0 0 1 1.083 1.083C20 5.602 20 6.068 20 7M8 20h8M10.25 4v16m3.5-16v16\"\n })));\n};\nexport default SvgType02;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgUpload01 = function SvgUpload01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M21 15v1.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V15m14-7-5-5m0 0L7 8m5-5v12\"\n })));\n};\nexport default SvgUpload01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgUser01 = function SvgUser01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M20 21c0-1.396 0-2.093-.172-2.661a4 4 0 0 0-2.667-2.667c-.568-.172-1.265-.172-2.661-.172h-5c-1.396 0-2.093 0-2.661.172a4 4 0 0 0-2.667 2.667C4 18.907 4 19.604 4 21M16.5 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0\"\n })));\n};\nexport default SvgUser01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgUserEdit = function SvgUserEdit(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M9 15.5H7.5c-1.396 0-2.093 0-2.661.172a4 4 0 0 0-2.667 2.667C2 18.907 2 19.604 2 21M14.5 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0M11 21l3.101-.886c.149-.043.223-.064.292-.096a1 1 0 0 0 .175-.102c.061-.045.116-.1.225-.21l6.457-6.456a1.768 1.768 0 1 0-2.5-2.5l-6.457 6.457c-.11.11-.164.164-.209.225a1 1 0 0 0-.102.175 2 2 0 0 0-.096.292z\"\n })));\n};\nexport default SvgUserEdit;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgUsers01 = function SvgUsers01(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M22 21v-2a4 4 0 0 0-3-3.874M15.5 3.291a4.001 4.001 0 0 1 0 7.418M17 21c0-1.864 0-2.796-.305-3.53a4 4 0 0 0-2.164-2.165C13.796 15 12.864 15 11 15H8c-1.864 0-2.796 0-3.53.305a4 4 0 0 0-2.166 2.164C2 18.204 2 19.136 2 21M13.5 7a4 4 0 1 1-8 0 4 4 0 0 1 8 0\"\n })));\n};\nexport default SvgUsers01;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgUsers02 = function SvgUsers02(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M16 3.468a4.5 4.5 0 0 1 0 8.064m2 5.234c1.512.684 2.872 1.799 4 3.234M2 20c1.946-2.477 4.59-4 7.5-4s5.554 1.523 7.5 4M14 7.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0\"\n })));\n};\nexport default SvgUsers02;","var _path, _path2;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgVerified = function SvgVerified(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 20 20\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#1A40FF\",\n d: \"M14.918 4.165c.171.415.5.745.915.918l1.455.602a1.694 1.694 0 0 1 .916 2.213l-.602 1.454a1.7 1.7 0 0 0 0 1.297l.602 1.453a1.694 1.694 0 0 1-.917 2.213l-1.453.602a1.7 1.7 0 0 0-.918.916l-.602 1.455a1.694 1.694 0 0 1-2.213.916l-1.453-.602a1.7 1.7 0 0 0-1.296.001l-1.455.602a1.694 1.694 0 0 1-2.211-.916l-.603-1.455a1.7 1.7 0 0 0-.916-.917l-1.454-.603a1.694 1.694 0 0 1-.917-2.212l.602-1.453a1.7 1.7 0 0 0-.001-1.296l-.601-1.456a1.694 1.694 0 0 1 .917-2.214l1.453-.602c.415-.171.744-.5.917-.914l.602-1.455a1.694 1.694 0 0 1 2.213-.916l1.453.602c.415.171.882.17 1.296-.001l1.455-.6a1.694 1.694 0 0 1 2.213.916l.603 1.455z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#fff\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.67,\n d: \"m7.5 10 1.667 1.667 3.75-3.75\"\n })));\n};\nexport default SvgVerified;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgVolumeMax = function SvgVolumeMax(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 16 12\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#344054\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.67,\n d: \"M13.165 1.333A7.96 7.96 0 0 1 14.667 6a7.96 7.96 0 0 1-1.502 4.667m-2.668-7.334c.527.756.836 1.676.836 2.667 0 .992-.309 1.91-.836 2.667m-4.074-7.09-2.11 2.11a1.4 1.4 0 0 1-.24.215.7.7 0 0 1-.194.08C3.803 4 3.721 4 3.56 4h-1.16c-.372 0-.56 0-.702.073a.67.67 0 0 0-.291.291c-.073.143-.073.33-.073.703v1.866c0 .374 0 .56.073.703a.67.67 0 0 0 .291.291C1.84 8 2.027 8 2.4 8h1.158c.163 0 .245 0 .321.019a.7.7 0 0 1 .193.08c.067.04.125.098.24.214l2.11 2.11c.286.286.43.428.552.438a.33.33 0 0 0 .28-.116c.08-.093.08-.295.08-.7v-8.09c0-.405 0-.606-.08-.7a.33.33 0 0 0-.28-.116c-.123.01-.266.153-.551.438\"\n })));\n};\nexport default SvgVolumeMax;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgVolumeX = function SvgVolumeX(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 16 12\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#344054\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.67,\n d: \"m14.667 4-4 4m0-4 4 4M6.423 1.577l-2.11 2.11a1.4 1.4 0 0 1-.24.215.7.7 0 0 1-.194.08C3.803 4 3.721 4 3.56 4h-1.16c-.372 0-.56 0-.702.073a.67.67 0 0 0-.291.291c-.073.143-.073.33-.073.703v1.866c0 .374 0 .56.073.703a.67.67 0 0 0 .291.291C1.84 8 2.027 8 2.4 8h1.158c.163 0 .245 0 .321.019a.7.7 0 0 1 .193.08c.067.04.125.098.24.214l2.11 2.11c.286.286.43.428.552.438a.33.33 0 0 0 .28-.116c.08-.093.08-.295.08-.7v-8.09c0-.405 0-.606-.08-.7a.33.33 0 0 0-.28-.116c-.123.01-.266.153-.551.438\"\n })));\n};\nexport default SvgVolumeX;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgWallet03 = function SvgWallet03(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M16.5 14h.01M3 5v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2H5a2 2 0 0 1-2-2m0 0a2 2 0 0 1 2-2h12m0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0\"\n })));\n};\nexport default SvgWallet03;","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgXClose = function SvgXClose(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n d: \"M18 6 6 18M6 6l12 12\"\n })));\n};\nexport default SvgXClose;","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"Buttons-module__button___I3yLe\",\"icon\":\"Buttons-module__icon___U2AOU\",\"widthFill\":\"Buttons-module__widthFill___HXb85\",\"widthHug\":\"Buttons-module__widthHug___Uy38K\",\"heightFill\":\"Buttons-module__heightFill___dwVrw\",\"heightHug\":\"Buttons-module__heightHug___El1C3\",\"small\":\"Buttons-module__small___x1NQN\",\"text\":\"Buttons-module__text___htxqX\",\"medium\":\"Buttons-module__medium___BZfsd\",\"large\":\"Buttons-module__large____KUDT\",\"ultra\":\"Buttons-module__ultra___zBezN\",\"primary\":\"Buttons-module__primary____crHN\",\"secondaryColor\":\"Buttons-module__secondaryColor___GONLZ\",\"secondaryGray\":\"Buttons-module__secondaryGray___yu1Ne\",\"tertiaryWhite\":\"Buttons-module__tertiaryWhite___QIZOq\",\"tertiaryColor\":\"Buttons-module__tertiaryColor___DwXbw\",\"tertiaryGray\":\"Buttons-module__tertiaryGray___y75cu\",\"linkColor\":\"Buttons-module__linkColor___Kg7EN\",\"linkBlack\":\"Buttons-module__linkBlack___WfA7t\",\"linkGray\":\"Buttons-module__linkGray___CQYUd\",\"tabActive\":\"Buttons-module__tabActive___chlqq\",\"tab\":\"Buttons-module__tab___yBTjo\",\"warning\":\"Buttons-module__warning___RaAeB\"};","// extracted by mini-css-extract-plugin\nexport default {\"calendarDay\":\"CalendarDay-module__calendarDay___SMwl6\",\"mark\":\"CalendarDay-module__mark___plkAJ\",\"day\":\"CalendarDay-module__day___ZPsML\",\"info\":\"CalendarDay-module__info___pRAf0\",\"holiday\":\"CalendarDay-module__holiday___gzeHn\",\"active\":\"CalendarDay-module__active___KnfaY\",\"filter\":\"CalendarDay-module__filter___VvlBz\"};","// extracted by mini-css-extract-plugin\nexport default {\"dateGrid\":\"DateGrid-module__dateGrid___zK2Lk\",\"upEntrance\":\"DateGrid-module__upEntrance___hyY1E\",\"up-entrance\":\"DateGrid-module__up-entrance___VdpW2\",\"downEntrance\":\"DateGrid-module__downEntrance___NwUT1\",\"down-entrance\":\"DateGrid-module__down-entrance___T99rw\",\"upExit\":\"DateGrid-module__upExit___qbeVq\",\"up-exit\":\"DateGrid-module__up-exit___jXHUk\",\"downExit\":\"DateGrid-module__downExit___vptj6\",\"down-exit\":\"DateGrid-module__down-exit___rlRJU\",\"displayNone\":\"DateGrid-module__displayNone___Rk4Fb\"};","// extracted by mini-css-extract-plugin\nexport default {\"datePicker\":\"DatePicker-module__datePicker___t3iuq\"};","// extracted by mini-css-extract-plugin\nexport default {\"datePickerFooter\":\"DatePickerFooter-module__datePickerFooter___S3vJR\",\"item\":\"DatePickerFooter-module__item___I9fi6\"};","// extracted by mini-css-extract-plugin\nexport default {\"datePickerHeader\":\"DatePickerHeader-module__datePickerHeader___tQ5fM\",\"text\":\"DatePickerHeader-module__text___mNfC_\",\"switchers\":\"DatePickerHeader-module__switchers___QlY8s\",\"item\":\"DatePickerHeader-module__item___nVpSe\"};","// extracted by mini-css-extract-plugin\nexport default {\"datePickerMain\":\"DatePickerMain-module__datePickerMain___G7IMt\",\"header\":\"DatePickerMain-module__header___XeOZO\",\"item\":\"DatePickerMain-module__item___UNZyP\",\"main\":\"DatePickerMain-module__main___i975m\",\"meta\":\"DatePickerMain-module__meta___XqHRG\",\"month\":\"DatePickerMain-module__month___lyaBg\",\"year\":\"DatePickerMain-module__year___fXQLm\",\"grid\":\"DatePickerMain-module__grid___SXNOt\"};","// extracted by mini-css-extract-plugin\nexport default {\"flexField\":\"FlexField-module__flexField___bQEfy\",\"inputField\":\"FlexField-module__inputField___ckUI1\",\"icon\":\"FlexField-module__icon___pHmKh\",\"textSupport\":\"FlexField-module__textSupport___WGMzj\",\"userPic\":\"FlexField-module__userPic___cJENJ\",\"help\":\"FlexField-module__help___ORoT_\",\"dropdown\":\"FlexField-module__dropdown___BqdfG\",\"dropdownReverse\":\"FlexField-module__dropdownReverse___FNjEK\",\"button\":\"FlexField-module__button___TjLHK\",\"red\":\"FlexField-module__red___BY7NK\",\"gray\":\"FlexField-module__gray___sjpVp\",\"pointer\":\"FlexField-module__pointer___dOJ4b\",\"focus\":\"FlexField-module__focus___pkwN6\",\"isError\":\"FlexField-module__isError___VljDQ\",\"disabled\":\"FlexField-module__disabled___lN8Vv\"};","// extracted by mini-css-extract-plugin\nexport default {\"inputFieldWrapper\":\"InputFieldWrapper-module__inputFieldWrapper___QKhWg\",\"labelText\":\"InputFieldWrapper-module__labelText___n0EsW\",\"required\":\"InputFieldWrapper-module__required___SDv6c\",\"hintText\":\"InputFieldWrapper-module__hintText___Utfgx\",\"hintError\":\"InputFieldWrapper-module__hintError___v4J5W\",\"helperLink\":\"InputFieldWrapper-module__helperLink___Kfen4\"};","// extracted by mini-css-extract-plugin\nexport default {\"flexField\":\"InputField-module__flexField___aNE6o\",\"inputField\":\"InputField-module__inputField___mzakH\",\"icon\":\"InputField-module__icon___xR6jG\",\"textSupport\":\"InputField-module__textSupport___njpRn\",\"userPic\":\"InputField-module__userPic___OQ_q0\",\"help\":\"InputField-module__help___uSjvq\",\"dropdown\":\"InputField-module__dropdown___QQuFp\",\"dropdownReverse\":\"InputField-module__dropdownReverse___Nfb9Z\",\"button\":\"InputField-module__button___jm0td\",\"red\":\"InputField-module__red___euINw\",\"gray\":\"InputField-module__gray___GGFcb\",\"pointer\":\"InputField-module__pointer___Ij_hP\",\"focus\":\"InputField-module__focus___xpWhB\",\"isError\":\"InputField-module__isError___x2fXo\",\"disabled\":\"InputField-module__disabled___hH7HA\",\"inputFieldWrapper\":\"InputField-module__inputFieldWrapper___ao9Rs\",\"labelText\":\"InputField-module__labelText___Fxxc3\",\"required\":\"InputField-module__required___p4MLk\",\"hintText\":\"InputField-module__hintText___LC2Oq\",\"hintError\":\"InputField-module__hintError___LrJWr\",\"helperLink\":\"InputField-module__helperLink___A_6Ua\",\"selectField\":\"InputField-module__selectField___ED0Q3\",\"modalWindow\":\"InputField-module__modalWindow___JplNC\",\"selectModalWindow\":\"InputField-module__selectModalWindow___Dg52i\",\"selectFieldOptionsItem\":\"InputField-module__selectFieldOptionsItem___HBdJA\",\"label\":\"InputField-module__label___Wlb6C\",\"active\":\"InputField-module__active___RcF6w\",\"switcherField\":\"InputField-module__switcherField___Qezr0\",\"radioFieldItem\":\"InputField-module__radioFieldItem___c6OMz\",\"checkbox\":\"InputField-module__checkbox___KcnRp\",\"textareaField\":\"InputField-module__textareaField___iuYg7\"};","// extracted by mini-css-extract-plugin\nexport default {\"radioFieldItem\":\"RadioField-module__radioFieldItem___uaoV4\",\"checkbox\":\"RadioField-module__checkbox____H6Wv\",\"label\":\"RadioField-module__label___LbYqv\",\"active\":\"RadioField-module__active___w24VO\"};","// extracted by mini-css-extract-plugin\nexport default {\"selectField\":\"SelectField-module__selectField___p9S2j\",\"flexField\":\"SelectField-module__flexField___a_gUY\",\"inputField\":\"SelectField-module__inputField___R6ZBR\",\"icon\":\"SelectField-module__icon___hgSSD\",\"textSupport\":\"SelectField-module__textSupport___vm4rj\",\"userPic\":\"SelectField-module__userPic___ge2Qc\",\"help\":\"SelectField-module__help___H6fhs\",\"dropdown\":\"SelectField-module__dropdown___Uy1N4\",\"dropdownReverse\":\"SelectField-module__dropdownReverse___8X1vc\",\"button\":\"SelectField-module__button___ZmuY4\",\"red\":\"SelectField-module__red___JPj3r\",\"gray\":\"SelectField-module__gray___IaQb0\",\"pointer\":\"SelectField-module__pointer___EtnYh\",\"focus\":\"SelectField-module__focus___oz_Mp\",\"isError\":\"SelectField-module__isError___i1lN2\",\"disabled\":\"SelectField-module__disabled___lZGk6\",\"modalWindow\":\"SelectField-module__modalWindow___JVZ8d\",\"selectModalWindow\":\"SelectField-module__selectModalWindow___w55Pm\",\"selectFieldOptionsItem\":\"SelectField-module__selectFieldOptionsItem___hQMC7\",\"label\":\"SelectField-module__label___Orjua\",\"active\":\"SelectField-module__active___a3j2T\"};","// extracted by mini-css-extract-plugin\nexport default {\"switcherField\":\"SwitcherField-module__switcherField___R9atT\",\"active\":\"SwitcherField-module__active___p_7P5\"};","// extracted by mini-css-extract-plugin\nexport default {\"textareaField\":\"TextareaField-module__textareaField___Vcg4L\",\"isError\":\"TextareaField-module__isError___VGTeU\"};","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"MicroButton-module__button___QMj95\",\"light\":\"MicroButton-module__light___pwfS3\",\"dark\":\"MicroButton-module__dark___YCw8u\",\"gray\":\"MicroButton-module__gray___pwAy2\",\"color\":\"MicroButton-module__color___RO79e\",\"colorHover\":\"MicroButton-module__colorHover___Rvxx7\",\"redHover\":\"MicroButton-module__redHover____WGXq\",\"colorFill\":\"MicroButton-module__colorFill___yLr74\",\"grayFill\":\"MicroButton-module__grayFill___Rr1s4\",\"redFill\":\"MicroButton-module__redFill___ANZAX\",\"size14\":\"MicroButton-module__size14___qZD63\",\"size16\":\"MicroButton-module__size16___WFrFl\",\"size20\":\"MicroButton-module__size20___ZVrVg\",\"size24\":\"MicroButton-module__size24___JOi7y\",\"size28\":\"MicroButton-module__size28___KCc7P\"};","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","export {default as AlertSquareSVG} from './alert-square.svg';\r\nexport {default as AlertTriangleSVG} from './alert-triangle.svg';\r\nexport {default as ArrowCircleUpLeftSVG} from './arrow-circle-up-left.svg';\r\nexport {default as ArrowNarrowLeftSVG} from './arrow-narrow-left.svg';\r\nexport {default as ArrowNarrowRightSVG} from './arrow-narrow-right.svg';\r\nexport {default as ArrowLeftSVG} from './arrow-left.svg';\r\nexport {default as ArrowRightSVG} from './arrow-right.svg';\r\nexport {default as ArrowSquareUpRightSVG} from './arrow-square-up-right.svg';\r\nexport {default as BarChart07SVG} from './bar-chart-07.svg';\r\nexport {default as BarChart10SVG} from './bar-chart-10.svg';\r\nexport {default as BankNote01SVG} from './bank-note-01.svg';\r\nexport {default as BookmarkAddSVG} from './bookmark-add.svg';\r\nexport {default as BookClosedSVG} from './book-closed.svg';\r\nexport {default as BookOpen01SVG} from './book-open-01.svg';\r\nexport {default as Briefcase02SVG} from './briefcase-02.svg';\r\nexport {default as Building07SVG} from './building-07.svg';\r\nexport {default as CalendarPlus02SVG} from './calendar-plus-02.svg';\r\nexport {default as CalendarSVG} from './calendar.svg';\r\nexport {default as CheckSVG} from './check.svg';\r\nexport {default as ChevronDownSVG} from './chevron-down.svg';\r\nexport {default as ChevronLeftSVG} from './chevron-left.svg';\r\nexport {default as ChevronRightSVG} from './chevron-right.svg';\r\nexport {default as CheckVerified02SVG} from './check-verified-02.svg';\r\nexport {default as ChevronUpSVG} from './chevron-up.svg';\r\nexport {default as ClockCheckSVG} from './clock-check.svg';\r\nexport {default as CLockSVG} from './clock.svg';\r\nexport {default as Copy06SVG} from './copy-06.svg';\r\nexport {default as Dataflow01SVG} from './dataflow-01.svg';\r\nexport {default as Download01SVG} from './download_01.svg';\r\nexport {default as DotsGridSVG} from './dots-grid.svg';\r\nexport {default as FaceSmileSVG} from './face-smile.svg';\r\nexport {default as File04SVG} from './file-04.svg';\r\nexport {default as File06SVG} from './file-06.svg';\r\nexport {default as FileAttachment04SVG} from './file-attachment-04.svg';\r\nexport {default as Image02SVG} from './image-02.svg';\r\nexport {default as LayoutCalendarSVG} from './layout-calendar.svg';\r\nexport {default as LayoutLeftSVG} from './layout-left.svg';\r\nexport {default as LayoutGrid02SVG} from './layout-grid-02.svg';\r\nexport {default as Link01SVG} from './link-01.svg';\r\nexport {default as Login01SVG} from './log-in-01.svg';\r\nexport {default as Logout01SVG} from './log-out-01.svg';\r\nexport {default as Lock01SVG} from './lock-01.svg';\r\nexport {default as MarkerPin02SVG} from './marker-pin-02.svg';\r\nexport {default as MessageNotificationCircleSVG} from './message-notification-circle.svg';\r\nexport {default as MessageTextSquare01SVG} from './message-text-square-01.svg';\r\nexport {default as MessageTextSquare02SVG} from './message-text-square-02.svg';\r\nexport {default as MinusSVG} from './minus.svg';\r\nexport {default as MusicNote01SVG} from './music-note-01.svg';\r\nexport {default as PackageSVG} from './package.svg';\r\nexport {default as PauseCircleSVG} from './pause-circle.svg';\r\nexport {default as Pencil01SVG} from './pencil-01.svg';\r\nexport {default as PlayButtonSVG} from './play-button.svg';\r\nexport {default as PlaySVG} from './play.svg';\r\nexport {default as PlusSVG} from './plus.svg';\r\nexport {default as Rss01SVG} from './rss-01.svg';\r\nexport {default as Rows03SVG} from './rows-03.svg';\r\nexport {default as Save01SVG} from './save-01.svg';\r\nexport {default as SearchSmSVG} from './search-sm.svg';\r\nexport {default as SearchMdSVG} from './search-md.svg';\r\nexport {default as SearchLgSVG} from './search-lg.svg';\r\nexport {default as Settings01SVG} from './settings-01.svg';\r\nexport {default as Settings04SVG} from './settings-04.svg';\r\nexport {default as SupportSVG} from './support.svg';\r\nexport {default as SlashOctagonSVG} from './slash-octagon.svg';\r\nexport {default as SwitchHorizontal02SVG} from './switch-horizontal-02.svg';\r\nexport {default as Trash01SVG} from './trash-01.svg';\r\nexport {default as Trash03SVG} from './trash-03.svg';\r\nexport {default as Type02SVG} from './type-02.svg';\r\nexport {default as Upload01SVG} from './upload-01.svg';\r\nexport {default as User01SVG} from './user-01.svg';\r\nexport {default as UserEditSVG} from './user-edit.svg';\r\nexport {default as Users01SVG} from './users-01.svg';\r\nexport {default as Users02SVG} from './users-02.svg';\r\nexport {default as VerifiedSVG} from './verified.svg';\r\nexport {default as VolumeMaxSVG} from './volume-max.svg';\r\nexport {default as VolumeXSVG} from './volume-x.svg';\r\nexport {default as Wallet03SVG} from './wallet-03.svg';\r\nexport {default as XCloseSVG} from './x-close.svg';\r\nexport {default as EyeSVG} from './eye.svg';\r\nexport {default as MessageSquare02SVG} from './message-square-02.svg';\r\nexport {default as ShareArrowSVG} from './share-arrow.svg';\r\nexport {default as ThumbsUpSVG} from './thumbs-up.svg';\r\nexport {default as LayoutAlt01SVG} from './layout-alt-01.svg';\r\nexport {default as LayoutAlt03SVG} from './layout-alt-03.svg';\r\nexport {default as CircleSVG} from './circle.svg';\r\nexport {default as CalendarCheck01SVG} from './calendar-check-01.svg';\r\nexport {default as HelpCircleSVG} from './help-circle.svg';\r\nexport {default as AlertCircleSVG} from './alert-circle.svg';\r\n","export * from './icons'","export * from './useIsErrorField'\r\nexport * from './useFormData'\r\nexport {default as useFormData} from './useFormData'\r\nexport {default as useIsErrorField} from './useIsErrorField'","'use client'\r\n\r\nimport {Dispatch, SetStateAction, useState} from \"react\";\r\nimport {getDeepValue, setDeepValue} from \"../lib\";\r\nimport {DictDeepActionKeyWayItemType, DictDeepActionKeyWayType} from \"../types\";\r\n\r\nexport type UseFormDataSetValueType = (value: any, keyWay: DictDeepActionKeyWayType, options?: {\r\n unionToArray: boolean,\r\n index?: number\r\n}) => void\r\n\r\nexport type UseFormDataGetValueType = (keyWay: DictDeepActionKeyWayType) => any\r\nexport type UseFormDataDeleteArrayItemType = (keyWay: DictDeepActionKeyWayType) => void\r\n\r\nexport type UseFormDataReturnType<T> = {\r\n formData: T,\r\n setFormData: Dispatch<SetStateAction<T>>,\r\n setValue: UseFormDataSetValueType,\r\n getValue: UseFormDataGetValueType,\r\n resetForm: () => void,\r\n clearForm: () => void,\r\n deleteArrayItem: UseFormDataDeleteArrayItemType,\r\n}\r\n\r\nexport default function useFormData<T extends Record<string, any>>(value?: T): UseFormDataReturnType<T> {\r\n const [formData, setFormData] = useState<T>(value || {} as T)\r\n\r\n const setValue: UseFormDataSetValueType = (value, keyWay, options = {unionToArray: false}): void => {\r\n setFormData(prevState => {\r\n let newValue = value\r\n\r\n if (options.unionToArray) {\r\n const curValue = getDeepValue(prevState, keyWay)\r\n if (Array.isArray(curValue)) {\r\n if (options.index !== undefined && options.index < curValue.length && options.index >= 0) {\r\n newValue = [...curValue]\r\n newValue[options.index] = value\r\n } else {\r\n newValue = [...curValue, newValue]\r\n }\r\n } else {\r\n if (options.index) {\r\n if (options.index === 0)\r\n newValue = [newValue]\r\n else\r\n newValue = curValue ? [curValue, newValue] : [newValue]\r\n } else {\r\n newValue = curValue ? [curValue, newValue] : [newValue]\r\n }\r\n }\r\n }\r\n\r\n return {...setDeepValue(prevState, newValue, {keysWay: keyWay})} as T\r\n })\r\n }\r\n\r\n const getValue: UseFormDataGetValueType = (keyWay): string => {\r\n return getDeepValue(formData, keyWay)\r\n }\r\n\r\n const resetForm = () => {\r\n setFormData(value || {} as T)\r\n }\r\n\r\n const clearForm = () => {\r\n setFormData({} as T)\r\n }\r\n\r\n const deleteArrayItem: UseFormDataDeleteArrayItemType = (keyWay) => {\r\n const lastKeyWay: DictDeepActionKeyWayItemType | undefined = keyWay.length > 0 && keyWay[keyWay.length - 1] || undefined\r\n if (lastKeyWay && typeof lastKeyWay === 'object') {\r\n const arrayKeyWay = [...keyWay.slice(0, keyWay.length - 1), lastKeyWay.name]\r\n const oldValue = getValue(arrayKeyWay).filter((_item: any, idx: number) => idx !== lastKeyWay.index)\r\n setValue(oldValue, arrayKeyWay)\r\n }\r\n }\r\n\r\n return {\r\n formData: formData,\r\n setFormData: setFormData,\r\n setValue: setValue,\r\n getValue: getValue,\r\n resetForm: resetForm,\r\n clearForm: clearForm,\r\n deleteArrayItem: deleteArrayItem\r\n }\r\n}\r\n","'use client'\r\n\r\nimport {useEffect, useState} from \"react\";\r\nimport {DictDeepActionKeyWayType} from \"../types\";\r\nimport {isEqualArrays} from \"../lib\";\r\n\r\nexport type UseIsErrorFieldNameType = string | DictDeepActionKeyWayType\r\nexport type UseIsErrorFieldIsErrorItemType = { name: UseIsErrorFieldNameType, errorMessage?: string }\r\nexport type UseIsErrorFieldIsErrorType = UseIsErrorFieldIsErrorItemType[]\r\nexport type UseIsErrorFieldIsErrorFieldType = (name: UseIsErrorFieldNameType) => boolean\r\nexport type UseIsErrorFieldGetErrorMessageType = (name: UseIsErrorFieldNameType) => string | undefined\r\nexport type UseIsErrorFieldAddErrorFieldType = (name: UseIsErrorFieldNameType, errorMessage?: string) => void\r\nexport type UseIsErrorFieldRemoveErrorFieldType = (name: UseIsErrorFieldNameType) => void\r\n\r\nexport type UseIsErrorFieldReturnType = {\r\n isErrorField: UseIsErrorFieldIsErrorFieldType,\r\n addErrorField: UseIsErrorFieldAddErrorFieldType,\r\n removeErrorField: UseIsErrorFieldRemoveErrorFieldType,\r\n getErrorMessage: UseIsErrorFieldGetErrorMessageType,\r\n clearErrors: () => void,\r\n isError: UseIsErrorFieldIsErrorType\r\n}\r\n\r\nconst notSensitiveCheckNameField = (value: UseIsErrorFieldNameType, field: UseIsErrorFieldNameType) => {\r\n if (value.length === 0 || field.length === 0) {\r\n return false\r\n }\r\n\r\n let i = 0\r\n for (let j = 0; j < value.length && i < field.length; j++) {\r\n if (JSON.stringify(value[j]) === JSON.stringify(field[i])) {\r\n i++\r\n }\r\n j++\r\n }\r\n return i === field.length\r\n}\r\n\r\nconst checkNameField = (value: UseIsErrorFieldNameType, field: UseIsErrorFieldNameType) => {\r\n const convertValue = typeof value === \"object\" && value.length === 1 ? value[0] : value\r\n const convertField = typeof field === \"object\" && field.length === 1 ? field[0] : field\r\n return convertValue.toString() === convertField.toString()\r\n}\r\n\r\nconst comp = (a: UseIsErrorFieldNameType, b: UseIsErrorFieldNameType) => {\r\n const arrA = typeof a === 'object' ? a : [a]\r\n const arrB = typeof b === 'object' ? b : [b]\r\n const length = arrA.length\r\n return length !== 0 && isEqualArrays(arrA.slice(0, length), arrB.slice(0, length))\r\n}\r\n\r\nexport default function useIsErrorField({\r\n additionIsErrorFields = [],\r\n sensitiveSearch = true,\r\n }:\r\n {\r\n additionIsErrorFields?: UseIsErrorFieldIsErrorType,\r\n sensitiveSearch?: boolean,\r\n } = {}): UseIsErrorFieldReturnType {\r\n const [isError, setIsError] = useState<UseIsErrorFieldIsErrorType>([])\r\n\r\n useEffect(() => {\r\n if (additionIsErrorFields && additionIsErrorFields.length > 0)\r\n setIsError(prevState => [...prevState, ...additionIsErrorFields])\r\n }, [JSON.stringify(additionIsErrorFields)])\r\n // }, [additionIsErrorFields])\r\n\r\n const isErrorField: UseIsErrorFieldIsErrorFieldType = (name) => {\r\n const criterion = (value: UseIsErrorFieldIsErrorItemType) => sensitiveSearch ? checkNameField(value.name, name) : notSensitiveCheckNameField(value.name, name)\r\n return isError.some(criterion)\r\n }\r\n\r\n const addErrorField: UseIsErrorFieldAddErrorFieldType = (name, errorMessage) => {\r\n setIsError(prevState => {\r\n const newSet = [...prevState.filter(value => !checkNameField(value.name, name))]\r\n return [...newSet, {name: name, errorMessage: errorMessage}]\r\n })\r\n }\r\n\r\n const removeErrorField: UseIsErrorFieldRemoveErrorFieldType = (name) => {\r\n setIsError(prevState => {\r\n const newSet = [...prevState]\r\n return newSet.filter(value => !comp(name, value.name))\r\n })\r\n }\r\n\r\n const getErrorMessage: UseIsErrorFieldGetErrorMessageType = (name) => {\r\n const criterion = (value: UseIsErrorFieldIsErrorItemType) => checkNameField(value.name, name)\r\n return isError.find(criterion)?.errorMessage\r\n }\r\n\r\n const clearErrors = () => {\r\n setIsError([])\r\n }\r\n\r\n return {\r\n isErrorField: isErrorField,\r\n addErrorField: addErrorField,\r\n removeErrorField: removeErrorField,\r\n getErrorMessage: getErrorMessage,\r\n clearErrors: clearErrors,\r\n isError: isError\r\n }\r\n}","export default function getUniqueArray<T>(\r\n array: T[],\r\n comparator: (a: T, b: T) => boolean = (a: T, b: T) => a === b\r\n) {\r\n return array.filter((a, index) => array.findIndex(item => comparator(a, item)) === index);\r\n}","export {default as isArray} from './isArray'\r\nexport {default as isEqualArrays} from './isEqualArrays'\r\nexport {default as getUniqueArray} from './getUniqueArray'","export default function isArray(value: any) {\r\n return Array.isArray(value)\r\n}","export default function isEqualArrays(a: any[], b: any[]) {\r\n return a.toString() === b.toString()\r\n}","import {isDict} from \"../dict\";\r\nimport {\r\n DictDeepActionKeyWayItemDictType,\r\n DictDeepActionKeyWayItemStringType,\r\n DictDeepActionKeyWayType\r\n} from \"../../types\";\r\n\r\nexport default function getDeepValue(dict: { [key: string]: any }, keyWay: DictDeepActionKeyWayType): any {\r\n let curPlace: { [key: string]: any } = dict\r\n\r\n for (let i = 0; i < keyWay?.length || 0; i++) {\r\n if (!isDict(curPlace))\r\n return undefined\r\n\r\n if (typeof keyWay[i] === 'object') {\r\n const {name, index} = keyWay[i] as DictDeepActionKeyWayItemDictType\r\n if (name in curPlace)\r\n curPlace = curPlace[name][index]\r\n else\r\n return undefined\r\n\r\n } else {\r\n const item = keyWay[i] as DictDeepActionKeyWayItemStringType\r\n if (item in curPlace)\r\n curPlace = curPlace[item]\r\n else\r\n return undefined\r\n }\r\n }\r\n\r\n return curPlace\r\n}","export {default as isDict} from './isDict'\r\nexport {default as setDeepValue} from './setDeepValue'\r\nexport {default as getDeepValue} from './getDeepValue'","export default function isDict(variable: any): boolean {\r\n return typeof variable === \"object\" &&\r\n variable !== null &&\r\n !Array.isArray(variable)\r\n // && Object.prototype.toString.call(variable) === \"[object Object]\"\r\n}","import {isDict} from \"../../lib\";\r\nimport {isArray} from \"../../lib\";\r\nimport {DictDeepActionKeyWayItemType, DictDeepActionKeyWayType} from \"../../types\";\r\n\r\nexport default function setDeepValue(dict: { [key: string]: any }, value: any, options: {\r\n keysWay: DictDeepActionKeyWayType\r\n}): {\r\n [key: string]: any\r\n} {\r\n let newDict = {...dict}\r\n let writePlace = newDict\r\n const lastIndexOfKeysWay = options.keysWay.length - 1\r\n options.keysWay.forEach((key: DictDeepActionKeyWayItemType, idx: number) => {\r\n let curKey: DictDeepActionKeyWayItemType | number = key\r\n if (typeof curKey === 'object') {\r\n const {name, index} = curKey\r\n\r\n if (!isArray(writePlace[name]))\r\n writePlace[name] = []\r\n\r\n writePlace = writePlace[name]\r\n curKey = index\r\n }\r\n\r\n if (!isDict(writePlace[curKey])) {\r\n writePlace[curKey] = {}\r\n }\r\n\r\n if (idx < lastIndexOfKeysWay)\r\n writePlace = writePlace[curKey]\r\n else\r\n writePlace[curKey] = value\r\n })\r\n\r\n return newDict\r\n}","export * from './dict'\r\nexport * from './array'\r\nexport * from './reactComponents'","import React from \"react\";\r\n\r\nexport default function handleScrollEnd(e: React.UIEvent<HTMLDivElement>, callback: (e: React.UIEvent<HTMLDivElement>) => void) {\r\n const target = e.currentTarget as HTMLElement;\r\n if (target) {\r\n const {scrollTop, scrollHeight, clientHeight} = target;\r\n\r\n if (scrollTop + clientHeight >= scrollHeight) {\r\n callback(e)\r\n }\r\n }\r\n}","export {default as handleScrollEnd} from './handleScrollEnd'\r\nexport {default as isCustomComponent} from './isCustomComponent'","export default function isCustomComponent(element: React.ReactElement): boolean {\r\n return typeof element.type !== \"string\";\r\n}","export type DictDeepActionKeyWayItemStringType = string\r\nexport type DictDeepActionKeyWayItemDictType = { name: string, index: number }\r\nexport type DictDeepActionKeyWayItemType = DictDeepActionKeyWayItemStringType | DictDeepActionKeyWayItemDictType\r\nexport type DictDeepActionKeyWayType = DictDeepActionKeyWayItemType[]\r\n","export type Overwrite<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U","export * from './HelperType'\r\nexport * from './DictDeepActionsTypes'","export * from './types'\r\nexport * from './ui'","export {default as ButtonsStyle} from './Buttons.module.scss'","import React, {ReactElement, ReactNode} from \"react\";\r\n\r\nexport type ButtonSizeType =\r\n | 'small'\r\n | 'medium'\r\n | 'large'\r\n | 'ultra'\r\nexport type ButtonHierarchyType =\r\n | 'primary'\r\n | 'secondary-color'\r\n | 'secondary-gray'\r\n | 'tertiary-white'\r\n | 'tertiary-color'\r\n | 'tertiary-gray'\r\n | 'link-color'\r\n | 'link-black'\r\n | 'link-gray'\r\n | 'tab-active'\r\n | 'tab'\r\n\r\nexport type ButtonClassNameType = {\r\n button?: string,\r\n icon?: string,\r\n text?: string,\r\n primary?: string,\r\n secondaryColor?: string,\r\n secondaryGray?: string,\r\n tertiaryWhite?: string,\r\n tertiaryColor?: string,\r\n tertiaryGray?: string,\r\n linkColor?: string,\r\n linkBlack?: string,\r\n linkGray?: string,\r\n tabActive?: string,\r\n tab?: string,\r\n warning?: string,\r\n small?: string,\r\n medium?: string,\r\n large?: string,\r\n ultra?: string,\r\n widthFill?: string,\r\n widthHug?: string,\r\n heightFill?: string,\r\n heightHug?: string,\r\n}\r\n/**\r\n * Компонент кнопки\r\n */\r\nexport type ButtonPropsType = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'className'> & {\r\n /** Размер кнопки (small, medium, large) */\r\n size?: ButtonSizeType,\r\n /** Иерархия (primary, secondary, etc.) */\r\n hierarchy?: ButtonHierarchyType,\r\n /** Текст внутри кнопки */\r\n children?: React.ReactNode,\r\n /** Текст внутри кнопки */\r\n text?: React.ReactNode,\r\n /** Иконка слева */\r\n iconLeft?: React.ReactNode,\r\n /** Иконка справа */\r\n iconRight?: React.ReactNode,\r\n /** Показывает кнопку в режиме предупреждения */\r\n warning?: boolean,\r\n /** Тип длины, fill --- заполнит, hug --- подгонит под контент */\r\n width?: 'fill' | 'hug',\r\n /** Тип высоты, fill --- заполнит, hug --- подгонит под контент */\r\n height?: 'fill' | 'hug',\r\n /** Дополнительные имена стилей */\r\n additionStyles?: string | string[],\r\n /** Кастомный компонент с обязательным пропсом children, в него будут вставлены элементы кнопки и накинуты стили */\r\n customComponent?: ReactElement<{children?: ReactNode, className?: string} & {[key: string]: any}>,\r\n className?: ButtonClassNameType,\r\n}","export * from './ButtonTypes'","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {ButtonPropsType} from '../types'\r\nimport {ButtonsStyle} from \"../styles\";\r\n\r\nexport function Button({\r\n children,\r\n text,\r\n iconLeft,\r\n iconRight,\r\n hierarchy = 'primary',\r\n warning = false,\r\n size = 'medium',\r\n width = 'hug',\r\n height = 'hug',\r\n additionStyles = [],\r\n customComponent,\r\n className = ButtonsStyle,\r\n ...props\r\n }: ButtonPropsType) {\r\n const getHierarchyClassName = () => {\r\n switch (hierarchy) {\r\n case \"primary\":\r\n return className?.primary\r\n case \"secondary-color\":\r\n return className?.secondaryColor\r\n case \"secondary-gray\":\r\n return className?.secondaryGray\r\n case \"tertiary-white\":\r\n return className?.tertiaryWhite\r\n case \"tertiary-color\":\r\n return className?.tertiaryColor\r\n case \"tertiary-gray\":\r\n return className?.tertiaryGray\r\n case \"link-color\":\r\n return className?.linkColor\r\n case \"link-black\":\r\n return className?.linkBlack\r\n case \"link-gray\":\r\n return className?.linkGray\r\n case \"tab\":\r\n return className?.tab\r\n case \"tab-active\":\r\n return className?.tabActive\r\n }\r\n }\r\n\r\n const getSizeClassName = () => {\r\n switch (size) {\r\n case \"small\":\r\n return className?.small\r\n case \"medium\":\r\n return className?.medium\r\n case \"large\":\r\n return className?.large\r\n case \"ultra\":\r\n return className?.ultra\r\n }\r\n }\r\n\r\n const getWidthClassName = () => {\r\n switch (width) {\r\n case \"fill\":\r\n return className?.widthFill\r\n case \"hug\":\r\n return className?.widthHug\r\n }\r\n }\r\n\r\n const getHeightClassName = () => {\r\n switch (height) {\r\n case \"fill\":\r\n return className?.heightFill\r\n case \"hug\":\r\n return className?.heightHug\r\n }\r\n }\r\n\r\n const getAdditionStyles = () => {\r\n if (typeof additionStyles === 'string') {\r\n return additionStyles\r\n }\r\n return additionStyles.join(' ')\r\n }\r\n\r\n const getWarningStyles = () => {\r\n return warning ? className?.warning : ''\r\n }\r\n\r\n const getMainContent = () => {\r\n return (\r\n <>\r\n {iconLeft && <span className={className?.icon}>{iconLeft}</span>}\r\n {children && <span className={className?.text}>{text || children}</span>}\r\n {iconRight && <span className={className?.icon}>{iconRight}</span>}\r\n </>\r\n )\r\n }\r\n\r\n const getClassName = () => {\r\n return clsx(className?.button, getHierarchyClassName(), getSizeClassName(), getWidthClassName(), getHeightClassName(), getAdditionStyles(), getWarningStyles())\r\n }\r\n\r\n if (customComponent !== undefined) {\r\n return React.cloneElement(customComponent, {\r\n children: getMainContent(),\r\n className: getClassName()\r\n })\r\n }\r\n\r\n return (\r\n <button {...props}\r\n className={getClassName()}>\r\n {getMainContent()}\r\n </button>\r\n )\r\n}","export * from './Button'","export const CALENDAR_DAY_TARGET_DATE = \"calendar-day-target-date\"\r\nexport const NUM_OF_ROWS = 6\r\nexport const NUM_OF_COLS = 7\r\n","export * from './ui'\r\nexport * from './const'\r\nexport * from './types'","import {\r\n addWeeks,\r\n closestIndexTo,\r\n differenceInDays,\r\n endOfMonth,\r\n endOfWeek,\r\n isEqual,\r\n max,\r\n min,\r\n startOfMonth,\r\n startOfWeek\r\n} from \"date-fns\";\r\nimport {NUM_OF_COLS, NUM_OF_ROWS} from \"../const\";\r\nimport {DatePickerChosenIntervalType} from \"../types\";\r\n\r\nexport const getIntervalDate = (targetDate: string) => {\r\n let start = startOfWeek(startOfMonth(targetDate), {weekStartsOn: 1})\r\n let end = endOfWeek(endOfMonth(targetDate), {weekStartsOn: 1})\r\n const daysBetween = differenceInDays(end, start)\r\n\r\n if (NUM_OF_COLS * NUM_OF_ROWS > daysBetween) {\r\n end = endOfWeek(addWeeks(end, 1))\r\n }\r\n return {start: start.toISOString(), end: end.toISOString()}\r\n}\r\n\r\n\r\nexport const getNewInterval = (prevState: DatePickerChosenIntervalType, newDate: string): DatePickerChosenIntervalType => {\r\n const start = prevState.start\r\n const end = prevState.end\r\n\r\n if (start && isEqual(start, newDate)) {\r\n return {...prevState, start: undefined}\r\n }\r\n\r\n if (end && isEqual(end, newDate)) {\r\n return {...prevState, end: undefined}\r\n }\r\n\r\n if (start && end) {\r\n const closestDateIndex = closestIndexTo(newDate, [start, end])\r\n if (closestDateIndex === 0) {\r\n return {...prevState, start: newDate}\r\n } else {\r\n return {...prevState, end: newDate}\r\n }\r\n } else if (start || end) {\r\n const existDate = start || end\r\n return {start: min([existDate, newDate]).toISOString(), end: max([existDate, newDate]).toISOString()}\r\n } else {\r\n return {start: newDate}\r\n }\r\n}\r\n\r\nexport const getInitChosenInterval = ({start, end, multiple}: { start?: string, end?: string, multiple?: boolean }) => {\r\n if (multiple) {\r\n return {start: start, end: end}\r\n }\r\n return {start: start || end}\r\n}\r\n\r\nexport const getInitTargetDate = ({start, end}: { start?: string, end?: string }): string => {\r\n const chosenDate = start || end\r\n if (chosenDate) {\r\n return chosenDate\r\n }\r\n return (new Date()).toISOString()\r\n}","export {default as CalendarDayStyle} from './CalendarDay.module.scss'\r\nexport {default as DatePickerStyle} from './DatePicker.module.scss'\r\nexport {default as DatePickerMainStyle} from './DatePickerMain.module.scss'\r\nexport {default as DateGridStyle} from './DateGrid.module.scss'\r\nexport {default as DatePickerHeaderStyle} from './DatePickerHeader.module.scss'\r\nexport {default as DatePickerFooterStyle} from './DatePickerFooter.module.scss'","export type CalendarDayClassNameType = {\r\n calendarDay?: string,\r\n mark?: string,\r\n day?: string,\r\n info?: string,\r\n holiday?: string,\r\n filter?: string,\r\n active?: string,\r\n}\r\n\r\nexport type CalendarDayMetaDayType = number | string\r\nexport type CalendarDayMetaInfoType = number | string\r\n\r\nexport type CalendarDayMetaType = {\r\n day?: CalendarDayMetaDayType,\r\n info?: CalendarDayMetaInfoType,\r\n}\r\n\r\nexport type CalendarDayPropsType = CalendarDayMetaType & {\r\n disabled?: boolean,\r\n holiday?: boolean,\r\n active?: boolean,\r\n filter?: boolean,\r\n mark?: boolean,\r\n onClick?: () => void,\r\n className?: CalendarDayClassNameType,\r\n}","import {CalendarDayMetaList} from \"./DatePickerMainTypes\";\r\n\r\nexport type DateGridOnClickDate = (date: string) => void\r\n\r\nexport type DateGridStatesType = 'upEntrance' | 'downEntrance' | 'upExit' | 'downExit' | 'display-none'\r\n\r\nexport type DateGridPropsType = {\r\n grid: CalendarDayMetaList,\r\n onClickDate?: DateGridOnClickDate,\r\n onScrollUp?: () => void,\r\n onScrollDown?: () => void,\r\n state?: DateGridStatesType,\r\n}","export type DatePickerFooterPropsType = {\r\n onCancel?: () => void,\r\n onSubmit?: () => void,\r\n}","export type DatePickerHeaderPropsType = {\r\n onUpClick?: () => void;\r\n onDownClick?: () => void;\r\n}","import {DateGridOnClickDate} from \"./DateGridTypes\";\r\nimport {CalendarDayMetaInfoType, CalendarDayPropsType} from \"./CalendarDayTypes\";\r\n\r\nexport type CalendarDayMetaList = (CalendarDayPropsType & { id?: string, date: string })[]\r\n\r\nexport type MarkerFunType = (date: string) => boolean\r\nexport type InfoFunType = (date: string) => CalendarDayMetaInfoType\r\n\r\nexport type DatePickerMainPropsType = {\r\n target: string,\r\n chosenStart?: string,\r\n chosenEnd?: string,\r\n infoFun?: InfoFunType,\r\n markFun?: MarkerFunType,\r\n onClickDate?: DateGridOnClickDate,\r\n onScrollUp?: () => void,\r\n onScrollDown?: () => void,\r\n}","import {InfoFunType, MarkerFunType} from \"./DatePickerMainTypes\";\r\n\r\nexport type DatePickerOnSubmitType = ({start, end}: {\r\n start?: string, end?: string\r\n}) => void\r\nexport type DatePickerChosenIntervalType = {start?: string, end?: string}\r\nexport type DatePickerPropsType = {\r\n chosenStart?: string,\r\n chosenEnd?: string,\r\n infoFun?: InfoFunType,\r\n markFun?: MarkerFunType,\r\n onSubmit?: DatePickerOnSubmitType,\r\n onCancel?: () => void,\r\n formatDate?: string,\r\n multiple?: boolean,\r\n}","export * from './CalendarDayTypes'\r\nexport * from './DatePickerMainTypes'\r\nexport * from './DateGridTypes'\r\nexport * from './DatePickerTypes'\r\nexport * from './DatePickerHeaderTypes'\r\nexport * from './DatePickerFooterTypes'","import React from 'react';\r\nimport clsx from \"clsx\";\r\nimport {CalendarDayPropsType} from \"../types\";\r\nimport {CalendarDayStyle} from \"../styles\";\r\n\r\nexport function CalendarDay({\r\n day,\r\n info,\r\n holiday,\r\n filter,\r\n active,\r\n mark,\r\n onClick,\r\n disabled = false,\r\n className = CalendarDayStyle\r\n }: CalendarDayPropsType) {\r\n const getClassName = () => {\r\n return clsx(className?.calendarDay, {\r\n [className?.active]: active,\r\n [className?.filter]: filter,\r\n [className?.holiday]: holiday,\r\n })\r\n }\r\n return (\r\n <button type={'button'} disabled={disabled} onClick={onClick} className={getClassName()}>\r\n {mark && <span className={className?.mark}></span>}\r\n {day && <span className={className?.day}>{day}</span>}\r\n {info && <span className={className?.info}>{info}</span>}\r\n </button>\r\n )\r\n}","import React, {useEffect, useRef} from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {DateGridPropsType} from \"../types\";\r\nimport {DateGridStyle} from \"../styles\";\r\nimport {CalendarDay} from \"./CalendarDay\";\r\n\r\nexport function DateGrid({\r\n grid,\r\n onClickDate,\r\n onScrollUp,\r\n onScrollDown,\r\n state\r\n }: DateGridPropsType) {\r\n const elementRef = useRef<HTMLDivElement | null>(null)\r\n const lastTouchY = useRef(0);\r\n\r\n useEffect(() => {\r\n const onTouchMove = (event: TouchEvent) => {\r\n const touchY = event.touches[0].clientY;\r\n if (touchY < lastTouchY.current) {\r\n onScrollUp && onScrollUp()\r\n } else if (touchY > lastTouchY.current) {\r\n onScrollDown && onScrollDown()\r\n }\r\n lastTouchY.current = touchY;\r\n };\r\n\r\n if (elementRef.current) {\r\n elementRef.current.addEventListener(\"touchmove\", onTouchMove);\r\n }\r\n\r\n return () => {\r\n elementRef.current?.removeEventListener(\"touchmove\", onTouchMove);\r\n };\r\n }, []);\r\n\r\n const getStateClassName = () => {\r\n switch (state) {\r\n case 'upEntrance':\r\n return DateGridStyle.upEntrance\r\n case 'downEntrance':\r\n return DateGridStyle.downEntrance\r\n case 'upExit':\r\n return DateGridStyle.upExit\r\n case 'downExit':\r\n return DateGridStyle.downExit\r\n case 'display-none':\r\n return DateGridStyle.displayNone\r\n case undefined:\r\n return ''\r\n }\r\n }\r\n\r\n return (\r\n <div className={clsx(DateGridStyle.dateGrid, getStateClassName())}>\r\n {grid?.map((item) => <div id={item.id} className={DateGridStyle.item} key={item.date}>\r\n <CalendarDay {...item} onClick={() => onClickDate && onClickDate(item.date)}/></div>)}\r\n </div>\r\n )\r\n}","import React, {useState} from \"react\";\r\nimport {addMonths, format, subMonths} from \"date-fns\";\r\nimport {DatePickerStyle} from \"../styles\";\r\nimport {DateGridOnClickDate, DatePickerChosenIntervalType, DatePickerPropsType} from \"../types\";\r\nimport {getInitChosenInterval, getInitTargetDate, getNewInterval} from \"../lib\";\r\nimport {DatePickerMain} from \"./DatePickerMain\";\r\nimport {DatePickerHeader} from \"./DatePickerHeader\";\r\nimport {DatePickerFooter} from \"./DatePickerFooter\";\r\n\r\n\r\nexport function DatePicker({\r\n chosenStart,\r\n chosenEnd,\r\n markFun,\r\n infoFun,\r\n onSubmit,\r\n formatDate,\r\n onCancel,\r\n multiple = true\r\n }: DatePickerPropsType) {\r\n const [targetDate, setTargetDate] = useState(getInitTargetDate({start: chosenStart, end: chosenEnd}))\r\n const [chosenInterval, setChosenInterval] = useState<DatePickerChosenIntervalType>(getInitChosenInterval({\r\n start: chosenStart,\r\n end: chosenEnd,\r\n multiple: multiple\r\n }))\r\n\r\n const onUpClick = () => {\r\n setTargetDate(prevState => subMonths(prevState, 1).toISOString())\r\n }\r\n\r\n const onDownClick = () => {\r\n setTargetDate(prevState => addMonths(prevState, 1).toISOString())\r\n }\r\n\r\n const handleSubmit = () => {\r\n const start = chosenInterval.start ? format(chosenInterval.start, formatDate || 'yyyy-MM-dd') : undefined\r\n const end = chosenInterval.end ? format(chosenInterval.end, formatDate || 'yyyy-MM-dd') : undefined\r\n onSubmit && onSubmit({start: start, end: end})\r\n }\r\n\r\n const onClickDate: DateGridOnClickDate = (date) => {\r\n setChosenInterval(prevState => {\r\n if (multiple) {\r\n return getNewInterval(prevState, date)\r\n }\r\n return {start: date}\r\n })\r\n }\r\n\r\n return (\r\n <div className={DatePickerStyle.datePicker}>\r\n <DatePickerHeader onUpClick={onUpClick} onDownClick={onDownClick}/>\r\n <DatePickerMain target={targetDate}\r\n chosenStart={chosenInterval.start}\r\n chosenEnd={chosenInterval.end}\r\n infoFun={infoFun}\r\n onClickDate={onClickDate}\r\n onScrollUp={onUpClick}\r\n onScrollDown={onDownClick}\r\n markFun={markFun}/>\r\n <DatePickerFooter onSubmit={handleSubmit} onCancel={onCancel}/>\r\n </div>\r\n )\r\n}","import React from \"react\";\r\nimport {Button} from \"@/ui\";\r\nimport {DatePickerFooterPropsType} from \"../types\";\r\nimport {DatePickerFooterStyle} from \"../styles\";\r\n\r\nexport function DatePickerFooter({onCancel, onSubmit}: DatePickerFooterPropsType) {\r\n return (\r\n <div className={DatePickerFooterStyle.datePickerFooter}>\r\n <div className={DatePickerFooterStyle.item}><Button type={'button'} onClick={onCancel}\r\n hierarchy={'secondary-gray'}\r\n size={'small'} width={'fill'}>Отмена</Button></div>\r\n <div className={DatePickerFooterStyle.item}><Button type={'button'} onClick={onSubmit} hierarchy={'primary'}\r\n size={'small'}\r\n width={'fill'}>Применить</Button></div>\r\n </div>\r\n )\r\n}","import React from \"react\";\r\nimport {ChevronDownSVG, ChevronUpSVG} from \"../../../assets\";\r\nimport {DatePickerHeaderPropsType, MicroButton} from \"@/ui\";\r\nimport {DatePickerHeaderStyle} from \"@/ui/DatePicker/styles\";\r\n\r\nexport function DatePickerHeader({onUpClick, onDownClick}: DatePickerHeaderPropsType) {\r\n return (\r\n <div className={DatePickerHeaderStyle.datePickerHeader}>\r\n <span className={DatePickerHeaderStyle.text}>Выбор даты</span>\r\n <div className={DatePickerHeaderStyle.switchers}>\r\n <MicroButton type={'button'} onClick={onUpClick} color={'color'} size={'24'}\r\n additionStyles={DatePickerHeaderStyle.item}><ChevronUpSVG/></MicroButton>\r\n <MicroButton type={'button'} onClick={onDownClick} color={'color'} size={'24'}\r\n additionStyles={DatePickerHeaderStyle.item}><ChevronDownSVG/></MicroButton>\r\n </div>\r\n </div>\r\n )\r\n}","import React from \"react\";\r\nimport {ru} from \"date-fns/locale\";\r\nimport {eachDayOfInterval, format, isSameDay, isSameMonth, isWithinInterval} from 'date-fns'\r\nimport {CalendarDayMetaList, DatePickerMainPropsType} from \"../types\";\r\nimport {DatePickerMainStyle} from \"../styles\";\r\nimport {getIntervalDate} from \"../lib\";\r\nimport {DateGrid} from \"./DateGrid\";\r\n\r\n\r\nexport function DatePickerMain({\r\n chosenStart,\r\n chosenEnd,\r\n markFun,\r\n infoFun,\r\n target,\r\n onClickDate,\r\n onScrollUp,\r\n onScrollDown,\r\n }: DatePickerMainPropsType) {\r\n const weekDays = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс']\r\n\r\n const setActiveIntervalDays = (days: CalendarDayMetaList): CalendarDayMetaList => {\r\n const start = chosenStart ? new Date(chosenStart) : undefined\r\n const end = chosenEnd ? new Date(chosenEnd) : undefined\r\n\r\n return days.map(item => {\r\n const curDate = new Date(item.date)\r\n const onInterval = start && end && isWithinInterval(curDate, {start: start, end: end})\r\n const isActive = (start && isSameDay(start, curDate)) || (end && isSameDay(end, curDate))\r\n return {...item, filter: !isActive && onInterval, active: isActive}\r\n })\r\n }\r\n\r\n const getDates = (targetDate: string): CalendarDayMetaList => {\r\n const interval = eachDayOfInterval(getIntervalDate(targetDate))\r\n return interval.map((item) => ({\r\n day: item.getDate(),\r\n date: item.toISOString(),\r\n holiday: [0, 6].includes(item.getDay()),\r\n info: infoFun && infoFun(item.toISOString()),\r\n mark: markFun && markFun(item.toISOString()),\r\n disabled: !isSameMonth(target, item),\r\n }))\r\n }\r\n\r\n const getMonth = () => {\r\n return format(target, \"MMMM\", {locale: ru});\r\n }\r\n\r\n const getYear = () => {\r\n return format(target, \"yyyy\", {locale: ru});\r\n }\r\n\r\n const getMainDates = () => {\r\n return setActiveIntervalDays(getDates(target))\r\n }\r\n\r\n return (\r\n <div className={DatePickerMainStyle.datePickerMain}>\r\n <div className={DatePickerMainStyle.header}>{weekDays.map((item, idx) => <span\r\n className={DatePickerMainStyle.item} key={idx}>{item}</span>)}</div>\r\n <div className={DatePickerMainStyle.main}>\r\n <div className={DatePickerMainStyle.meta}>\r\n <span className={DatePickerMainStyle.month}>{getMonth()}</span>\r\n <span className={DatePickerMainStyle.year}>{getYear()}</span>\r\n </div>\r\n <div className={DatePickerMainStyle.grid}>\r\n <DateGrid grid={getMainDates()}\r\n onClickDate={onClickDate}\r\n onScrollDown={onScrollDown}\r\n onScrollUp={onScrollUp}/>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}","export * from './CalendarDay'\r\nexport * from './DatePicker'\r\nexport * from './DateGrid'\r\nexport * from './DatePickerMain'\r\nexport * from './DatePickerFooter'\r\nexport * from './DatePickerHeader'","export const KEY_WAY_STORE_NAME = 'keyWayStoreName'\r\nexport const INIT_FIELDS_NAME = 'initFields'","export * from './ui'\r\nexport * from './types'\r\nexport * from './schemes'\r\nexport * from './lib'\r\nexport * from './lib'\r\nexport * from './consts'","'use client'\r\n\r\nimport React, {Key, ReactElement} from \"react\";\r\nimport {ARRAY_FIELDS_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {formBuilder} from \"../lib\";\r\n\r\nconst arrayFieldComponent = (schema: ARRAY_FIELDS_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n const {children, name, ...props} = schema.props || {}\r\n const wrapper = schema.array_comp ? schema.array_comp : <div/>\r\n return React.cloneElement(wrapper, {\r\n ...props,\r\n key: key,\r\n children: children && formBuilder(children, {\r\n ...additionProps,\r\n // Сброс индексации массива\r\n arrayKeyWayItemName: name,\r\n getCurArrayIndex: undefined,\r\n incrementCurArrayIndex: undefined,\r\n })\r\n })\r\n}\r\n\r\n\r\nexport default arrayFieldComponent\r\n","import React, {Key, ReactElement} from \"react\";\r\nimport {BLOCK_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {formBuilder} from \"../lib\";\r\n\r\nconst blockComponent = (schema: BLOCK_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n const {children, ...props} = schema.props || {}\r\n return (\r\n <div {...props} key={key}>\r\n {children && formBuilder(children, additionProps)}\r\n </div>\r\n )\r\n}\r\n\r\nexport default blockComponent","import React, {Key, ReactElement} from \"react\";\r\nimport {isCustomComponent} from \"@/lib\";\r\nimport {BLOCK_WRAPPER_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {formBuilder} from \"../lib\";\r\n\r\nconst blockWrapperComponent = (schema: BLOCK_WRAPPER_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n const {children, ...props} = schema.props || {}\r\n const comp = schema.block_wrapper ? schema.block_wrapper : <></>\r\n return React.cloneElement(comp, {\r\n ...props,\r\n ...(isCustomComponent(comp) ? additionProps.customCompAdditionProps : {}),\r\n children: children ? formBuilder(children, {\r\n ...additionProps,\r\n arrayKeyWayItemName: additionProps.arrayKeyWayItemName,\r\n getCurArrayIndex: additionProps.arrayKeyWayItemName ? additionProps.getCurArrayIndex : undefined,\r\n incrementCurArrayIndex: additionProps.arrayKeyWayItemName ? additionProps.incrementCurArrayIndex : undefined,\r\n }) : [],\r\n key: key,\r\n })\r\n}\r\n\r\nexport default blockWrapperComponent","import React, {Key, ReactElement} from \"react\";\r\nimport {InputFieldWrapper} from \"@/ui\";\r\nimport {CUSTOM_FIELD_WRAPPER_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {formBuilder} from \"../lib\";\r\n\r\nconst customFieldWrapperComponent = (schema: CUSTOM_FIELD_WRAPPER_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n const {children, ...props} = schema.props || {}\r\n return (\r\n <InputFieldWrapper {...props} key={key}>\r\n {children && formBuilder(children, additionProps)}\r\n </InputFieldWrapper>\r\n )\r\n}\r\n\r\nexport default customFieldWrapperComponent","import {DictDeepActionKeyWayType} from \"@/types\";\r\nimport {FORM_BUILDER_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {\r\n arrayFieldComponent,\r\n blockComponent,\r\n blockWrapperComponent,\r\n customFieldWrapperComponent,\r\n formWrapperComponent,\r\n inputFieldComponent, reactNodeComponent,\r\n} from \"../lib\";\r\n\r\nconst getCustomCompAdditionProps = (keyWay: DictDeepActionKeyWayType | undefined, additionProps: AdditionPropsType) => {\r\n const deletearrayitem = keyWay && (() => {\r\n const capturedKeyWay = [...keyWay]\r\n return () => {\r\n additionProps.removeErrorField(capturedKeyWay)\r\n additionProps.deleteArrayItemHook(capturedKeyWay)\r\n };\r\n })()\r\n\r\n const getvalue = keyWay && (() => {\r\n const capturedKeyWay = [...keyWay]\r\n return () => additionProps.getValue(capturedKeyWay);\r\n })()\r\n\r\n return {\r\n deletearrayitem: deletearrayitem,\r\n getvalue: getvalue,\r\n }\r\n}\r\n\r\nconst processingOfKeyWay = (additionProps: AdditionPropsType, getCurArrayIndex: () => number, incrementCurArrayIndex: () => void) => {\r\n let resKeyWay = additionProps.keyWay\r\n if (additionProps.arrayKeyWayItemName) {\r\n resKeyWay = [...resKeyWay, {\r\n name: additionProps.arrayKeyWayItemName,\r\n index: getCurArrayIndex()\r\n }] as DictDeepActionKeyWayType\r\n incrementCurArrayIndex()\r\n }\r\n return [...resKeyWay]\r\n}\r\n\r\nconst processingAdditionProps = (additionProps: AdditionPropsType, newFields: { [key: string]: any }) => {\r\n return {\r\n ...additionProps,\r\n ...newFields,\r\n }\r\n}\r\n\r\nconst formBuilder = (schema: FORM_BUILDER_SCHEMA, additionProps: AdditionPropsType) => {\r\n let arrayFieldCounter = 0\r\n const getCurArrayIndex = additionProps.getCurArrayIndex || (() => arrayFieldCounter)\r\n const incrementCurArrayIndex = additionProps.incrementCurArrayIndex || (() => arrayFieldCounter++)\r\n\r\n const newAdditionProps = processingAdditionProps(additionProps, {\r\n getCurArrayIndex: getCurArrayIndex,\r\n incrementCurArrayIndex: incrementCurArrayIndex,\r\n })\r\n\r\n return schema.map((item, idx) => {\r\n let keyWay\r\n let customCompAdditionProps\r\n switch (item.type) {\r\n //TODO: надо удалить\r\n case 'block':\r\n // Прокидывание arrayKeyWayItemName дальше\r\n return blockComponent(item, idx, {\r\n ...additionProps,\r\n // Сброс индексации массива\r\n arrayKeyWayItemName: undefined,\r\n getCurArrayIndex: undefined,\r\n incrementCurArrayIndex: undefined,\r\n })\r\n //TODO: надо удалить\r\n case 'custom_field_wrapper':\r\n // Прокидывание arrayKeyWayItemName дальше\r\n return customFieldWrapperComponent(item, idx, {\r\n ...additionProps,\r\n // Сброс индексации массива\r\n arrayKeyWayItemName: undefined,\r\n getCurArrayIndex: undefined,\r\n incrementCurArrayIndex: undefined,\r\n })\r\n\r\n // Актуальные блоки, другие будут постепенно выпиливаться\r\n case 'react_node_component':\r\n return reactNodeComponent(item, idx, additionProps)\r\n case 'form_wrapper':\r\n keyWay = processingOfKeyWay(newAdditionProps, getCurArrayIndex, incrementCurArrayIndex)\r\n customCompAdditionProps = getCustomCompAdditionProps(keyWay, newAdditionProps)\r\n return formWrapperComponent(item, idx, {\r\n ...newAdditionProps,\r\n keyWay: keyWay,\r\n customCompAdditionProps: customCompAdditionProps,\r\n })\r\n case 'input_field':\r\n keyWay = processingOfKeyWay(newAdditionProps, getCurArrayIndex, incrementCurArrayIndex)\r\n customCompAdditionProps = getCustomCompAdditionProps(keyWay, newAdditionProps)\r\n return inputFieldComponent(item, idx, {\r\n ...newAdditionProps,\r\n keyWay: keyWay,\r\n customCompAdditionProps: customCompAdditionProps,\r\n })\r\n case 'array_fields':\r\n keyWay = processingOfKeyWay(newAdditionProps, getCurArrayIndex, incrementCurArrayIndex)\r\n customCompAdditionProps = getCustomCompAdditionProps(keyWay, newAdditionProps)\r\n return arrayFieldComponent(item, idx, {\r\n ...newAdditionProps,\r\n keyWay: keyWay,\r\n })\r\n case \"block_wrapper\":\r\n customCompAdditionProps = getCustomCompAdditionProps(undefined, newAdditionProps)\r\n return blockWrapperComponent(item, idx, {\r\n ...newAdditionProps,\r\n customCompAdditionProps: customCompAdditionProps,\r\n })\r\n default:\r\n return null\r\n }\r\n })\r\n}\r\n\r\nexport default formBuilder","import React, {Key, ReactElement} from \"react\";\r\nimport {isCustomComponent} from \"@/lib\";\r\nimport {FORM_WRAPPER_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {formBuilder} from \"../lib\";\r\n\r\nconst formWrapperComponent = (schema: FORM_WRAPPER_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n const newKeyWay = schema.props.name ? [...additionProps.keyWay, schema.props.name] : additionProps.keyWay\r\n const Element = schema.form_wrapper ? schema.form_wrapper : <div/>\r\n return React.cloneElement(Element, {\r\n ...{...schema.props},\r\n key: key,\r\n ...(isCustomComponent(Element) ? additionProps.customCompAdditionProps : {}),\r\n children: schema.props.children && formBuilder(schema.props.children, {\r\n ...additionProps,\r\n // Сброс индексации массива\r\n arrayKeyWayItemName: undefined,\r\n getCurArrayIndex: undefined,\r\n incrementCurArrayIndex: undefined,\r\n keyWay: newKeyWay\r\n }),\r\n })\r\n}\r\n\r\nexport default formWrapperComponent","export {default as inputFieldComponent} from './inputFieldComponent'\r\nexport {default as reactNodeComponent} from './reactNodeComponent'\r\nexport {default as formWrapperComponent} from './formWrapperComponent'\r\nexport {default as arrayFieldComponent} from './arrayFieldComponent'\r\nexport {default as blockComponent} from \"./blockComponent\";\r\nexport {default as customFieldWrapperComponent} from \"./customFieldWrapperComponent\";\r\nexport {default as blockWrapperComponent} from \"./blockWrapperComponent\";\r\nexport {default as formBuilder} from './formBuilder'\r\n","import React, {Key, ReactElement} from \"react\";\r\nimport {DictDeepActionKeyWayType} from \"@/types\";\r\nimport {isCustomComponent,} from \"@/lib\";\r\nimport {InputField} from \"@/ui\";\r\nimport {UseIsErrorFieldAddErrorFieldType, UseIsErrorFieldRemoveErrorFieldType} from '@/hooks'\r\nimport {\r\n INPUT_FIELD_SCHEMA,\r\n InputFieldOnBlurValidationType,\r\n InputFieldValidationFunObjectReturnType,\r\n InputFieldValidationFunType\r\n} from \"../schemes\";\r\nimport {AdditionPropsType} from \"../types\";\r\nimport {INIT_FIELDS_NAME} from \"../consts\";\r\n\r\nconst getKeyWay = (schema: INPUT_FIELD_SCHEMA, additionProps: AdditionPropsType) => {\r\n if (schema.props.keyWay) {\r\n return schema.props.keyWay\r\n } else if (schema.props.name) {\r\n return [...additionProps.keyWay, schema.props.name]\r\n } else {\r\n // проверка на нахождение поле в array_fields\r\n const lastKeyWayItem = additionProps.keyWay[additionProps.keyWay.length - 1]\r\n if (typeof lastKeyWayItem === 'object') {\r\n return additionProps.keyWay\r\n }\r\n }\r\n return []\r\n}\r\n\r\nconst getValidateFunResponse = (value: any, fun: InputFieldValidationFunType): InputFieldValidationFunObjectReturnType => {\r\n const res = fun(value)\r\n\r\n if (typeof res === 'object') {\r\n return res\r\n } else if (typeof res === 'string') {\r\n if (res === '')\r\n return {status: true, message: ''}\r\n else\r\n return {status: false, message: res}\r\n }\r\n\r\n return {status: res, message: ''}\r\n}\r\n\r\nconst getValidateFun = (\r\n validationProps: InputFieldOnBlurValidationType,\r\n value: any,\r\n keyWay: DictDeepActionKeyWayType,\r\n schemeRequired: boolean,\r\n removeError: UseIsErrorFieldRemoveErrorFieldType,\r\n addError: UseIsErrorFieldAddErrorFieldType,\r\n) => {\r\n return () => {\r\n let required = schemeRequired\r\n let fun: InputFieldValidationFunType = () => true\r\n\r\n if ('required' in validationProps && validationProps.required !== undefined) {\r\n required = validationProps.required\r\n }\r\n\r\n if ('fun' in validationProps && validationProps.fun !== undefined) {\r\n fun = validationProps.fun\r\n }\r\n\r\n const isEmptyValue = !value ||\r\n (Array.isArray(value) && value.length === 0) ||\r\n (typeof value === 'object' && Object.keys(value).length === 0)\r\n\r\n const funRes = getValidateFunResponse(value, fun)\r\n if (required ? !isEmptyValue && funRes.status : isEmptyValue || funRes.status) {\r\n removeError(keyWay)\r\n } else {\r\n addError(keyWay, funRes.message)\r\n }\r\n }\r\n}\r\n\r\nconst getOnBlurValidation = (schema: INPUT_FIELD_SCHEMA, additionProps: AdditionPropsType, keyWay: DictDeepActionKeyWayType) => {\r\n const props = schema.props.onBlurValidation || schema.props.onChangeValidation\r\n if (props) {\r\n const value = additionProps.getValue(keyWay)\r\n return getValidateFun(props, value, keyWay, schema.props.required || false, additionProps.removeErrorField, additionProps.addErrorField)\r\n }\r\n return undefined\r\n}\r\n\r\nconst getOnChangeValidation = (schema: INPUT_FIELD_SCHEMA, additionProps: AdditionPropsType, keyWay: DictDeepActionKeyWayType) => {\r\n let props = schema.props.onChangeValidation\r\n\r\n if (!props && schema.props.required === true) {\r\n props = {fun: (data) => true}\r\n }\r\n\r\n if (props) {\r\n const value = additionProps.getValue(keyWay)\r\n return getValidateFun(props, value, keyWay, schema.props.required || false, additionProps.removeOnChangeErrorField, additionProps.addOnChangeErrorField)\r\n }\r\n return undefined\r\n}\r\n\r\nconst getOnChange = (schema: INPUT_FIELD_SCHEMA, keyWay: DictDeepActionKeyWayType, additionProps: AdditionPropsType) => {\r\n const serializeValue = schema.props.serializeValue\r\n let onChangeValidation = getOnChangeValidation(schema, additionProps, keyWay)\r\n return (data: any) => {\r\n onChangeValidation && onChangeValidation()\r\n serializeValue ? additionProps.setValue(serializeValue(data), keyWay) : additionProps.setValue(data, keyWay)\r\n }\r\n}\r\n\r\nconst inputFieldComponent = (schema: INPUT_FIELD_SCHEMA, key: Key, additionProps: AdditionPropsType): ReactElement => {\r\n let onChange = undefined\r\n let value = undefined\r\n let isError = undefined\r\n let isErrorHintText = undefined\r\n\r\n let onBlur: ((e: any) => void) | undefined = undefined\r\n let keyWay: DictDeepActionKeyWayType = getKeyWay(schema, additionProps)\r\n\r\n if (keyWay) {\r\n const deserializeValue = schema.props.deserializeValue\r\n\r\n value = deserializeValue ? deserializeValue(additionProps.getValue(keyWay)) : additionProps.getValue(keyWay)\r\n onChange = getOnChange(schema, keyWay, additionProps)\r\n isError = additionProps.isErrorField(keyWay)\r\n isErrorHintText = additionProps.getErrorMessage(keyWay)\r\n onBlur = getOnBlurValidation(schema, additionProps, keyWay)\r\n\r\n // Поиск инициализированных полей\r\n const initFields: DictDeepActionKeyWayType = additionProps.getPrivateRefStoreValue(INIT_FIELDS_NAME) || []\r\n if (!initFields.find(item => JSON.stringify(item) === JSON.stringify(keyWay))) {\r\n additionProps.addPrivateRefStoreValue([...initFields, keyWay], INIT_FIELDS_NAME)\r\n onChange(value !== undefined ? value : schema.props.defaultValue)\r\n }\r\n }\r\n\r\n const comp = schema.props.ownerInputComponent ? schema.props.ownerInputComponent : <InputField/>\r\n\r\n const props = {\r\n ...(additionProps?.inputFieldAdditionProps ? additionProps?.inputFieldAdditionProps : {}),\r\n value: value,\r\n onChange: onChange,\r\n isError: isError,\r\n isErrorHintText: isErrorHintText,\r\n onBlur: onBlur,\r\n key: key,\r\n ...(additionProps.inputFieldClassName ? {className: additionProps.inputFieldClassName} : {}),\r\n ...(isCustomComponent(comp) ? additionProps.customCompAdditionProps : {}),\r\n ...schema.props,\r\n }\r\n return React.cloneElement(comp, props)\r\n}\r\n\r\n\r\nexport default inputFieldComponent","import React, {Key, ReactNode} from \"react\";\r\nimport {REACT_NODE_SCHEMA} from \"../schemes\";\r\nimport {AdditionPropsType} from '../types';\r\n\r\nconst reactNodeComponent = (schema: REACT_NODE_SCHEMA, key: Key, _additionProps: AdditionPropsType): ReactNode => {\r\n if (React.isValidElement(schema.react_node_comp))\r\n return React.cloneElement(schema.react_node_comp, {key: key})\r\n return schema.react_node_comp\r\n}\r\n\r\nexport default reactNodeComponent","import React, {ReactElement, ReactNode} from \"react\";\r\nimport {Overwrite} from \"@/types\";\r\nimport {InputFieldPropsType, InputFieldWrapperPropsType} from \"@/ui\";\r\n\r\nexport type BLOCK_SCHEMA = {\r\n type: 'block',\r\n props?: Overwrite<React.HTMLProps<HTMLDivElement>, {\r\n children?: FORM_BUILDER_SCHEMA,\r\n }>\r\n}\r\n\r\nexport type ADDITION_PROPS = {\r\n type: 'addition_props',\r\n props: {\r\n className?: { [key: string]: string },\r\n }\r\n}\r\n\r\nexport type CUSTOM_FIELD_WRAPPER_SCHEMA = {\r\n type: 'custom_field_wrapper',\r\n props: Overwrite<InputFieldWrapperPropsType, {\r\n children?: FORM_BUILDER_SCHEMA,\r\n }>\r\n}\r\n\r\nexport type InputFieldValidationFunObjectReturnType = { status: boolean, message: string }\r\nexport type InputFieldValidationFunReturnType = string | boolean | InputFieldValidationFunObjectReturnType\r\nexport type InputFieldValidationFunType = (data: any) => InputFieldValidationFunReturnType\r\n\r\n// export type InputFieldValidationType = { required?: boolean, fun?: InputFieldValidationFunType }\r\nexport type InputFieldOnBlurValidationType = { required?: boolean, fun?: InputFieldValidationFunType }\r\n\r\nexport type INPUT_FIELD_SCHEMA = {\r\n type: 'input_field',\r\n props: InputFieldPropsType & {\r\n keyWay?: string[],\r\n ownerInputComponent?: ReactElement,\r\n onBlurValidation?: InputFieldOnBlurValidationType,\r\n onChangeValidation?: InputFieldOnBlurValidationType,\r\n required?: boolean,\r\n\r\n // Непроверенны\r\n defaultValue?: any,\r\n serializeValue?: (data: any) => any,\r\n deserializeValue?: (data: any) => any,\r\n },\r\n}\r\n\r\nexport type REACT_NODE_SCHEMA = {\r\n type: 'react_node_component',\r\n react_node_comp?: ReactNode,\r\n}\r\n\r\nexport type FORM_WRAPPER_SCHEMA = {\r\n type: 'form_wrapper',\r\n form_wrapper?: ReactElement,\r\n props: Overwrite<React.HTMLProps<HTMLDivElement>, {\r\n name?: string,\r\n children?: FORM_BUILDER_SCHEMA,\r\n }>,\r\n}\r\n\r\nexport type ARRAY_FIELDS_SCHEMA = {\r\n type: 'array_fields',\r\n array_comp?: ReactElement,\r\n props: Overwrite<React.HTMLProps<HTMLDivElement>, {\r\n name: string,\r\n children?: FORM_BUILDER_SCHEMA,\r\n }>\r\n}\r\n\r\nexport type BLOCK_WRAPPER_SCHEMA<T = HTMLDivElement> = {\r\n type: 'block_wrapper',\r\n block_wrapper?: ReactElement,\r\n props?: Overwrite<React.HTMLProps<T>, {\r\n children?: FORM_BUILDER_SCHEMA,\r\n }>\r\n}\r\n\r\nexport type FORM_BUILDER_SCHEMA = (\r\n FORM_WRAPPER_SCHEMA |\r\n REACT_NODE_SCHEMA |\r\n INPUT_FIELD_SCHEMA |\r\n BLOCK_SCHEMA |\r\n ADDITION_PROPS |\r\n CUSTOM_FIELD_WRAPPER_SCHEMA |\r\n ARRAY_FIELDS_SCHEMA |\r\n BLOCK_WRAPPER_SCHEMA\r\n )[]\r\n","import {\r\n InputFieldClassNameType,\r\n} from \"@/ui\";\r\nimport {DictDeepActionKeyWayType} from \"@/types\";\r\nimport {\r\n UseFormDataDeleteArrayItemType,\r\n UseFormDataGetValueType,\r\n UseFormDataSetValueType,\r\n UseIsErrorFieldAddErrorFieldType,\r\n UseIsErrorFieldGetErrorMessageType,\r\n UseIsErrorFieldIsErrorFieldType,\r\n UseIsErrorFieldIsErrorType,\r\n UseIsErrorFieldRemoveErrorFieldType\r\n} from \"@/hooks\";\r\nimport {FORM_BUILDER_SCHEMA} from \"../schemes\";\r\n\r\nexport type FormBuilderPropsType<T> = {\r\n schema: FORM_BUILDER_SCHEMA,\r\n formDataDefault?: T,\r\n onChange?: (formData: T) => void,\r\n onChangeIsError?: (isError: UseIsErrorFieldIsErrorType) => void,\r\n onChangeValidateIsError?: (isError: UseIsErrorFieldIsErrorType) => void,\r\n inputFieldClassName?: InputFieldClassNameType,\r\n additionIsErrorFields?: UseIsErrorFieldIsErrorType,\r\n formDataDefaultListener?: T,\r\n sensitiveErrorSearch?: boolean,\r\n inputFieldAdditionProps?: InputFieldAdditionPropsType,\r\n}\r\n\r\nexport type GetStoreValueType = (key: string) => any\r\nexport type AddStoreValueType = (value: any, key: string) => void\r\nexport type RemoveStoreValueType = (key: string) => void\r\n\r\nexport type ValidateFunction = {\r\n validateFun: (data: any) => boolean,\r\n keyWay: DictDeepActionKeyWayType,\r\n errorMessage?: string,\r\n}\r\n\r\nexport type CustomCompAdditionPropsType = {\r\n deletearrayitem?: () => void,\r\n getvalue?: () => any,\r\n}\r\n\r\nexport type StandardCompAdditionPropsType = {\r\n [key: string]: any\r\n}\r\n\r\nexport type InputFieldAdditionPropsType = {\r\n [key: string]: any\r\n}\r\n\r\nexport type AdditionPropsType = {\r\n // пропсы для определения keyWay полей\r\n keyWay: DictDeepActionKeyWayType,\r\n arrayKeyWayItemName?: string,\r\n\r\n // функции для управления итерацией array_fields\r\n // (используются только в formBuilder, другие функции только прокидываю их до него)\r\n getCurArrayIndex?: () => number,\r\n incrementCurArrayIndex?: () => void,\r\n\r\n // Пропсы для работы в useFormData\r\n getValue: UseFormDataGetValueType,\r\n setValue: UseFormDataSetValueType,\r\n deleteArrayItemHook: UseFormDataDeleteArrayItemType,\r\n\r\n // Пропсы для работы в useIsErrorField\r\n isErrorField: UseIsErrorFieldIsErrorFieldType,\r\n getErrorMessage: UseIsErrorFieldGetErrorMessageType,\r\n addErrorField: UseIsErrorFieldAddErrorFieldType,\r\n removeErrorField: UseIsErrorFieldRemoveErrorFieldType,\r\n\r\n addOnChangeErrorField: UseIsErrorFieldAddErrorFieldType,\r\n removeOnChangeErrorField: UseIsErrorFieldRemoveErrorFieldType,\r\n\r\n // Общий пропс className для input_field\r\n inputFieldClassName?: InputFieldClassNameType,\r\n\r\n // deletearrayitem?: () => void,\r\n // getvalue?: () => any,\r\n\r\n standardCompAdditionProps?: StandardCompAdditionPropsType,\r\n customCompAdditionProps?: CustomCompAdditionPropsType,\r\n inputFieldAdditionProps?: InputFieldAdditionPropsType,\r\n\r\n // getStateStoreValue: GetStoreValueType,\r\n // addStateStoreValue: AddStoreValueType,\r\n // removeStateStoreValue: RemoveStoreValueType,\r\n // getRefStoreValue: GetStoreValueType,\r\n // addRefStoreValue: AddStoreValueType,\r\n // removeRefStoreValue: RemoveStoreValueType,\r\n\r\n\r\n getPrivateRefStoreValue: GetStoreValueType,\r\n addPrivateRefStoreValue: AddStoreValueType,\r\n removePrivateRefStoreValue: RemoveStoreValueType,\r\n\r\n}\r\n","export * from './FormBuilderTypes'\r\nexport * from \"../schemes\"","'use client'\r\n\r\nimport React, {useEffect, useRef, useState} from \"react\";\r\nimport {\r\n AddStoreValueType,\r\n FormBuilderPropsType,\r\n GetStoreValueType,\r\n RemoveStoreValueType,\r\n ValidateFunction\r\n} from \"../types\";\r\nimport {useFormData, useIsErrorField, UseIsErrorFieldReturnType} from \"@/hooks\";\r\nimport {formBuilder} from \"../lib\";\r\nimport {KEY_WAY_STORE_NAME} from \"../consts\";\r\n\r\nexport function FormBuilder<T extends { [key: string]: any }>({\r\n schema,\r\n formDataDefault,\r\n onChange,\r\n onChangeIsError,\r\n inputFieldClassName,\r\n additionIsErrorFields,\r\n onChangeValidateIsError,\r\n formDataDefaultListener,\r\n inputFieldAdditionProps,\r\n sensitiveErrorSearch = true,\r\n }: FormBuilderPropsType<T>): React.JSX.Element {\r\n //==================================================================================================================\r\n // Пока спорная фича, скорее всего лишняя\r\n const [formBuilderStateStore, setFormBuilderStateStore] = useState<{ [key: string]: any }>({})\r\n const formBuilderRefStore = useRef<{ [key: string]: any }>({})\r\n\r\n const getStateStoreValue: GetStoreValueType = (key) => {\r\n return formBuilderStateStore[key]\r\n }\r\n const addStateStoreValue: AddStoreValueType = (value, key) => {\r\n setFormBuilderStateStore(prevState => ({...prevState, [key]: value}))\r\n }\r\n const removeStateStoreValue: RemoveStoreValueType = (key) => {\r\n setFormBuilderStateStore(prevState => {\r\n const newState = {...prevState}\r\n delete newState[key]\r\n return newState\r\n })\r\n }\r\n const getRefStoreValue: GetStoreValueType = (key) => {\r\n return formBuilderRefStore.current[key]\r\n }\r\n const addRefStoreValue: AddStoreValueType = (value, key) => {\r\n formBuilderRefStore.current[key] = value\r\n }\r\n const removeRefStoreValue: RemoveStoreValueType = (key) => {\r\n delete formBuilderRefStore.current[key]\r\n }\r\n //==================================================================================================================\r\n\r\n const privateRefStore = useRef<{ [key: string]: any }>({})\r\n const getPrivateRefStoreValue: GetStoreValueType = (key) => {\r\n return privateRefStore.current[key]\r\n }\r\n const addPrivateRefStoreValue: AddStoreValueType = (value, key) => {\r\n privateRefStore.current[key] = value\r\n }\r\n const removePrivateRefStoreValue: RemoveStoreValueType = (key) => {\r\n delete privateRefStore.current[key]\r\n }\r\n\r\n const {\r\n formData,\r\n setFormData,\r\n setValue,\r\n getValue,\r\n deleteArrayItem\r\n } = useFormData<T>(formDataDefault || ({} as T))\r\n\r\n const {\r\n isErrorField,\r\n addErrorField,\r\n removeErrorField,\r\n getErrorMessage,\r\n isError\r\n } = useIsErrorField({\r\n additionIsErrorFields: additionIsErrorFields,\r\n sensitiveSearch: sensitiveErrorSearch,\r\n })\r\n\r\n const onChangeError: UseIsErrorFieldReturnType = useIsErrorField({\r\n additionIsErrorFields: additionIsErrorFields,\r\n sensitiveSearch: sensitiveErrorSearch,\r\n })\r\n\r\n const validateFunctions = useRef<ValidateFunction[]>([])\r\n validateFunctions.current = []\r\n\r\n removePrivateRefStoreValue(KEY_WAY_STORE_NAME)\r\n\r\n useEffect(() => {\r\n if (formDataDefaultListener !== undefined) {\r\n setFormData(formDataDefaultListener)\r\n }\r\n }, [formDataDefaultListener]);\r\n\r\n useEffect(() => {\r\n onChange && onChange(formData)\r\n }, [formData])\r\n\r\n useEffect(() => {\r\n onChangeIsError && onChangeIsError(isError)\r\n }, [isError])\r\n\r\n useEffect(() => {\r\n onChangeValidateIsError && onChangeValidateIsError(onChangeError.isError)\r\n }, [onChangeError.isError])\r\n\r\n return (\r\n <>\r\n {\r\n formBuilder(schema, {\r\n keyWay: [],\r\n getValue: getValue,\r\n setValue: setValue,\r\n inputFieldClassName: inputFieldClassName,\r\n isErrorField: isErrorField,\r\n getErrorMessage: getErrorMessage,\r\n addErrorField: addErrorField,\r\n removeErrorField: removeErrorField,\r\n\r\n addOnChangeErrorField: onChangeError.addErrorField,\r\n removeOnChangeErrorField: onChangeError.removeErrorField,\r\n\r\n inputFieldAdditionProps: inputFieldAdditionProps,\r\n\r\n deleteArrayItemHook: deleteArrayItem,\r\n // getStateStoreValue: getStateStoreValue,\r\n // getRefStoreValue: getRefStoreValue,\r\n // addStateStoreValue: addStateStoreValue,\r\n // addRefStoreValue: addRefStoreValue,\r\n // removeStateStoreValue: removeStateStoreValue,\r\n // removeRefStoreValue: removeRefStoreValue,\r\n getPrivateRefStoreValue: getPrivateRefStoreValue,\r\n addPrivateRefStoreValue: addPrivateRefStoreValue,\r\n removePrivateRefStoreValue: removePrivateRefStoreValue,\r\n })\r\n }\r\n </>\r\n )\r\n}","export * from './FormBuilder'","export {default as FlexField} from './ui/FlexField'\r\nexport * from './types'","export {default as FlexFieldStyle} from './FlexField.module.scss'","import React, {ReactNode} from \"react\";\r\n\r\nexport type FlexFieldClassNameType = {\r\n flexField?: string,\r\n inputField?: string,\r\n isError?: string,\r\n disabled?: string,\r\n focus?: string,\r\n pointer?: string,\r\n icon?: string,\r\n textSupport?: string,\r\n userPic?: string,\r\n help?: string,\r\n dropdown?: string,\r\n dropdownReverse?: string,\r\n button?: string,\r\n gray?: string,\r\n red?: string,\r\n}\r\n\r\nexport type FlexFieldPropsType = {\r\n value?: any,\r\n type?: string,\r\n onChange?: (value: any) => void,\r\n /*\r\n * Маска imask, можно засунуть, как строку (к примеру 000-000-000),\r\n * так и регулярное выражение. Важно!!!: не ставить маску undefined,\r\n * т.к. для перехвата ввода используется onAccept, поэтому если `mask === undefined`,\r\n * то при изменение строка не пройдет валидацию и функция не будет вызвана.\r\n * */\r\n mask?: any,\r\n placeholder?: string,\r\n required?: boolean,\r\n disabled?: boolean,\r\n isError?: boolean,\r\n onFocus?: (e: any) => void,\r\n onBlur?: (e: any) => void,\r\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void,\r\n notInput?: boolean,\r\n\r\n icon?: ReactNode,\r\n textSupport?: boolean | string | ReactNode,\r\n userPic?: string | ReactNode,\r\n help?: boolean | ReactNode,\r\n dropdown?: boolean | ReactNode,\r\n button?: boolean | ReactNode,\r\n /*\r\n * Если true шеврон вверх, иначе - false.\r\n * */\r\n dropdownState?: boolean,\r\n /*\r\n * Серая и красные расцветки кнопок, по умолчанию - \"gray\".\r\n * */\r\n buttonState?: 'gray' | 'red',\r\n /*\r\n * Событие нажатия на кнопку button.\r\n * */\r\n onButtonClick?: () => void,\r\n className?: FlexFieldClassNameType,\r\n}","export * from './FlexFieldTypes'","'use client'\r\n\r\nimport React, {forwardRef, useState} from \"react\";\r\nimport {IMaskInput} from \"react-imask\";\r\nimport clsx from \"clsx\";\r\nimport {AlertCircleSVG, ChevronDownSVG, HelpCircleSVG, XCloseSVG} from \"@/assets\";\r\nimport {FlexFieldPropsType} from \"../types\";\r\nimport {FlexFieldStyle} from \"../styles\";\r\n\r\nconst FlexField = forwardRef<HTMLDivElement, FlexFieldPropsType>(({\r\n value,\r\n type,\r\n onChange,\r\n onFocus,\r\n onBlur,\r\n onClick,\r\n mask = /.*/,\r\n required = false,\r\n disabled = false,\r\n isError = false,\r\n placeholder,\r\n notInput = false,\r\n icon,\r\n help,\r\n dropdown,\r\n userPic,\r\n textSupport,\r\n dropdownState = false,\r\n button,\r\n buttonState = 'gray',\r\n onButtonClick,\r\n className = FlexFieldStyle,\r\n }, ref): React.JSX.Element => {\r\n const [isFocus, setIsFocus] = useState<boolean>(false)\r\n\r\n const handleChange = (newValue: any) => {\r\n onChange && onChange(newValue)\r\n }\r\n\r\n const handleBlur = (e: any) => {\r\n onBlur && onBlur(e)\r\n setIsFocus(false)\r\n }\r\n\r\n const handleFocus = (e: any) => {\r\n onFocus && onFocus(e)\r\n setIsFocus(true)\r\n }\r\n\r\n const getInput = () => {\r\n if (notInput) {\r\n return <span className={className?.inputField}>{value}</span>\r\n }\r\n let validValue = typeof value === 'string' ? value : ''\r\n return <IMaskInput value={validValue}\r\n type={type}\r\n mask={mask}\r\n required={required}\r\n disabled={disabled}\r\n placeholder={placeholder}\r\n onAccept={handleChange}\r\n onFocus={handleFocus}\r\n onBlur={handleBlur}\r\n className={className?.inputField}/>\r\n }\r\n\r\n const getIcon = () => {\r\n return <div className={className?.icon}>{icon}</div>\r\n }\r\n\r\n const getTextSupport = () => {\r\n if (!textSupport) return undefined\r\n if (typeof textSupport === \"boolean\") {\r\n return <span className={className?.textSupport}>+7</span>\r\n } else if (typeof textSupport === \"string\") {\r\n return <span className={className?.textSupport}>{textSupport}</span>\r\n } else {\r\n return textSupport\r\n }\r\n }\r\n\r\n const getUserPic = () => {\r\n if (typeof userPic === \"string\") {\r\n return userPic && <img src={userPic} className={className?.userPic}/>\r\n }\r\n return userPic\r\n }\r\n\r\n const getHelp = () => {\r\n if (!help) return undefined\r\n if (typeof help === \"boolean\") {\r\n return <button className={className?.help}>{isError ? <AlertCircleSVG/> : <HelpCircleSVG/>}</button>\r\n } else {\r\n return help\r\n }\r\n }\r\n\r\n const getDropdown = () => {\r\n if (!dropdown) return undefined\r\n if (typeof dropdown === \"boolean\") {\r\n return <span\r\n className={clsx(className?.dropdown, {[className?.dropdownReverse]: dropdownState})}><ChevronDownSVG/></span>\r\n } else {\r\n return dropdown\r\n }\r\n }\r\n\r\n const getButton = () => {\r\n if (!button) return undefined\r\n if (typeof button === \"boolean\") {\r\n return <button onClick={onButtonClick} className={clsx(className?.button, {\r\n [className?.gray]: buttonState === 'gray',\r\n [className?.red]: buttonState === 'red'\r\n })}><XCloseSVG/></button>\r\n } else {\r\n return button\r\n }\r\n }\r\n\r\n return (\r\n <div ref={ref}\r\n onClick={onClick}\r\n className={clsx(className?.flexField, {\r\n [className?.isError as string]: isError,\r\n [className?.disabled as string]: disabled,\r\n [className?.focus as string]: isFocus,\r\n [className?.pointer as string]: !!onClick,\r\n })}>\r\n {getIcon()}\r\n {getTextSupport()}\r\n {getUserPic()}\r\n {getInput()}\r\n {getHelp()}\r\n {getDropdown()}\r\n {getButton()}\r\n </div>\r\n )\r\n})\r\n\r\nexport default FlexField","export {default as InputFieldWrapper} from './ui/InputFieldWrapper'\r\nexport * from './types'","export {default as InputFieldWrapperStyle} from './InputFieldWrapper.module.scss'","import {ReactElement, ReactNode} from \"react\";\r\n\r\nexport type InputFieldWrapperClassNameType = {\r\n inputFieldWrapper?: string,\r\n isError?: string,\r\n labelText?: string,\r\n hintText?: string,\r\n helperLink?: string,\r\n required?: string,\r\n hintError?: string,\r\n}\r\n\r\nexport type InputFieldWrapperHelperLinkType =\r\n { text: ReactNode, href?: string } |\r\n { element: ReactElement } |\r\n { text: string, onClick?: () => void }\r\n\r\nexport type InputFieldWrapperPropsType = {\r\n children?: ReactNode,\r\n labelText?: string,\r\n hintText?: string,\r\n isErrorHintText?: string,\r\n helperLink?: InputFieldWrapperHelperLinkType,\r\n isError?: boolean,\r\n viewRequired?: boolean,\r\n className?: InputFieldWrapperClassNameType,\r\n}","export * from './InputFieldWrapperTypes'","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {InputFieldWrapperPropsType} from '../types'\r\nimport {InputFieldWrapperStyle} from \"../styles\";\r\n\r\nexport default function InputFieldWrapper({\r\n children,\r\n labelText,\r\n hintText,\r\n isErrorHintText,\r\n helperLink,\r\n isError,\r\n viewRequired,\r\n className = InputFieldWrapperStyle,\r\n }: InputFieldWrapperPropsType): React.JSX.Element {\r\n const getLabelContent = () => {\r\n if (labelText) {\r\n return (\r\n <label className={className?.labelText}>\r\n {labelText}{viewRequired && <span className={className?.required}>*</span>}\r\n </label>\r\n )\r\n }\r\n return undefined\r\n }\r\n\r\n const getHintContent = () => {\r\n if (isError && isErrorHintText)\r\n return <span className={className?.hintError}>{isErrorHintText}</span>\r\n\r\n if (hintText)\r\n return <span className={className?.hintText}>{hintText}</span>\r\n\r\n return undefined\r\n }\r\n\r\n const getHelperLinkContent = () => {\r\n if (helperLink) {\r\n if ('element' in helperLink)\r\n return helperLink.element\r\n\r\n if ('href' in helperLink) {\r\n return <a href={helperLink.href} className={className?.helperLink}>{helperLink.text}</a>\r\n }\r\n\r\n if ('onClick' in helperLink) {\r\n return <span onClick={helperLink.onClick} className={className?.helperLink}>{helperLink.text}</span>\r\n } else {\r\n return <span className={className?.helperLink}>{helperLink.text}</span>\r\n }\r\n }\r\n return undefined\r\n }\r\n\r\n return (\r\n <div className={clsx(className?.inputFieldWrapper, {\r\n [className?.isError as string]: isError,\r\n })}>\r\n {getLabelContent()}\r\n {children}\r\n {getHintContent()}\r\n {getHelperLinkContent()}\r\n </div>\r\n )\r\n}","export {default as InputField} from './ui/InputField'\r\nexport * from './types'","export {default as InputFieldStyle} from './InputField.module.scss'","import {SwitcherFieldClassNameType, SwitcherFieldPropsType} from '../../SwitcherField'\r\nimport {FlexFieldClassNameType, FlexFieldPropsType} from '../../FlexField'\r\nimport {RadioFieldClassNameType, RadioFieldPropsType} from '../../RadioField'\r\nimport {SelectFieldClassNameType, SelectFieldPropsType} from '../../SelectField'\r\nimport {TextareaFieldClassNameType, TextareaFieldPropsType} from '../../TextareaField'\r\nimport {InputFieldWrapperClassNameType, InputFieldWrapperPropsType} from \"../../InputFieldWrapper\";\r\n\r\nexport type InputFieldTypes = 'switcher' | 'select' | 'radio' | 'textarea' | string\r\n\r\nexport type InputFieldClassNameType =\r\n SwitcherFieldClassNameType &\r\n FlexFieldClassNameType &\r\n RadioFieldClassNameType &\r\n SelectFieldClassNameType &\r\n TextareaFieldClassNameType &\r\n InputFieldWrapperClassNameType &\r\n {}\r\n\r\nexport type InputFieldPropsType =\r\n Omit<(\r\n & ({ type?: 'switcher' } & SwitcherFieldPropsType)\r\n & ({ type?: 'select' } & SelectFieldPropsType)\r\n & ({ type?: 'radio' } & RadioFieldPropsType)\r\n & ({ type?: 'textarea' } & TextareaFieldPropsType)\r\n & ({ type?: HTMLInputElement['type'] } & FlexFieldPropsType)\r\n ), 'value' | 'onChange' | 'type' | 'className'>\r\n & Omit<InputFieldWrapperPropsType, 'children' | 'className' | 'type'>\r\n & {\r\n value?: any,\r\n onChange?: (value: any) => void,\r\n type?: InputFieldTypes,\r\n offWrapper?: boolean,\r\n className?: InputFieldClassNameType,\r\n}","export * from './InputFieldTypes'","import React from \"react\"\r\nimport {\r\n FlexField,\r\n InputFieldWrapper,\r\n RadioField,\r\n SelectField,\r\n SwitcherField,\r\n TextareaField,\r\n} from \"../../../InputFields\";\r\nimport {InputFieldStyle} from \"../styles\";\r\nimport {InputFieldPropsType} from \"../types\";\r\n\r\nexport default function InputField({type, offWrapper, className = InputFieldStyle, ...props}: InputFieldPropsType): React.JSX.Element {\r\n const getField = () => {\r\n switch (type) {\r\n case 'select':\r\n return <SelectField {...props} className={className}/>\r\n case 'radio':\r\n return <RadioField {...props} className={className}/>\r\n case 'switcher':\r\n return <SwitcherField {...props} className={className}/>\r\n case 'textarea':\r\n return <TextareaField {...props} className={className}/>\r\n default:\r\n return <FlexField {...props} type={type} className={className}/>\r\n }\r\n }\r\n\r\n if (offWrapper) {\r\n return getField()\r\n }\r\n\r\n return <InputFieldWrapper {...props} viewRequired={props.viewRequired !== undefined? props.viewRequired : props.required} className={className}>{getField()}</InputFieldWrapper>\r\n}","export * from './types'\r\nexport {default as RadioField} from './ui/RadioField'","export {default as RadioFieldStyle} from './RadioField.module.scss'","import {RadioFieldOptionsItemType} from './RadioFieldTypes'\r\n\r\nexport type RadioFieldItemClassNameType = {\r\n radioFieldItem?: string,\r\n checkbox?: string,\r\n label?: string,\r\n active?: string,\r\n}\r\n\r\nexport type RadioFieldOwnerItemPropsType = {\r\n onClick?: () => void,\r\n active?: boolean,\r\n disabled?: boolean,\r\n}\r\n\r\nexport type RadioFieldItemPropsType = {\r\n option: RadioFieldOptionsItemType,\r\n onClick?: () => void,\r\n active?: boolean,\r\n disabled?: boolean,\r\n className?: RadioFieldItemClassNameType,\r\n}","import {RadioFieldItemClassNameType, RadioFieldOwnerItemPropsType} from './RadioFieldItemTypes'\r\nimport {ReactElement} from \"react\";\r\n\r\nexport type RadioFieldClassNameType = RadioFieldItemClassNameType & {\r\n radioField?: string,\r\n}\r\n\r\nexport type RadioFieldOptionsItemType = {\r\n value: any,\r\n label?: string,\r\n component?: ReactElement<RadioFieldOwnerItemPropsType>,\r\n}\r\n\r\nexport type RadioFieldOptionsType = RadioFieldOptionsItemType[]\r\n\r\nexport type RadioFieldValueType = any | any[]\r\n\r\nexport type RadioFieldPropsType = {\r\n value?: RadioFieldValueType,\r\n onChange?: (value: any) => void,\r\n options?: RadioFieldOptionsType,\r\n required?: boolean,\r\n multiple?: boolean,\r\n disabled?: boolean,\r\n className?: RadioFieldClassNameType,\r\n}","export * from './RadioFieldTypes'\r\nexport * from './RadioFieldItemTypes'","'use client'\r\n\r\nimport React, {useEffect} from \"react\"\r\nimport {RadioFieldOptionsItemType, RadioFieldPropsType} from \"../types\";\r\nimport {RadioFieldStyle} from \"../styles\";\r\nimport RadioFieldItem from \"./RadioFieldItem\";\r\n\r\nexport default function RadioField({\r\n value,\r\n onChange,\r\n options = [],\r\n required = false,\r\n multiple = true,\r\n disabled = false,\r\n className = RadioFieldStyle,\r\n }: RadioFieldPropsType): React.JSX.Element {\r\n useEffect(() => {\r\n if (required && options[0] && (value === undefined || Array.isArray(value) && value.length === 0)) {\r\n onChange && onChange(options[0].value)\r\n }\r\n }, []);\r\n\r\n const handleChange = (option: RadioFieldOptionsItemType) => {\r\n let newValue: any[]\r\n\r\n if (value) {\r\n if (Array.isArray(value)) {\r\n newValue = [...value]\r\n } else {\r\n newValue = [value]\r\n }\r\n } else {\r\n newValue = []\r\n }\r\n\r\n if (!!newValue.find(item => JSON.stringify(item) === JSON.stringify(option.value))) {\r\n newValue = newValue.filter(item => JSON.stringify(item) !== JSON.stringify(option.value))\r\n } else {\r\n newValue = [...newValue, option.value]\r\n }\r\n\r\n if (required && newValue.length === 0) {\r\n if (value) {\r\n if (Array.isArray(value)) {\r\n newValue = [...value]\r\n } else {\r\n newValue = [value]\r\n }\r\n } else {\r\n if (options[0])\r\n newValue = [options[0]]\r\n }\r\n }\r\n\r\n if (!multiple) {\r\n newValue = [newValue[newValue.length - 1]]\r\n }\r\n\r\n onChange && onChange(newValue)\r\n }\r\n\r\n const isActive = (option: RadioFieldOptionsItemType) => {\r\n if (Array.isArray(value)) {\r\n return value.find(item => JSON.stringify(item) === JSON.stringify(option.value))\r\n } else {\r\n return JSON.stringify(value) === JSON.stringify(option.value)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {options.map((item, idx) => <RadioFieldItem option={item}\r\n onClick={() => handleChange(item)}\r\n active={isActive(item)}\r\n disabled={disabled}\r\n className={className}\r\n key={idx}/>)}\r\n </>\r\n )\r\n}","import React from \"react\"\r\nimport clsx from \"clsx\";\r\nimport {RadioFieldItemPropsType} from \"../types\";\r\n\r\nexport default function RadioFieldItem({\r\n option,\r\n onClick,\r\n active = false,\r\n disabled = false,\r\n className,\r\n }: RadioFieldItemPropsType): React.JSX.Element {\r\n if (option.component) {\r\n return React.cloneElement(option.component, {onClick: onClick, active: active, disabled: disabled})\r\n }\r\n\r\n return (\r\n <button onClick={onClick}\r\n disabled={disabled}\r\n className={clsx(className?.radioFieldItem, {\r\n [className?.active as string]: active,\r\n })}>\r\n <div className={className?.checkbox}></div>\r\n <span className={className?.label}>{option.label}</span>\r\n </button>\r\n )\r\n}","export const DELTA_SCROLL_END = 10","export * from './ScrollConfig'","export {default as SelectField} from './ui/SelectField'\r\nexport * from './types'\r\n","import {SelectFieldOptionsType, SelectFieldValueType} from '../types'\r\n\r\nexport default function getStringValue(value: SelectFieldValueType, options: SelectFieldOptionsType = []): string {\r\n if (Array.isArray(value)) {\r\n const labels = options.filter(item => !!value.find(v => JSON.stringify(v) === JSON.stringify(item.value))).map(item => item.label)\r\n return labels.join(', ')\r\n }\r\n return options.find(item => JSON.stringify(item.value) === JSON.stringify(value))?.label || ''\r\n}","export {default as isActiveOption} from './isActiveOption'\r\nexport {default as getStringValue} from './getStringValue'","import {SelectFieldValueType, SelectFieldOptionsItemType} from \"../types\";\r\n\r\nexport default function isActiveOption(value: SelectFieldValueType, option: SelectFieldOptionsItemType): boolean {\r\n if (Array.isArray(value)) {\r\n return value.find(item => item === option.value)\r\n }\r\n return value === option.value\r\n}","export {default as SelectFieldStyle} from './SelectField.module.scss'","import {SelectFieldOptionsItemType} from './SelectFieldTypes'\r\n\r\nexport type SelectFieldOptionsItemClassNameType = {\r\n selectFieldOptionsItem?: string,\r\n label?: string,\r\n active?: string,\r\n}\r\n\r\nexport type SelectFieldOptionsOwnerItemPropsType = {\r\n active?: boolean,\r\n onClick?: () => void,\r\n}\r\n\r\nexport type SelectFieldOptionsItemPropsType = {\r\n option: SelectFieldOptionsItemType,\r\n active?: boolean,\r\n onClick?: () => void,\r\n className?: SelectFieldOptionsItemClassNameType,\r\n}","import {ReactElement} from \"react\";\r\n\r\nimport {FlexFieldClassNameType} from '../../FlexField'\r\nimport {SelectModalWindowClassNameType} from './SelectModalWindowTypes'\r\nimport {SelectFieldOptionsOwnerItemPropsType} from \"./SelectFieldOptionsItemTypes\";\r\n\r\nexport type SelectFieldClassNameType = FlexFieldClassNameType & SelectModalWindowClassNameType & {\r\n selectField?: string,\r\n modalWindow?: string,\r\n}\r\n\r\nexport type SelectFieldOptionsItemType = {\r\n value: any,\r\n label?: string,\r\n component?: ReactElement<SelectFieldOptionsOwnerItemPropsType>,\r\n}\r\nexport type SelectFieldOptionsType = SelectFieldOptionsItemType[]\r\nexport type SelectFieldValueType = any[] | any\r\nexport type SelectFieldLoadMoreOptionsType = (optionsCount: number) => Promise<SelectFieldOptionsType>\r\n\r\nexport type SelectFieldPropsType = {\r\n value?: SelectFieldValueType,\r\n onChange?: (value: any) => void,\r\n isError?: boolean,\r\n isSearching?: boolean,\r\n required?: boolean,\r\n multiple?: boolean,\r\n disabled?: boolean,\r\n offOptionsSyncing?: boolean,\r\n placeholder?: string,\r\n onBlur?: () => void,\r\n options?: SelectFieldOptionsType,\r\n autoClose?: boolean,\r\n loadMoreOptions?: SelectFieldLoadMoreOptionsType,\r\n className?: SelectFieldClassNameType,\r\n}","import {SelectFieldOptionsType, SelectFieldValueType} from './SelectFieldTypes'\r\nimport {SelectFieldOptionsItemClassNameType} from \"./SelectFieldOptionsItemTypes\";\r\n\r\nexport type SelectModalWindowClassNameType = SelectFieldOptionsItemClassNameType & {\r\n selectModalWindow?: string,\r\n}\r\n\r\nexport type SelectModalWindowPropsType = {\r\n value: SelectFieldValueType,\r\n onChange: (value: any[]) => void,\r\n options: SelectFieldOptionsType,\r\n onScrollToBottom?: () => void,\r\n className?: SelectModalWindowClassNameType,\r\n}","export * from './SelectFieldTypes'\r\nexport * from './SelectModalWindowTypes'\r\nexport * from './SelectFieldOptionsItemTypes'","import React, {useEffect, useRef, useState} from \"react\";\r\nimport {FlexField} from '../../FlexField'\r\nimport {SelectFieldOptionsType, SelectFieldPropsType} from '../types';\r\nimport {getStringValue} from '../lib';\r\nimport {SelectFieldStyle} from \"../styles\";\r\nimport SelectModalWindow from \"./SelectModalWindow\";\r\n\r\nexport default function SelectField({\r\n value,\r\n onChange,\r\n options = [],\r\n placeholder,\r\n isError,\r\n isSearching = false,\r\n required = false,\r\n multiple = false,\r\n disabled = false,\r\n offOptionsSyncing = false,\r\n autoClose = true,\r\n onBlur,\r\n loadMoreOptions,\r\n className = SelectFieldStyle,\r\n }: SelectFieldPropsType): React.JSX.Element {\r\n const [isFocus, setIsFocus] = useState<boolean>(false)\r\n const [searchingString, setSearchingString] = useState<string>('')\r\n const [isShowModalWindow, setIsShowModalWindow] = useState<boolean>(false)\r\n\r\n const [optionsState, setOptionsState] = useState<SelectFieldOptionsType>(options)\r\n\r\n const inputRef = useRef<HTMLDivElement>(null)\r\n const modalWindowRef = useRef<HTMLDivElement>(null)\r\n\r\n useEffect(() => {\r\n if (!offOptionsSyncing)\r\n setOptionsState(options)\r\n }, [options]);\r\n\r\n useEffect(() => {\r\n if (required && optionsState[0] && (value === undefined || Array.isArray(value) && value.length === 0)) {\r\n onChange && onChange(optionsState[0].value)\r\n }\r\n\r\n const onClickListener = (e: MouseEvent) => {\r\n const isInputElement = e.target === inputRef.current || inputRef.current?.contains(e.target as Node)\r\n const isModalWindowElement = e.target === modalWindowRef.current || modalWindowRef.current?.contains(e.target as Node)\r\n\r\n if (!isInputElement && !isModalWindowElement) {\r\n setIsShowModalWindow(false)\r\n onBlur && onBlur()\r\n }\r\n }\r\n\r\n window.addEventListener('click', onClickListener)\r\n return () => {\r\n window.removeEventListener('click', onClickListener)\r\n }\r\n }, []);\r\n\r\n const handleChange = (data: any[]) => {\r\n if (data.length === 0 && required) {\r\n let newValue\r\n\r\n if (Array.isArray(value)) {\r\n newValue = value[0]\r\n } else {\r\n newValue = value\r\n }\r\n\r\n onChange && onChange([newValue || optionsState[0]])\r\n } else {\r\n if (data.length > 1 && !multiple) {\r\n onChange && onChange([data[data.length - 1]])\r\n if (autoClose) {\r\n setIsShowModalWindow(false)\r\n onBlur && onBlur()\r\n }\r\n } else {\r\n onChange && onChange(data)\r\n }\r\n }\r\n }\r\n\r\n const getViewField = () => {\r\n if (isSearching) {\r\n return <FlexField value={isFocus ? searchingString : getStringValue(value, optionsState)}\r\n onChange={setSearchingString}\r\n disabled={disabled}\r\n onFocus={() => {\r\n setIsFocus(true)\r\n setIsShowModalWindow(true)\r\n }}\r\n onBlur={() => {\r\n setIsFocus(false)\r\n setIsShowModalWindow(false)\r\n onBlur && onBlur()\r\n }}\r\n onClick={() => setIsShowModalWindow(true)}\r\n isError={isError}\r\n placeholder={placeholder}\r\n dropdown={true}\r\n dropdownState={isShowModalWindow}\r\n ref={inputRef}\r\n />\r\n }\r\n\r\n return <FlexField value={getStringValue(value, optionsState)}\r\n isError={isError}\r\n disabled={disabled}\r\n placeholder={placeholder}\r\n notInput={true}\r\n onClick={() => setIsShowModalWindow(true)}\r\n dropdown={true}\r\n dropdownState={isShowModalWindow}\r\n ref={inputRef}\r\n />\r\n }\r\n\r\n const onScrollToBottom = async () => {\r\n if (loadMoreOptions) {\r\n const newOptions = await loadMoreOptions(optionsState?.length)\r\n setOptionsState(prevState => [...prevState, ...newOptions])\r\n }\r\n }\r\n\r\n return (\r\n <div className={className?.selectField}>\r\n {getViewField()}\r\n {isShowModalWindow && (\r\n <div ref={modalWindowRef} className={className?.modalWindow}>\r\n <SelectModalWindow value={value}\r\n options={optionsState}\r\n onChange={handleChange}\r\n onScrollToBottom={onScrollToBottom}\r\n className={className}/>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {CheckSVG} from \"@/assets\";\r\nimport {SelectFieldOptionsItemPropsType} from \"../types\";\r\n\r\nexport default function SelectFieldOptionsItem({option, active, onClick, className}: SelectFieldOptionsItemPropsType): React.JSX.Element {\r\n if (option.component) {\r\n return React.cloneElement(option.component, {onClick: onClick, active: active});\r\n }\r\n\r\n return (\r\n <button onClick={onClick}\r\n className={clsx(className?.selectFieldOptionsItem, {\r\n [className?.active as string]: active,\r\n })}>\r\n\r\n <span className={className?.label}>{option.label}</span>\r\n {active && <CheckSVG/>}\r\n </button>\r\n )\r\n}","import React from \"react\";\r\nimport {SelectFieldOptionsItemType, SelectModalWindowPropsType} from \"../types\";\r\nimport {isActiveOption} from \"../lib\";\r\nimport {DELTA_SCROLL_END} from \"../config\";\r\nimport SelectFieldOptionsItem from \"./SelectFieldOptionsItem\";\r\n\r\nexport default function SelectModalWindow({\r\n value,\r\n onChange,\r\n options,\r\n onScrollToBottom,\r\n className,\r\n }: SelectModalWindowPropsType): React.JSX.Element {\r\n const handleClick = (option: SelectFieldOptionsItemType) => {\r\n let newValue: any[]\r\n\r\n if (value) {\r\n if (Array.isArray(value)) {\r\n newValue = [...value]\r\n } else {\r\n newValue = [value]\r\n }\r\n } else {\r\n newValue = []\r\n }\r\n\r\n newValue.find(item => item === option.value)\r\n\r\n if (!!newValue.find(item => JSON.stringify(item) === JSON.stringify(option.value))) {\r\n onChange && onChange(newValue.filter(item => JSON.stringify(item) !== JSON.stringify(option.value)))\r\n } else {\r\n onChange([...newValue, option.value])\r\n }\r\n }\r\n\r\n const handleScroll: React.UIEventHandler<HTMLDivElement> = (event) => {\r\n const scrollHeight = event.currentTarget.scrollHeight\r\n const clientHeight = event.currentTarget.clientHeight\r\n const scrollTop = event.currentTarget.scrollTop\r\n\r\n if (scrollHeight - scrollTop - clientHeight < DELTA_SCROLL_END) {\r\n onScrollToBottom && onScrollToBottom()\r\n }\r\n }\r\n\r\n return (\r\n <div onScroll={handleScroll} className={className?.selectModalWindow}>\r\n {options.map((item, idx) => <SelectFieldOptionsItem option={item}\r\n active={isActiveOption(value, item)}\r\n onClick={() => handleClick(item)}\r\n className={className}\r\n key={idx}/>)}\r\n </div>\r\n )\r\n}","export {default as SwitcherField} from './ui/SwitcherField'\r\nexport * from './types'","export {default as SwitcherFieldStyle} from './SwitcherField.module.scss'","import {ReactElement, ReactNode} from \"react\";\r\n\r\nexport type SwitcherFieldClassNameType = {\r\n switcherField?: string,\r\n active?: string,\r\n}\r\n\r\nexport type SwitcherFieldPropsType = {\r\n value?: boolean,\r\n onChange?: (value: any) => void,\r\n disabled?: boolean,\r\n className?: SwitcherFieldClassNameType,\r\n switcherWrapper?: ReactElement<any>,\r\n children?: ReactNode,\r\n}","export * from './SwitcherFieldTypes'","import React, {ReactElement} from 'react'\r\nimport clsx from \"clsx\";\r\nimport {SwitcherFieldPropsType} from \"../types\";\r\nimport {SwitcherFieldStyle} from \"../styles\";\r\n\r\nexport default function SwitcherField({\r\n value,\r\n onChange,\r\n children,\r\n disabled = false,\r\n switcherWrapper,\r\n className = SwitcherFieldStyle\r\n }: SwitcherFieldPropsType): React.JSX.Element {\r\n\r\n const handleChange = () => {\r\n onChange && onChange(!value)\r\n }\r\n\r\n const Switcher = ({value, className, disabled}: SwitcherFieldPropsType) => {\r\n return (\r\n <button disabled={disabled}\r\n onClick={handleChange}\r\n className={clsx(className?.switcherField, {\r\n [className?.active as string]: !!value,\r\n })}>\r\n {children}\r\n </button>\r\n )\r\n }\r\n\r\n if (switcherWrapper !== undefined) {\r\n return React.cloneElement(switcherWrapper, {\r\n children: <Switcher className={className} value={value} disabled={disabled}/>,\r\n value: value,\r\n onChange: onChange,\r\n disabled: disabled\r\n },)\r\n }\r\n\r\n return <Switcher className={className} value={value} disabled={disabled}/>\r\n}","export {default as TextareaField} from './ui/TextareaField'\r\nexport * from \"./types\"","export {default as TextareaFieldStyle} from './TextareaField.module.scss'","export type TextareaFieldClassNameType = {\r\n textareaField?: string,\r\n isError?: string,\r\n}\r\n\r\nexport type TextareaFieldPropsType = {\r\n value?: string,\r\n name?: string,\r\n placeholder?: string,\r\n onChange?: (value: any) => void,\r\n isError?: boolean,\r\n required?: boolean,\r\n disabled?: boolean,\r\n className?: TextareaFieldClassNameType,\r\n}","export * from './TextareaFieldTypes'","import React, {ChangeEvent} from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {TextareaFieldPropsType} from \"../types\";\r\nimport {TextareaFieldStyle} from \"../styles\";\r\n\r\nexport default function TextareaField({\r\n value,\r\n name,\r\n placeholder,\r\n onChange,\r\n required = false,\r\n disabled = false,\r\n isError = false,\r\n className = TextareaFieldStyle,\r\n }: TextareaFieldPropsType): React.JSX.Element {\r\n const handleOnChange = (e: ChangeEvent<HTMLTextAreaElement>) => {\r\n e.preventDefault()\r\n onChange && onChange(e.target.value)\r\n }\r\n\r\n return (\r\n <textarea name={name}\r\n placeholder={placeholder}\r\n value={value || ''}\r\n onChange={handleOnChange}\r\n required={required}\r\n disabled={disabled}\r\n className={clsx(className?.textareaField, {\r\n [className?.isError as string]: isError,\r\n })}\r\n />\r\n )\r\n}","export * from './FlexField'\r\nexport * from './SelectField'\r\nexport * from './InputFieldWrapper'\r\nexport * from './SwitcherField'\r\nexport * from './RadioField'\r\nexport * from './TextareaField'\r\nexport * from './InputField'\r\n","export * from './ui'\r\nexport * from './types'","export {default as MicroButtonStyle} from './MicroButton.module.scss'","import React from \"react\";\r\n\r\nexport type MicroButtonSizeType =\r\n | '14'\r\n | '16'\r\n | '20'\r\n | '24'\r\n | '28'\r\n\r\nexport type MicroButtonColorsType =\r\n | 'light'\r\n | 'dark'\r\n | 'gray'\r\n | 'color'\r\n | 'color-hover'\r\n | 'red-hover'\r\n | 'color-fill'\r\n | 'gray-fill'\r\n | 'red-fill'\r\n\r\nexport type MicroButtonClassNameType = {\r\n button?: string,\r\n\r\n light?: string,\r\n dark?: string,\r\n gray?: string,\r\n color?: string,\r\n colorHover?: string,\r\n redHover?: string,\r\n colorFill?: string,\r\n grayFill?: string,\r\n redFill?: string,\r\n\r\n size14?: string,\r\n size16?: string,\r\n size20?: string,\r\n size24?: string,\r\n size28?: string,\r\n}\r\n/**\r\n * Компонент кнопки\r\n */\r\nexport type MicroButtonPropsType = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'className'> & {\r\n /** Текст внутри кнопки */\r\n children?: React.ReactNode,\r\n /** Иконка слева */\r\n icon?: React.ReactNode,\r\n /** Размер иконки (Size в дизайне) */\r\n size?: MicroButtonSizeType,\r\n /** Цвет иконки (Color в дизайне) */\r\n color?: MicroButtonColorsType,\r\n /** Дополнительные имена стилей */\r\n additionStyles?: string | string[],\r\n className?: MicroButtonClassNameType,\r\n}","export * from './MicroButtonTypes'","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport {MicroButtonPropsType} from '../types'\r\nimport {MicroButtonStyle} from \"../styles\";\r\n\r\nexport function MicroButton({\r\n children,\r\n icon,\r\n size = '14',\r\n color = 'light',\r\n additionStyles = [],\r\n className = MicroButtonStyle,\r\n ...props\r\n }: MicroButtonPropsType) {\r\n\r\n const getTypeClassName = () => {\r\n switch (color) {\r\n case 'light':\r\n return className?.light\r\n case 'dark':\r\n return className?.dark\r\n case 'color':\r\n return className?.color\r\n case 'color-fill':\r\n return className?.colorFill\r\n case 'color-hover':\r\n return className?.colorHover\r\n case 'red-fill':\r\n return className?.redFill\r\n case 'red-hover':\r\n return className?.redHover\r\n case 'gray':\r\n return className?.gray\r\n case 'gray-fill':\r\n return className?.grayFill\r\n }\r\n }\r\n\r\n const getSizeClassName = () => {\r\n switch (size) {\r\n case \"14\":\r\n return className?.size14\r\n case \"16\":\r\n return className?.size16\r\n case \"20\":\r\n return className?.size20\r\n case \"24\":\r\n return className?.size24\r\n case \"28\":\r\n return className?.size28\r\n }\r\n }\r\n\r\n const getAdditionStyles = () => {\r\n if (typeof additionStyles === 'string') {\r\n return additionStyles\r\n }\r\n return additionStyles.join(' ')\r\n }\r\n\r\n return (\r\n <button {...props}\r\n className={clsx(className?.button, getTypeClassName(), getSizeClassName(), getAdditionStyles())}>\r\n {icon || children}\r\n </button>\r\n )\r\n}","export * from './MicroButton'","export * from './Buttons'\r\nexport * from './MicroButton'\r\nexport * from './DatePicker'\r\nexport * from './InputFields'\r\nexport * from './FormBuilder'","module.exports = __WEBPACK_EXTERNAL_MODULE_react__;","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","import { getDayOfYear } from \"../../getDayOfYear.js\";\nimport { getISOWeek } from \"../../getISOWeek.js\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.js\";\nimport { getWeek } from \"../../getWeek.js\";\nimport { getWeekYear } from \"../../getWeekYear.js\";\n\nimport { addLeadingZeros } from \"../addLeadingZeros.js\";\nimport { lightFormatters } from \"./lightFormatters.js\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(+date / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n return addLeadingZeros(+date, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","import { toDate } from \"../toDate.js\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","import { normalizeDates } from \"./normalizeDates.js\";\n\nexport function normalizeInterval(context, interval) {\n const [start, end] = normalizeDates(context, interval.start, interval.end);\n return { start, end };\n}\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addDays} function options.\n */\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n * @param options - An object with options\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n if (!amount) return _date;\n\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addMonths} function options.\n */\n\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be added.\n * @param options - The options object\n *\n * @returns The new date with the months added\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n *\n * // Add one month to 30 January 2023:\n * const result = addMonths(new Date(2023, 0, 30), 1)\n * //=> Tue Feb 28 2023 00:00:00\n */\nexport function addMonths(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return _date;\n }\n const dayOfMonth = _date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n const endOfDesiredMonth = constructFrom(options?.in || date, _date.getTime());\n endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);\n const daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n _date.setFullYear(\n endOfDesiredMonth.getFullYear(),\n endOfDesiredMonth.getMonth(),\n dayOfMonth,\n );\n return _date;\n }\n}\n\n// Fallback for modularized imports:\nexport default addMonths;\n","import { addDays } from \"./addDays.js\";\n\n/**\n * The {@link addWeeks} function options.\n */\n\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of weeks to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of weeks to be added.\n * @param options - An object with options\n *\n * @returns The new date with the weeks added\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\nexport function addWeeks(date, amount, options) {\n return addDays(date, amount * 7, options);\n}\n\n// Fallback for modularized imports:\nexport default addWeeks;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * @name closestIndexTo\n * @category Common Helpers\n * @summary Return an index of the closest date from the array comparing to the given date.\n *\n * @description\n * Return an index of the closest date from the array comparing to the given date.\n *\n * @param dateToCompare - The date to compare with\n * @param dates - The array to search\n *\n * @returns An index of the date closest to the given date or undefined if no valid value is given\n *\n * @example\n * // Which date is closer to 6 September 2015?\n * const dateToCompare = new Date(2015, 8, 6)\n * const datesArray = [\n * new Date(2015, 0, 1),\n * new Date(2016, 0, 1),\n * new Date(2017, 0, 1)\n * ]\n * const result = closestIndexTo(dateToCompare, datesArray)\n * //=> 1\n */\nexport function closestIndexTo(dateToCompare, dates) {\n // [TODO] It would be better to return -1 here rather than undefined, as this\n // is how JS behaves, but it would be a breaking change, so we need\n // to consider it for v4.\n const timeToCompare = +toDate(dateToCompare);\n\n if (isNaN(timeToCompare)) return NaN;\n\n let result;\n let minDistance;\n dates.forEach((date, index) => {\n const date_ = toDate(date);\n\n if (isNaN(+date_)) {\n result = NaN;\n minDistance = NaN;\n return;\n }\n\n const distance = Math.abs(timeToCompare - +date_);\n if (result == null || distance < minDistance) {\n result = index;\n minDistance = distance;\n }\n });\n\n return result;\n}\n\n// Fallback for modularized imports:\nexport default closestIndexTo;\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date>(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\n\n/**\n * The {@link differenceInDays} function options.\n */\n\n/**\n * @name differenceInDays\n * @category Day Helpers\n * @summary Get the number of full days between the given dates.\n *\n * @description\n * Get the number of full day periods between two dates. Fractional days are\n * truncated towards zero.\n *\n * One \"full day\" is the distance between a local time in one day to the same\n * local time on the next or previous day. A full day can sometimes be less than\n * or more than 24 hours if a daylight savings change happens between two dates.\n *\n * To ignore DST and only measure exact 24-hour periods, use this instead:\n * `Math.trunc(differenceInHours(dateLeft, dateRight)/24)|0`.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - An object with options\n *\n * @returns The number of full days according to the local timezone\n *\n * @example\n * // How many full days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 365\n *\n * @example\n * // How many full days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 0\n *\n * @example\n * // How many full days are between\n * // 1 March 2020 0:00 and 1 June 2020 0:00 ?\n * // Note: because local time is used, the\n * // result will always be 92 days, even in\n * // time zones where DST starts and the\n * // period has only 92*24-1 hours.\n * const result = differenceInDays(\n * new Date(2020, 5, 1),\n * new Date(2020, 2, 1)\n * )\n * //=> 92\n */\nexport function differenceInDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const sign = compareLocalAsc(laterDate_, earlierDate_);\n const difference = Math.abs(\n differenceInCalendarDays(laterDate_, earlierDate_),\n );\n\n laterDate_.setDate(laterDate_.getDate() - sign * difference);\n\n // Math.abs(diff in full days - diff in calendar days) === 1 if last calendar day is not full\n // If so, result must be decreased by 1 in absolute value\n const isLastDayNotFull = Number(\n compareLocalAsc(laterDate_, earlierDate_) === -sign,\n );\n\n const result = sign * (difference - isLastDayNotFull);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}\n\n// Like `compareAsc` but uses local time not UTC, which is needed\n// for accurate equality comparisons of UTC timestamps that end up\n// having the same representation in local time, e.g. one hour before\n// DST ends vs. the instant that DST ends.\nfunction compareLocalAsc(laterDate, earlierDate) {\n const diff =\n laterDate.getFullYear() - earlierDate.getFullYear() ||\n laterDate.getMonth() - earlierDate.getMonth() ||\n laterDate.getDate() - earlierDate.getDate() ||\n laterDate.getHours() - earlierDate.getHours() ||\n laterDate.getMinutes() - earlierDate.getMinutes() ||\n laterDate.getSeconds() - earlierDate.getSeconds() ||\n laterDate.getMilliseconds() - earlierDate.getMilliseconds();\n\n if (diff < 0) return -1;\n if (diff > 0) return 1;\n\n // Return 0 if diff is 0; return NaN if diff is NaN\n return diff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInDays;\n","import { normalizeInterval } from \"./_lib/normalizeInterval.js\";\nimport { constructFrom } from \"./constructFrom.js\";\n\n/**\n * The {@link eachDayOfInterval} function options.\n */\n\n/**\n * The {@link eachDayOfInterval} function result type. It resolves the proper data type.\n * It uses the first argument date object type, starting from the date argument,\n * then the start interval date, and finally the end interval date. If\n * a context function is passed, it uses the context function return type.\n */\n\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @typeParam IntervalType - Interval type.\n * @typeParam Options - Options type.\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of days from the day of the interval start to the day of the interval end\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 9, 10)\n * })\n * //=> [\n * // Mon Oct 06 2014 00:00:00,\n * // Tue Oct 07 2014 00:00:00,\n * // Wed Oct 08 2014 00:00:00,\n * // Thu Oct 09 2014 00:00:00,\n * // Fri Oct 10 2014 00:00:00\n * // ]\n */\nexport function eachDayOfInterval(interval, options) {\n const { start, end } = normalizeInterval(options?.in, interval);\n\n let reversed = +start > +end;\n const endTime = reversed ? +start : +end;\n const date = reversed ? end : start;\n date.setHours(0, 0, 0, 0);\n\n let step = options?.step ?? 1;\n if (!step) return [];\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(constructFrom(start, date));\n date.setDate(date.getDate() + step);\n date.setHours(0, 0, 0, 0);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachDayOfInterval;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link endOfMonth} function options.\n */\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link endOfWeek} function options.\n */\n\n/**\n * @name endOfWeek\n * @category Week Helpers\n * @summary Return the end of a week for the given date.\n *\n * @description\n * Return the end of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The end of a week\n *\n * @example\n * // The end of a week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 23:59:59.999\n *\n * @example\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 23:59:59.999\n */\nexport function endOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n\n _date.setDate(_date.getDate() + diff);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfWeek;\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { formatters } from \"./_lib/format/formatters.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { isValid } from \"./isValid.js\";\nimport { toDate } from \"./toDate.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date, options?.in);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { startOfYear } from \"./startOfYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDayOfYear} function options.\n */\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date, options) {\n const _date = toDate(date, options?.in);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeek} function options.\n */\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeekYear} function options.\n */\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\nexport function getWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(options?.in || date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(options?.in || date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (+_date >= +startOfNextYear) {\n return year + 1;\n } else if (+_date >= +startOfThisYear) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The dates are equal\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nexport function isEqual(leftDate, rightDate) {\n return +toDate(leftDate) === +toDate(rightDate);\n}\n\n// Fallback for modularized imports:\nexport default isEqual;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link isSameDay} function options.\n */\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\n\n/**\n * The {@link isSameMonth} function options.\n */\n\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month (and year)?\n *\n * @description\n * Are the given dates in the same month (and year)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same month (and year)\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n *\n * @example\n * // Are 2 September 2014 and 25 September 2015 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25))\n * //=> false\n */\nexport function isSameMonth(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return (\n laterDate_.getFullYear() === earlierDate_.getFullYear() &&\n laterDate_.getMonth() === earlierDate_.getMonth()\n );\n}\n\n// Fallback for modularized imports:\nexport default isSameMonth;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link isSameWeek} function options.\n */\n\n/**\n * @name isSameWeek\n * @category Week Helpers\n * @summary Are the given dates in the same week (and month and year)?\n *\n * @description\n * Are the given dates in the same week (and month and year)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same week (and month and year)\n *\n * @example\n * // Are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))\n * //=> true\n *\n * @example\n * // If week starts with Monday,\n * // are 31 August 2014 and 4 September 2014 in the same week?\n * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {\n * weekStartsOn: 1\n * })\n * //=> false\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same week?\n * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport function isSameWeek(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return (\n +startOfWeek(laterDate_, options) === +startOfWeek(earlierDate_, options)\n );\n}\n\n// Fallback for modularized imports:\nexport default isSameWeek;\n","import { isDate } from \"./isDate.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertible into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n return !((!isDate(date) && typeof date !== \"number\") || isNaN(+toDate(date)));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link isWithinInterval} function options.\n */\n\n/**\n * @name isWithinInterval\n * @category Interval Helpers\n * @summary Is the given date within the interval?\n *\n * @description\n * Is the given date within the interval? (Including start and end.)\n *\n * @param date - The date to check\n * @param interval - The interval to check\n * @param options - An object with options\n *\n * @returns The date is within the interval\n *\n * @example\n * // For the date within the interval:\n * isWithinInterval(new Date(2014, 0, 3), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * // => true\n *\n * @example\n * // For the date outside of the interval:\n * isWithinInterval(new Date(2014, 0, 10), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * // => false\n *\n * @example\n * // For date equal to the interval start:\n * isWithinInterval(date, { start, end: date })\n * // => true\n *\n * @example\n * // For date equal to the interval end:\n * isWithinInterval(date, { start: date, end })\n * // => true\n */\nexport function isWithinInterval(date, interval, options) {\n const time = +toDate(date, options?.in);\n const [startTime, endTime] = [\n +toDate(interval.start, options?.in),\n +toDate(interval.end, options?.in),\n ].sort((a, b) => a - b);\n\n return time >= startTime && time <= endTime;\n}\n\n// Fallback for modularized imports:\nexport default isWithinInterval;\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./ru/_lib/formatDistance.js\";\nimport { formatLong } from \"./ru/_lib/formatLong.js\";\nimport { formatRelative } from \"./ru/_lib/formatRelative.js\";\nimport { localize } from \"./ru/_lib/localize.js\";\nimport { match } from \"./ru/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary Russian locale.\n * @language Russian\n * @iso-639-2 rus\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const ru = {\n code: \"ru\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default ru;\n","function declension(scheme, count) {\n // scheme for count=1 exists\n if (scheme.one !== undefined && count === 1) {\n return scheme.one;\n }\n\n const rem10 = count % 10;\n const rem100 = count % 100;\n\n // 1, 21, 31, ...\n if (rem10 === 1 && rem100 !== 11) {\n return scheme.singularNominative.replace(\"{{count}}\", String(count));\n\n // 2, 3, 4, 22, 23, 24, 32 ...\n } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {\n return scheme.singularGenitive.replace(\"{{count}}\", String(count));\n\n // 5, 6, 7, 8, 9, 10, 11, ...\n } else {\n return scheme.pluralGenitive.replace(\"{{count}}\", String(count));\n }\n}\n\nfunction buildLocalizeTokenFn(scheme) {\n return (count, options) => {\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n if (scheme.future) {\n return declension(scheme.future, count);\n } else {\n return \"через \" + declension(scheme.regular, count);\n }\n } else {\n if (scheme.past) {\n return declension(scheme.past, count);\n } else {\n return declension(scheme.regular, count) + \" назад\";\n }\n }\n } else {\n return declension(scheme.regular, count);\n }\n };\n}\n\nconst formatDistanceLocale = {\n lessThanXSeconds: buildLocalizeTokenFn({\n regular: {\n one: \"меньше секунды\",\n singularNominative: \"меньше {{count}} секунды\",\n singularGenitive: \"меньше {{count}} секунд\",\n pluralGenitive: \"меньше {{count}} секунд\",\n },\n future: {\n one: \"меньше, чем через секунду\",\n singularNominative: \"меньше, чем через {{count}} секунду\",\n singularGenitive: \"меньше, чем через {{count}} секунды\",\n pluralGenitive: \"меньше, чем через {{count}} секунд\",\n },\n }),\n\n xSeconds: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} секунда\",\n singularGenitive: \"{{count}} секунды\",\n pluralGenitive: \"{{count}} секунд\",\n },\n past: {\n singularNominative: \"{{count}} секунду назад\",\n singularGenitive: \"{{count}} секунды назад\",\n pluralGenitive: \"{{count}} секунд назад\",\n },\n future: {\n singularNominative: \"через {{count}} секунду\",\n singularGenitive: \"через {{count}} секунды\",\n pluralGenitive: \"через {{count}} секунд\",\n },\n }),\n\n halfAMinute: (_count, options) => {\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"через полминуты\";\n } else {\n return \"полминуты назад\";\n }\n }\n\n return \"полминуты\";\n },\n\n lessThanXMinutes: buildLocalizeTokenFn({\n regular: {\n one: \"меньше минуты\",\n singularNominative: \"меньше {{count}} минуты\",\n singularGenitive: \"меньше {{count}} минут\",\n pluralGenitive: \"меньше {{count}} минут\",\n },\n future: {\n one: \"меньше, чем через минуту\",\n singularNominative: \"меньше, чем через {{count}} минуту\",\n singularGenitive: \"меньше, чем через {{count}} минуты\",\n pluralGenitive: \"меньше, чем через {{count}} минут\",\n },\n }),\n\n xMinutes: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} минута\",\n singularGenitive: \"{{count}} минуты\",\n pluralGenitive: \"{{count}} минут\",\n },\n past: {\n singularNominative: \"{{count}} минуту назад\",\n singularGenitive: \"{{count}} минуты назад\",\n pluralGenitive: \"{{count}} минут назад\",\n },\n future: {\n singularNominative: \"через {{count}} минуту\",\n singularGenitive: \"через {{count}} минуты\",\n pluralGenitive: \"через {{count}} минут\",\n },\n }),\n\n aboutXHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} часа\",\n singularGenitive: \"около {{count}} часов\",\n pluralGenitive: \"около {{count}} часов\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} час\",\n singularGenitive: \"приблизительно через {{count}} часа\",\n pluralGenitive: \"приблизительно через {{count}} часов\",\n },\n }),\n\n xHours: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} час\",\n singularGenitive: \"{{count}} часа\",\n pluralGenitive: \"{{count}} часов\",\n },\n }),\n\n xDays: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} день\",\n singularGenitive: \"{{count}} дня\",\n pluralGenitive: \"{{count}} дней\",\n },\n }),\n\n aboutXWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} недели\",\n singularGenitive: \"около {{count}} недель\",\n pluralGenitive: \"около {{count}} недель\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} неделю\",\n singularGenitive: \"приблизительно через {{count}} недели\",\n pluralGenitive: \"приблизительно через {{count}} недель\",\n },\n }),\n\n xWeeks: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} неделя\",\n singularGenitive: \"{{count}} недели\",\n pluralGenitive: \"{{count}} недель\",\n },\n }),\n\n aboutXMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} месяца\",\n singularGenitive: \"около {{count}} месяцев\",\n pluralGenitive: \"около {{count}} месяцев\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} месяц\",\n singularGenitive: \"приблизительно через {{count}} месяца\",\n pluralGenitive: \"приблизительно через {{count}} месяцев\",\n },\n }),\n\n xMonths: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} месяц\",\n singularGenitive: \"{{count}} месяца\",\n pluralGenitive: \"{{count}} месяцев\",\n },\n }),\n\n aboutXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"около {{count}} года\",\n singularGenitive: \"около {{count}} лет\",\n pluralGenitive: \"около {{count}} лет\",\n },\n future: {\n singularNominative: \"приблизительно через {{count}} год\",\n singularGenitive: \"приблизительно через {{count}} года\",\n pluralGenitive: \"приблизительно через {{count}} лет\",\n },\n }),\n\n xYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"{{count}} год\",\n singularGenitive: \"{{count}} года\",\n pluralGenitive: \"{{count}} лет\",\n },\n }),\n\n overXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"больше {{count}} года\",\n singularGenitive: \"больше {{count}} лет\",\n pluralGenitive: \"больше {{count}} лет\",\n },\n future: {\n singularNominative: \"больше, чем через {{count}} год\",\n singularGenitive: \"больше, чем через {{count}} года\",\n pluralGenitive: \"больше, чем через {{count}} лет\",\n },\n }),\n\n almostXYears: buildLocalizeTokenFn({\n regular: {\n singularNominative: \"почти {{count}} год\",\n singularGenitive: \"почти {{count}} года\",\n pluralGenitive: \"почти {{count}} лет\",\n },\n future: {\n singularNominative: \"почти через {{count}} год\",\n singularGenitive: \"почти через {{count}} года\",\n pluralGenitive: \"почти через {{count}} лет\",\n },\n }),\n};\n\nexport const formatDistance = (token, count, options) => {\n return formatDistanceLocale[token](count, options);\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, d MMMM y 'г.'\",\n long: \"d MMMM y 'г.'\",\n medium: \"d MMM y 'г.'\",\n short: \"dd.MM.y\",\n};\n\nconst timeFormats = {\n full: \"H:mm:ss zzzz\",\n long: \"H:mm:ss z\",\n medium: \"H:mm:ss\",\n short: \"H:mm\",\n};\n\nconst dateTimeFormats = {\n any: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"any\",\n }),\n};\n","import { isSameWeek } from \"../../../isSameWeek.js\";\n\nconst accusativeWeekdays = [\n \"воскресенье\",\n \"понедельник\",\n \"вторник\",\n \"среду\",\n \"четверг\",\n \"пятницу\",\n \"субботу\",\n];\n\nfunction lastWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n return \"'в прошлое \" + weekday + \" в' p\";\n case 1:\n case 2:\n case 4:\n return \"'в прошлый \" + weekday + \" в' p\";\n case 3:\n case 5:\n case 6:\n return \"'в прошлую \" + weekday + \" в' p\";\n }\n}\n\nfunction thisWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n if (day === 2 /* Tue */) {\n return \"'во \" + weekday + \" в' p\";\n } else {\n return \"'в \" + weekday + \" в' p\";\n }\n}\n\nfunction nextWeek(day) {\n const weekday = accusativeWeekdays[day];\n\n switch (day) {\n case 0:\n return \"'в следующее \" + weekday + \" в' p\";\n case 1:\n case 2:\n case 4:\n return \"'в следующий \" + weekday + \" в' p\";\n case 3:\n case 5:\n case 6:\n return \"'в следующую \" + weekday + \" в' p\";\n }\n}\n\nconst formatRelativeLocale = {\n lastWeek: (date, baseDate, options) => {\n const day = date.getDay();\n if (isSameWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return lastWeek(day);\n }\n },\n yesterday: \"'вчера в' p\",\n today: \"'сегодня в' p\",\n tomorrow: \"'завтра в' p\",\n nextWeek: (date, baseDate, options) => {\n const day = date.getDay();\n if (isSameWeek(date, baseDate, options)) {\n return thisWeek(day);\n } else {\n return nextWeek(day);\n }\n },\n other: \"P\",\n};\n\nexport const formatRelative = (token, date, baseDate, options) => {\n const format = formatRelativeLocale[token];\n\n if (typeof format === \"function\") {\n return format(date, baseDate, options);\n }\n\n return format;\n};\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"до н.э.\", \"н.э.\"],\n abbreviated: [\"до н. э.\", \"н. э.\"],\n wide: [\"до нашей эры\", \"нашей эры\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"1-й кв.\", \"2-й кв.\", \"3-й кв.\", \"4-й кв.\"],\n wide: [\"1-й квартал\", \"2-й квартал\", \"3-й квартал\", \"4-й квартал\"],\n};\n\nconst monthValues = {\n narrow: [\"Я\", \"Ф\", \"М\", \"А\", \"М\", \"И\", \"И\", \"А\", \"С\", \"О\", \"Н\", \"Д\"],\n abbreviated: [\n \"янв.\",\n \"фев.\",\n \"март\",\n \"апр.\",\n \"май\",\n \"июнь\",\n \"июль\",\n \"авг.\",\n \"сент.\",\n \"окт.\",\n \"нояб.\",\n \"дек.\",\n ],\n\n wide: [\n \"январь\",\n \"февраль\",\n \"март\",\n \"апрель\",\n \"май\",\n \"июнь\",\n \"июль\",\n \"август\",\n \"сентябрь\",\n \"октябрь\",\n \"ноябрь\",\n \"декабрь\",\n ],\n};\n\nconst formattingMonthValues = {\n narrow: [\"Я\", \"Ф\", \"М\", \"А\", \"М\", \"И\", \"И\", \"А\", \"С\", \"О\", \"Н\", \"Д\"],\n abbreviated: [\n \"янв.\",\n \"фев.\",\n \"мар.\",\n \"апр.\",\n \"мая\",\n \"июн.\",\n \"июл.\",\n \"авг.\",\n \"сент.\",\n \"окт.\",\n \"нояб.\",\n \"дек.\",\n ],\n\n wide: [\n \"января\",\n \"февраля\",\n \"марта\",\n \"апреля\",\n \"мая\",\n \"июня\",\n \"июля\",\n \"августа\",\n \"сентября\",\n \"октября\",\n \"ноября\",\n \"декабря\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"В\", \"П\", \"В\", \"С\", \"Ч\", \"П\", \"С\"],\n short: [\"вс\", \"пн\", \"вт\", \"ср\", \"чт\", \"пт\", \"сб\"],\n abbreviated: [\"вск\", \"пнд\", \"втр\", \"срд\", \"чтв\", \"птн\", \"суб\"],\n wide: [\n \"воскресенье\",\n \"понедельник\",\n \"вторник\",\n \"среда\",\n \"четверг\",\n \"пятница\",\n \"суббота\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"веч.\",\n night: \"ночь\",\n },\n abbreviated: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"веч.\",\n night: \"ночь\",\n },\n wide: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полночь\",\n noon: \"полдень\",\n morning: \"утро\",\n afternoon: \"день\",\n evening: \"вечер\",\n night: \"ночь\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночи\",\n },\n abbreviated: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полн.\",\n noon: \"полд.\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"веч.\",\n night: \"ночи\",\n },\n wide: {\n am: \"ДП\",\n pm: \"ПП\",\n midnight: \"полночь\",\n noon: \"полдень\",\n morning: \"утра\",\n afternoon: \"дня\",\n evening: \"вечера\",\n night: \"ночи\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, options) => {\n const number = Number(dirtyNumber);\n const unit = options?.unit;\n\n let suffix;\n if (unit === \"date\") {\n suffix = \"-е\";\n } else if (unit === \"week\" || unit === \"minute\" || unit === \"second\") {\n suffix = \"-я\";\n } else {\n suffix = \"-й\";\n }\n\n return number + suffix;\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n formattingValues: formattingMonthValues,\n defaultFormattingWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"any\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^((до )?н\\.?\\s?э\\.?)/i,\n abbreviated: /^((до )?н\\.?\\s?э\\.?)/i,\n wide: /^(до нашей эры|нашей эры|наша эра)/i,\n};\nconst parseEraPatterns = {\n any: [/^д/i, /^н/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^[1234](-?[ыои]?й?)? кв.?/i,\n wide: /^[1234](-?[ыои]?й?)? квартал/i,\n};\n\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[яфмаисонд]/i,\n abbreviated:\n /^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\\.?/i,\n wide: /^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i,\n};\n\nconst parseMonthPatterns = {\n narrow: [\n /^я/i,\n /^ф/i,\n /^м/i,\n /^а/i,\n /^м/i,\n /^и/i,\n /^и/i,\n /^а/i,\n /^с/i,\n /^о/i,\n /^н/i,\n /^я/i,\n ],\n\n any: [\n /^я/i,\n /^ф/i,\n /^мар/i,\n /^ап/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^ав/i,\n /^с/i,\n /^о/i,\n /^н/i,\n /^д/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[впсч]/i,\n short: /^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\\.?/i,\n abbreviated: /^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,\n wide: /^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i,\n};\n\nconst parseDayPatterns = {\n narrow: [/^в/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i],\n any: [/^в[ос]/i, /^п[он]/i, /^в/i, /^ср/i, /^ч/i, /^п[ят]/i, /^с[уб]/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n abbreviated: /^([дп]п|полн\\.?|полд\\.?|утр[оа]|день|дня|веч\\.?|ноч[ьи])/i,\n wide: /^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i,\n};\n\nconst parseDayPeriodPatterns = {\n any: {\n am: /^дп/i,\n pm: /^пп/i,\n midnight: /^полн/i,\n noon: /^полд/i,\n morning: /^у/i,\n afternoon: /^д[ен]/i,\n evening: /^в/i,\n night: /^н/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link max} function options.\n */\n\n/**\n * @name max\n * @category Common Helpers\n * @summary Return the latest of the given dates.\n *\n * @description\n * Return the latest of the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param dates - The dates to compare\n *\n * @returns The latest of the dates\n *\n * @example\n * // Which of these dates is the latest?\n * const result = max([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Sun Jul 02 1995 00:00:00\n */\nexport function max(dates, options) {\n let result;\n let context = options?.in;\n\n dates.forEach((date) => {\n // Use the first date object as the context function\n if (!context && typeof date === \"object\")\n context = constructFrom.bind(null, date);\n\n const date_ = toDate(date, context);\n if (!result || result < date_ || isNaN(+date_)) result = date_;\n });\n\n return constructFrom(context, result || NaN);\n}\n\n// Fallback for modularized imports:\nexport default max;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link min} function options.\n */\n\n/**\n * @name min\n * @category Common Helpers\n * @summary Returns the earliest of the given dates.\n *\n * @description\n * Returns the earliest of the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param dates - The dates to compare\n *\n * @returns The earliest of the dates\n *\n * @example\n * // Which of these dates is the earliest?\n * const result = min([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Wed Feb 11 1987 00:00:00\n */\nexport function min(dates, options) {\n let result;\n let context = options?.in;\n\n dates.forEach((date) => {\n // Use the first date object as the context function\n if (!context && typeof date === \"object\")\n context = constructFrom.bind(null, date);\n\n const date_ = toDate(date, context);\n if (!result || result > date_ || isNaN(+date_)) result = date_;\n });\n\n return constructFrom(context, result || NaN);\n}\n\n// Fallback for modularized imports:\nexport default min;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfISOWeek} function options.\n */\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\n\n/**\n * The {@link startOfISOWeekYear} function options.\n */\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfMonth} function options.\n */\n\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date. The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments.\n * Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed,\n * or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a month\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n _date.setDate(1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfMonth;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getWeekYear } from \"./getWeekYear.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(options?.in || date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfYear} function options.\n */\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date, options) {\n const date_ = toDate(date, options?.in);\n date_.setFullYear(date_.getFullYear(), 0, 1);\n date_.setHours(0, 0, 0, 0);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","import { addMonths } from \"./addMonths.js\";\n\n/**\n * The subMonths function options.\n */\n\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the months subtracted\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function subMonths(date, amount, options) {\n return addMonths(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subMonths;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import HTMLMaskElement from './html-mask-element.js';\nimport IMask from '../core/holder.js';\nimport './mask-element.js';\n\nclass HTMLContenteditableMaskElement extends HTMLMaskElement {\n /** Returns HTMLElement selection start */\n get _unsafeSelectionStart() {\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n const anchorOffset = selection && selection.anchorOffset;\n const focusOffset = selection && selection.focusOffset;\n if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) {\n return anchorOffset;\n }\n return focusOffset;\n }\n\n /** Returns HTMLElement selection end */\n get _unsafeSelectionEnd() {\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n const anchorOffset = selection && selection.anchorOffset;\n const focusOffset = selection && selection.focusOffset;\n if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) {\n return anchorOffset;\n }\n return focusOffset;\n }\n\n /** Sets HTMLElement selection */\n _unsafeSelect(start, end) {\n if (!this.rootElement.createRange) return;\n const range = this.rootElement.createRange();\n range.setStart(this.input.firstChild || this.input, start);\n range.setEnd(this.input.lastChild || this.input, end);\n const root = this.rootElement;\n const selection = root.getSelection && root.getSelection();\n if (selection) {\n selection.removeAllRanges();\n selection.addRange(range);\n }\n }\n\n /** HTMLElement value */\n get value() {\n return this.input.textContent || '';\n }\n set value(value) {\n this.input.textContent = value;\n }\n}\nIMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement;\n\nexport { HTMLContenteditableMaskElement as default };\n","import HTMLMaskElement from './html-mask-element.js';\nimport IMask from '../core/holder.js';\nimport './mask-element.js';\n\n/** Bridge between InputElement and {@link Masked} */\nclass HTMLInputMaskElement extends HTMLMaskElement {\n /** InputElement to use mask on */\n\n constructor(input) {\n super(input);\n this.input = input;\n }\n\n /** Returns InputElement selection start */\n get _unsafeSelectionStart() {\n return this.input.selectionStart != null ? this.input.selectionStart : this.value.length;\n }\n\n /** Returns InputElement selection end */\n get _unsafeSelectionEnd() {\n return this.input.selectionEnd;\n }\n\n /** Sets InputElement selection */\n _unsafeSelect(start, end) {\n this.input.setSelectionRange(start, end);\n }\n get value() {\n return this.input.value;\n }\n set value(value) {\n this.input.value = value;\n }\n}\nIMask.HTMLMaskElement = HTMLMaskElement;\n\nexport { HTMLInputMaskElement as default };\n","import MaskElement from './mask-element.js';\nimport IMask from '../core/holder.js';\n\nconst KEY_Z = 90;\nconst KEY_Y = 89;\n\n/** Bridge between HTMLElement and {@link Masked} */\nclass HTMLMaskElement extends MaskElement {\n /** HTMLElement to use mask on */\n\n constructor(input) {\n super();\n this.input = input;\n this._onKeydown = this._onKeydown.bind(this);\n this._onInput = this._onInput.bind(this);\n this._onBeforeinput = this._onBeforeinput.bind(this);\n this._onCompositionEnd = this._onCompositionEnd.bind(this);\n }\n get rootElement() {\n var _this$input$getRootNo, _this$input$getRootNo2, _this$input;\n return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) == null ? void 0 : _this$input$getRootNo2.call(_this$input)) != null ? _this$input$getRootNo : document;\n }\n\n /** Is element in focus */\n get isActive() {\n return this.input === this.rootElement.activeElement;\n }\n\n /** Binds HTMLElement events to mask internal events */\n bindEvents(handlers) {\n this.input.addEventListener('keydown', this._onKeydown);\n this.input.addEventListener('input', this._onInput);\n this.input.addEventListener('beforeinput', this._onBeforeinput);\n this.input.addEventListener('compositionend', this._onCompositionEnd);\n this.input.addEventListener('drop', handlers.drop);\n this.input.addEventListener('click', handlers.click);\n this.input.addEventListener('focus', handlers.focus);\n this.input.addEventListener('blur', handlers.commit);\n this._handlers = handlers;\n }\n _onKeydown(e) {\n if (this._handlers.redo && (e.keyCode === KEY_Z && e.shiftKey && (e.metaKey || e.ctrlKey) || e.keyCode === KEY_Y && e.ctrlKey)) {\n e.preventDefault();\n return this._handlers.redo(e);\n }\n if (this._handlers.undo && e.keyCode === KEY_Z && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n return this._handlers.undo(e);\n }\n if (!e.isComposing) this._handlers.selectionChange(e);\n }\n _onBeforeinput(e) {\n if (e.inputType === 'historyUndo' && this._handlers.undo) {\n e.preventDefault();\n return this._handlers.undo(e);\n }\n if (e.inputType === 'historyRedo' && this._handlers.redo) {\n e.preventDefault();\n return this._handlers.redo(e);\n }\n }\n _onCompositionEnd(e) {\n this._handlers.input(e);\n }\n _onInput(e) {\n if (!e.isComposing) this._handlers.input(e);\n }\n\n /** Unbinds HTMLElement events to mask internal events */\n unbindEvents() {\n this.input.removeEventListener('keydown', this._onKeydown);\n this.input.removeEventListener('input', this._onInput);\n this.input.removeEventListener('beforeinput', this._onBeforeinput);\n this.input.removeEventListener('compositionend', this._onCompositionEnd);\n this.input.removeEventListener('drop', this._handlers.drop);\n this.input.removeEventListener('click', this._handlers.click);\n this.input.removeEventListener('focus', this._handlers.focus);\n this.input.removeEventListener('blur', this._handlers.commit);\n this._handlers = {};\n }\n}\nIMask.HTMLMaskElement = HTMLMaskElement;\n\nexport { HTMLMaskElement as default };\n","class InputHistory {\n constructor() {\n this.states = [];\n this.currentIndex = 0;\n }\n get currentState() {\n return this.states[this.currentIndex];\n }\n get isEmpty() {\n return this.states.length === 0;\n }\n push(state) {\n // if current index points before the last element then remove the future\n if (this.currentIndex < this.states.length - 1) this.states.length = this.currentIndex + 1;\n this.states.push(state);\n if (this.states.length > InputHistory.MAX_LENGTH) this.states.shift();\n this.currentIndex = this.states.length - 1;\n }\n go(steps) {\n this.currentIndex = Math.min(Math.max(this.currentIndex + steps, 0), this.states.length - 1);\n return this.currentState;\n }\n undo() {\n return this.go(-1);\n }\n redo() {\n return this.go(+1);\n }\n clear() {\n this.states.length = 0;\n this.currentIndex = 0;\n }\n}\nInputHistory.MAX_LENGTH = 100;\n\nexport { InputHistory as default };\n","import { DIRECTION } from '../core/utils.js';\nimport ActionDetails from '../core/action-details.js';\nimport createMask, { maskedClass } from '../masked/factory.js';\nimport MaskElement from './mask-element.js';\nimport HTMLInputMaskElement from './html-input-mask-element.js';\nimport HTMLContenteditableMaskElement from './html-contenteditable-mask-element.js';\nimport IMask from '../core/holder.js';\nimport InputHistory from './input-history.js';\nimport './html-mask-element.js';\n\n/** Listens to element events and controls changes between element and {@link Masked} */\nclass InputMask {\n /**\n View element\n */\n\n /** Internal {@link Masked} model */\n\n constructor(el, opts) {\n this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLInputMaskElement(el);\n this.masked = createMask(opts);\n this._listeners = {};\n this._value = '';\n this._unmaskedValue = '';\n this._rawInputValue = '';\n this.history = new InputHistory();\n this._saveSelection = this._saveSelection.bind(this);\n this._onInput = this._onInput.bind(this);\n this._onChange = this._onChange.bind(this);\n this._onDrop = this._onDrop.bind(this);\n this._onFocus = this._onFocus.bind(this);\n this._onClick = this._onClick.bind(this);\n this._onUndo = this._onUndo.bind(this);\n this._onRedo = this._onRedo.bind(this);\n this.alignCursor = this.alignCursor.bind(this);\n this.alignCursorFriendly = this.alignCursorFriendly.bind(this);\n this._bindEvents();\n\n // refresh\n this.updateValue();\n this._onChange();\n }\n maskEquals(mask) {\n var _this$masked;\n return mask == null || ((_this$masked = this.masked) == null ? void 0 : _this$masked.maskEquals(mask));\n }\n\n /** Masked */\n get mask() {\n return this.masked.mask;\n }\n set mask(mask) {\n if (this.maskEquals(mask)) return;\n if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) {\n // TODO \"any\" no idea\n this.masked.updateOptions({\n mask\n });\n return;\n }\n const masked = mask instanceof IMask.Masked ? mask : createMask({\n mask\n });\n masked.unmaskedValue = this.masked.unmaskedValue;\n this.masked = masked;\n }\n\n /** Raw value */\n get value() {\n return this._value;\n }\n set value(str) {\n if (this.value === str) return;\n this.masked.value = str;\n this.updateControl('auto');\n }\n\n /** Unmasked value */\n get unmaskedValue() {\n return this._unmaskedValue;\n }\n set unmaskedValue(str) {\n if (this.unmaskedValue === str) return;\n this.masked.unmaskedValue = str;\n this.updateControl('auto');\n }\n\n /** Raw input value */\n get rawInputValue() {\n return this._rawInputValue;\n }\n set rawInputValue(str) {\n if (this.rawInputValue === str) return;\n this.masked.rawInputValue = str;\n this.updateControl();\n this.alignCursor();\n }\n\n /** Typed unmasked value */\n get typedValue() {\n return this.masked.typedValue;\n }\n set typedValue(val) {\n if (this.masked.typedValueEquals(val)) return;\n this.masked.typedValue = val;\n this.updateControl('auto');\n }\n\n /** Display value */\n get displayValue() {\n return this.masked.displayValue;\n }\n\n /** Starts listening to element events */\n _bindEvents() {\n this.el.bindEvents({\n selectionChange: this._saveSelection,\n input: this._onInput,\n drop: this._onDrop,\n click: this._onClick,\n focus: this._onFocus,\n commit: this._onChange,\n undo: this._onUndo,\n redo: this._onRedo\n });\n }\n\n /** Stops listening to element events */\n _unbindEvents() {\n if (this.el) this.el.unbindEvents();\n }\n\n /** Fires custom event */\n _fireEvent(ev, e) {\n const listeners = this._listeners[ev];\n if (!listeners) return;\n listeners.forEach(l => l(e));\n }\n\n /** Current selection start */\n get selectionStart() {\n return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart;\n }\n\n /** Current cursor position */\n get cursorPos() {\n return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd;\n }\n set cursorPos(pos) {\n if (!this.el || !this.el.isActive) return;\n this.el.select(pos, pos);\n this._saveSelection();\n }\n\n /** Stores current selection */\n _saveSelection( /* ev */\n ) {\n if (this.displayValue !== this.el.value) {\n console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); // eslint-disable-line no-console\n }\n this._selection = {\n start: this.selectionStart,\n end: this.cursorPos\n };\n }\n\n /** Syncronizes model value from view */\n updateValue() {\n this.masked.value = this.el.value;\n this._value = this.masked.value;\n this._unmaskedValue = this.masked.unmaskedValue;\n this._rawInputValue = this.masked.rawInputValue;\n }\n\n /** Syncronizes view from model value, fires change events */\n updateControl(cursorPos) {\n const newUnmaskedValue = this.masked.unmaskedValue;\n const newValue = this.masked.value;\n const newRawInputValue = this.masked.rawInputValue;\n const newDisplayValue = this.displayValue;\n const isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue || this._rawInputValue !== newRawInputValue;\n this._unmaskedValue = newUnmaskedValue;\n this._value = newValue;\n this._rawInputValue = newRawInputValue;\n if (this.el.value !== newDisplayValue) this.el.value = newDisplayValue;\n if (cursorPos === 'auto') this.alignCursor();else if (cursorPos != null) this.cursorPos = cursorPos;\n if (isChanged) this._fireChangeEvents();\n if (!this._historyChanging && (isChanged || this.history.isEmpty)) this.history.push({\n unmaskedValue: newUnmaskedValue,\n selection: {\n start: this.selectionStart,\n end: this.cursorPos\n }\n });\n }\n\n /** Updates options with deep equal check, recreates {@link Masked} model if mask type changes */\n updateOptions(opts) {\n const {\n mask,\n ...restOpts\n } = opts; // TODO types, yes, mask is optional\n\n const updateMask = !this.maskEquals(mask);\n const updateOpts = this.masked.optionsIsChanged(restOpts);\n if (updateMask) this.mask = mask;\n if (updateOpts) this.masked.updateOptions(restOpts); // TODO\n\n if (updateMask || updateOpts) this.updateControl();\n }\n\n /** Updates cursor */\n updateCursor(cursorPos) {\n if (cursorPos == null) return;\n this.cursorPos = cursorPos;\n\n // also queue change cursor for mobile browsers\n this._delayUpdateCursor(cursorPos);\n }\n\n /** Delays cursor update to support mobile browsers */\n _delayUpdateCursor(cursorPos) {\n this._abortUpdateCursor();\n this._changingCursorPos = cursorPos;\n this._cursorChanging = setTimeout(() => {\n if (!this.el) return; // if was destroyed\n this.cursorPos = this._changingCursorPos;\n this._abortUpdateCursor();\n }, 10);\n }\n\n /** Fires custom events */\n _fireChangeEvents() {\n this._fireEvent('accept', this._inputEvent);\n if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent);\n }\n\n /** Aborts delayed cursor update */\n _abortUpdateCursor() {\n if (this._cursorChanging) {\n clearTimeout(this._cursorChanging);\n delete this._cursorChanging;\n }\n }\n\n /** Aligns cursor to nearest available position */\n alignCursor() {\n this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT));\n }\n\n /** Aligns cursor only if selection is empty */\n alignCursorFriendly() {\n if (this.selectionStart !== this.cursorPos) return; // skip if range is selected\n this.alignCursor();\n }\n\n /** Adds listener on custom event */\n on(ev, handler) {\n if (!this._listeners[ev]) this._listeners[ev] = [];\n this._listeners[ev].push(handler);\n return this;\n }\n\n /** Removes custom event listener */\n off(ev, handler) {\n if (!this._listeners[ev]) return this;\n if (!handler) {\n delete this._listeners[ev];\n return this;\n }\n const hIndex = this._listeners[ev].indexOf(handler);\n if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1);\n return this;\n }\n\n /** Handles view input event */\n _onInput(e) {\n this._inputEvent = e;\n this._abortUpdateCursor();\n const details = new ActionDetails({\n // new state\n value: this.el.value,\n cursorPos: this.cursorPos,\n // old state\n oldValue: this.displayValue,\n oldSelection: this._selection\n });\n const oldRawValue = this.masked.rawInputValue;\n const offset = this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection, {\n input: true,\n raw: true\n }).offset;\n\n // force align in remove direction only if no input chars were removed\n // otherwise we still need to align with NONE (to get out from fixed symbols for instance)\n const removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE;\n let cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection);\n if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE);\n this.updateControl(cursorPos);\n delete this._inputEvent;\n }\n\n /** Handles view change event and commits model value */\n _onChange() {\n if (this.displayValue !== this.el.value) this.updateValue();\n this.masked.doCommit();\n this.updateControl();\n this._saveSelection();\n }\n\n /** Handles view drop event, prevents by default */\n _onDrop(ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n /** Restore last selection on focus */\n _onFocus(ev) {\n this.alignCursorFriendly();\n }\n\n /** Restore last selection on focus */\n _onClick(ev) {\n this.alignCursorFriendly();\n }\n _onUndo() {\n this._applyHistoryState(this.history.undo());\n }\n _onRedo() {\n this._applyHistoryState(this.history.redo());\n }\n _applyHistoryState(state) {\n if (!state) return;\n this._historyChanging = true;\n this.unmaskedValue = state.unmaskedValue;\n this.el.select(state.selection.start, state.selection.end);\n this._saveSelection();\n this._historyChanging = false;\n }\n\n /** Unbind view events and removes element reference */\n destroy() {\n this._unbindEvents();\n this._listeners.length = 0;\n delete this.el;\n }\n}\nIMask.InputMask = InputMask;\n\nexport { InputMask as default };\n","import IMask from '../core/holder.js';\n\n/** Generic element API to use with mask */\nclass MaskElement {\n /** */\n\n /** */\n\n /** */\n\n /** Safely returns selection start */\n get selectionStart() {\n let start;\n try {\n start = this._unsafeSelectionStart;\n } catch {}\n return start != null ? start : this.value.length;\n }\n\n /** Safely returns selection end */\n get selectionEnd() {\n let end;\n try {\n end = this._unsafeSelectionEnd;\n } catch {}\n return end != null ? end : this.value.length;\n }\n\n /** Safely sets element selection */\n select(start, end) {\n if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return;\n try {\n this._unsafeSelect(start, end);\n } catch {}\n }\n\n /** */\n get isActive() {\n return false;\n }\n /** */\n\n /** */\n\n /** */\n}\nIMask.MaskElement = MaskElement;\n\nexport { MaskElement as default };\n","import { DIRECTION } from './utils.js';\n\n/** Provides details of changing input */\nclass ActionDetails {\n /** Current input value */\n\n /** Current cursor position */\n\n /** Old input value */\n\n /** Old selection */\n\n constructor(opts) {\n Object.assign(this, opts);\n\n // double check if left part was changed (autofilling, other non-standard input triggers)\n while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) {\n --this.oldSelection.start;\n }\n if (this.insertedCount) {\n // double check right part\n while (this.value.slice(this.cursorPos) !== this.oldValue.slice(this.oldSelection.end)) {\n if (this.value.length - this.cursorPos < this.oldValue.length - this.oldSelection.end) ++this.oldSelection.end;else ++this.cursorPos;\n }\n }\n }\n\n /** Start changing position */\n get startChangePos() {\n return Math.min(this.cursorPos, this.oldSelection.start);\n }\n\n /** Inserted symbols count */\n get insertedCount() {\n return this.cursorPos - this.startChangePos;\n }\n\n /** Inserted symbols */\n get inserted() {\n return this.value.substr(this.startChangePos, this.insertedCount);\n }\n\n /** Removed symbols count */\n get removedCount() {\n // Math.max for opposite operation\n return Math.max(this.oldSelection.end - this.startChangePos ||\n // for Delete\n this.oldValue.length - this.value.length, 0);\n }\n\n /** Removed symbols */\n get removed() {\n return this.oldValue.substr(this.startChangePos, this.removedCount);\n }\n\n /** Unchanged head symbols */\n get head() {\n return this.value.substring(0, this.startChangePos);\n }\n\n /** Unchanged tail symbols */\n get tail() {\n return this.value.substring(this.startChangePos + this.insertedCount);\n }\n\n /** Remove direction */\n get removeDirection() {\n if (!this.removedCount || this.insertedCount) return DIRECTION.NONE;\n\n // align right if delete at right\n return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) &&\n // if not range removed (event with backspace)\n this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT;\n }\n}\n\nexport { ActionDetails as default };\n","import IMask from './holder.js';\n\n/** Provides details of changing model value */\nclass ChangeDetails {\n /** Inserted symbols */\n\n /** Additional offset if any changes occurred before tail */\n\n /** Raw inserted is used by dynamic mask */\n\n /** Can skip chars */\n\n static normalize(prep) {\n return Array.isArray(prep) ? prep : [prep, new ChangeDetails()];\n }\n constructor(details) {\n Object.assign(this, {\n inserted: '',\n rawInserted: '',\n tailShift: 0,\n skip: false\n }, details);\n }\n\n /** Aggregate changes */\n aggregate(details) {\n this.inserted += details.inserted;\n this.rawInserted += details.rawInserted;\n this.tailShift += details.tailShift;\n this.skip = this.skip || details.skip;\n return this;\n }\n\n /** Total offset considering all changes */\n get offset() {\n return this.tailShift + this.inserted.length;\n }\n get consumed() {\n return Boolean(this.rawInserted) || this.skip;\n }\n equals(details) {\n return this.inserted === details.inserted && this.tailShift === details.tailShift && this.rawInserted === details.rawInserted && this.skip === details.skip;\n }\n}\nIMask.ChangeDetails = ChangeDetails;\n\nexport { ChangeDetails as default };\n","/** Provides details of continuous extracted tail */\nclass ContinuousTailDetails {\n /** Tail value as string */\n\n /** Tail start position */\n\n /** Start position */\n\n constructor(value, from, stop) {\n if (value === void 0) {\n value = '';\n }\n if (from === void 0) {\n from = 0;\n }\n this.value = value;\n this.from = from;\n this.stop = stop;\n }\n toString() {\n return this.value;\n }\n extend(tail) {\n this.value += String(tail);\n }\n appendTo(masked) {\n return masked.append(this.toString(), {\n tail: true\n }).aggregate(masked._appendPlaceholder());\n }\n get state() {\n return {\n value: this.value,\n from: this.from,\n stop: this.stop\n };\n }\n set state(state) {\n Object.assign(this, state);\n }\n unshift(beforePos) {\n if (!this.value.length || beforePos != null && this.from >= beforePos) return '';\n const shiftChar = this.value[0];\n this.value = this.value.slice(1);\n return shiftChar;\n }\n shift() {\n if (!this.value.length) return '';\n const shiftChar = this.value[this.value.length - 1];\n this.value = this.value.slice(0, -1);\n return shiftChar;\n }\n}\n\nexport { ContinuousTailDetails as default };\n","/** Applies mask on element */\nfunction IMask(el, opts) {\n // currently available only for input-like elements\n return new IMask.InputMask(el, opts);\n}\n\nexport { IMask as default };\n","/** Checks if value is string */\nfunction isString(str) {\n return typeof str === 'string' || str instanceof String;\n}\n\n/** Checks if value is object */\nfunction isObject(obj) {\n var _obj$constructor;\n return typeof obj === 'object' && obj != null && (obj == null || (_obj$constructor = obj.constructor) == null ? void 0 : _obj$constructor.name) === 'Object';\n}\nfunction pick(obj, keys) {\n if (Array.isArray(keys)) return pick(obj, (_, k) => keys.includes(k));\n return Object.entries(obj).reduce((acc, _ref) => {\n let [k, v] = _ref;\n if (keys(v, k)) acc[k] = v;\n return acc;\n }, {});\n}\n\n/** Direction */\nconst DIRECTION = {\n NONE: 'NONE',\n LEFT: 'LEFT',\n FORCE_LEFT: 'FORCE_LEFT',\n RIGHT: 'RIGHT',\n FORCE_RIGHT: 'FORCE_RIGHT'\n};\n\n/** Direction */\n\nfunction forceDirection(direction) {\n switch (direction) {\n case DIRECTION.LEFT:\n return DIRECTION.FORCE_LEFT;\n case DIRECTION.RIGHT:\n return DIRECTION.FORCE_RIGHT;\n default:\n return direction;\n }\n}\n\n/** Escapes regular expression control chars */\nfunction escapeRegExp(str) {\n return str.replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1');\n}\n\n// cloned from https://github.com/epoberezkin/fast-deep-equal with small changes\nfunction objectIncludes(b, a) {\n if (a === b) return true;\n const arrA = Array.isArray(a),\n arrB = Array.isArray(b);\n let i;\n if (arrA && arrB) {\n if (a.length != b.length) return false;\n for (i = 0; i < a.length; i++) if (!objectIncludes(a[i], b[i])) return false;\n return true;\n }\n if (arrA != arrB) return false;\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n const dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA && dateB) return a.getTime() == b.getTime();\n if (dateA != dateB) return false;\n const regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA && regexpB) return a.toString() == b.toString();\n if (regexpA != regexpB) return false;\n const keys = Object.keys(a);\n // if (keys.length !== Object.keys(b).length) return false;\n\n for (i = 0; i < keys.length; i++) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n for (i = 0; i < keys.length; i++) if (!objectIncludes(b[keys[i]], a[keys[i]])) return false;\n return true;\n } else if (a && b && typeof a === 'function' && typeof b === 'function') {\n return a.toString() === b.toString();\n }\n return false;\n}\n\n/** Selection range */\n\nexport { DIRECTION, escapeRegExp, forceDirection, isObject, isString, objectIncludes, pick };\n","import './controls/input.js';\nimport IMask from './core/holder.js';\nimport './core/utils.js';\nimport './core/action-details.js';\nimport './masked/factory.js';\nimport './controls/mask-element.js';\nimport './controls/html-input-mask-element.js';\nimport './controls/html-mask-element.js';\nimport './controls/html-contenteditable-mask-element.js';\nimport './controls/input-history.js';\n\n\n\nexport { IMask as default };\n","export { default as InputMask } from './controls/input.js';\nimport IMask from './core/holder.js';\nexport { default as HTMLContenteditableMaskElement } from './controls/html-contenteditable-mask-element.js';\nexport { default as HTMLInputMaskElement } from './controls/html-input-mask-element.js';\nexport { default as HTMLMaskElement } from './controls/html-mask-element.js';\nexport { default as MaskElement } from './controls/mask-element.js';\nexport { default as ChangeDetails } from './core/change-details.js';\nexport { DIRECTION, forceDirection } from './core/utils.js';\nexport { default as Masked } from './masked/base.js';\nexport { default as MaskedDate } from './masked/date.js';\nexport { default as MaskedDynamic } from './masked/dynamic.js';\nexport { default as MaskedEnum } from './masked/enum.js';\nexport { default as createMask, normalizeOpts } from './masked/factory.js';\nexport { default as MaskedFunction } from './masked/function.js';\nexport { default as MaskedNumber } from './masked/number.js';\nexport { default as MaskedPattern } from './masked/pattern.js';\nexport { default as ChunksTailDetails } from './masked/pattern/chunk-tail-details.js';\nexport { default as PatternFixedDefinition } from './masked/pattern/fixed-definition.js';\nexport { default as PatternInputDefinition } from './masked/pattern/input-definition.js';\nexport { PIPE_TYPE, createPipe, pipe } from './masked/pipe.js';\nexport { default as MaskedRange } from './masked/range.js';\nexport { default as MaskedRegExp } from './masked/regexp.js';\nexport { default as RepeatBlock } from './masked/repeat.js';\nimport './core/action-details.js';\nimport './controls/input-history.js';\nimport './core/continuous-tail-details.js';\nimport './masked/pattern/cursor.js';\n\ntry {\n globalThis.IMask = IMask;\n} catch {}\n\nexport { IMask as default };\n","import ChangeDetails from '../core/change-details.js';\nimport ContinuousTailDetails from '../core/continuous-tail-details.js';\nimport { isString, DIRECTION, objectIncludes, forceDirection } from '../core/utils.js';\nimport IMask from '../core/holder.js';\n\n/** Append flags */\n\n/** Extract flags */\n\n// see https://github.com/microsoft/TypeScript/issues/6223\n\n/** Provides common masking stuff */\nclass Masked {\n /** */\n\n /** */\n\n /** Transforms value before mask processing */\n\n /** Transforms each char before mask processing */\n\n /** Validates if value is acceptable */\n\n /** Does additional processing at the end of editing */\n\n /** Format typed value to string */\n\n /** Parse string to get typed value */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n constructor(opts) {\n this._value = '';\n this._update({\n ...Masked.DEFAULTS,\n ...opts\n });\n this._initialized = true;\n }\n\n /** Sets and applies new options */\n updateOptions(opts) {\n if (!this.optionsIsChanged(opts)) return;\n this.withValueRefresh(this._update.bind(this, opts));\n }\n\n /** Sets new options */\n _update(opts) {\n Object.assign(this, opts);\n }\n\n /** Mask state */\n get state() {\n return {\n _value: this.value,\n _rawInputValue: this.rawInputValue\n };\n }\n set state(state) {\n this._value = state._value;\n }\n\n /** Resets value */\n reset() {\n this._value = '';\n }\n get value() {\n return this._value;\n }\n set value(value) {\n this.resolve(value, {\n input: true\n });\n }\n\n /** Resolve new value */\n resolve(value, flags) {\n if (flags === void 0) {\n flags = {\n input: true\n };\n }\n this.reset();\n this.append(value, flags, '');\n this.doCommit();\n }\n get unmaskedValue() {\n return this.value;\n }\n set unmaskedValue(value) {\n this.resolve(value, {});\n }\n get typedValue() {\n return this.parse ? this.parse(this.value, this) : this.unmaskedValue;\n }\n set typedValue(value) {\n if (this.format) {\n this.value = this.format(value, this);\n } else {\n this.unmaskedValue = String(value);\n }\n }\n\n /** Value that includes raw user input */\n get rawInputValue() {\n return this.extractInput(0, this.displayValue.length, {\n raw: true\n });\n }\n set rawInputValue(value) {\n this.resolve(value, {\n raw: true\n });\n }\n get displayValue() {\n return this.value;\n }\n get isComplete() {\n return true;\n }\n get isFilled() {\n return this.isComplete;\n }\n\n /** Finds nearest input position in direction */\n nearestInputPos(cursorPos, direction) {\n return cursorPos;\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n return Math.min(this.displayValue.length, toPos - fromPos);\n }\n\n /** Extracts value in range considering flags */\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n return this.displayValue.slice(fromPos, toPos);\n }\n\n /** Extracts tail in range */\n extractTail(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos);\n }\n\n /** Appends tail */\n appendTail(tail) {\n if (isString(tail)) tail = new ContinuousTailDetails(String(tail));\n return tail.appendTo(this);\n }\n\n /** Appends char */\n _appendCharRaw(ch, flags) {\n if (!ch) return new ChangeDetails();\n this._value += ch;\n return new ChangeDetails({\n inserted: ch,\n rawInserted: ch\n });\n }\n\n /** Appends char */\n _appendChar(ch, flags, checkTail) {\n if (flags === void 0) {\n flags = {};\n }\n const consistentState = this.state;\n let details;\n [ch, details] = this.doPrepareChar(ch, flags);\n if (ch) {\n details = details.aggregate(this._appendCharRaw(ch, flags));\n\n // TODO handle `skip`?\n\n // try `autofix` lookahead\n if (!details.rawInserted && this.autofix === 'pad') {\n const noFixState = this.state;\n this.state = consistentState;\n let fixDetails = this.pad(flags);\n const chDetails = this._appendCharRaw(ch, flags);\n fixDetails = fixDetails.aggregate(chDetails);\n\n // if fix was applied or\n // if details are equal use skip restoring state optimization\n if (chDetails.rawInserted || fixDetails.equals(details)) {\n details = fixDetails;\n } else {\n this.state = noFixState;\n }\n }\n }\n if (details.inserted) {\n let consistentTail;\n let appended = this.doValidate(flags) !== false;\n if (appended && checkTail != null) {\n // validation ok, check tail\n const beforeTailState = this.state;\n if (this.overwrite === true) {\n consistentTail = checkTail.state;\n for (let i = 0; i < details.rawInserted.length; ++i) {\n checkTail.unshift(this.displayValue.length - details.tailShift);\n }\n }\n let tailDetails = this.appendTail(checkTail);\n appended = tailDetails.rawInserted.length === checkTail.toString().length;\n\n // not ok, try shift\n if (!(appended && tailDetails.inserted) && this.overwrite === 'shift') {\n this.state = beforeTailState;\n consistentTail = checkTail.state;\n for (let i = 0; i < details.rawInserted.length; ++i) {\n checkTail.shift();\n }\n tailDetails = this.appendTail(checkTail);\n appended = tailDetails.rawInserted.length === checkTail.toString().length;\n }\n\n // if ok, rollback state after tail\n if (appended && tailDetails.inserted) this.state = beforeTailState;\n }\n\n // revert all if something went wrong\n if (!appended) {\n details = new ChangeDetails();\n this.state = consistentState;\n if (checkTail && consistentTail) checkTail.state = consistentTail;\n }\n }\n return details;\n }\n\n /** Appends optional placeholder at the end */\n _appendPlaceholder() {\n return new ChangeDetails();\n }\n\n /** Appends optional eager placeholder at the end */\n _appendEager() {\n return new ChangeDetails();\n }\n\n /** Appends symbols considering flags */\n append(str, flags, tail) {\n if (!isString(str)) throw new Error('value should be string');\n const checkTail = isString(tail) ? new ContinuousTailDetails(String(tail)) : tail;\n if (flags != null && flags.tail) flags._beforeTailState = this.state;\n let details;\n [str, details] = this.doPrepare(str, flags);\n for (let ci = 0; ci < str.length; ++ci) {\n const d = this._appendChar(str[ci], flags, checkTail);\n if (!d.rawInserted && !this.doSkipInvalid(str[ci], flags, checkTail)) break;\n details.aggregate(d);\n }\n if ((this.eager === true || this.eager === 'append') && flags != null && flags.input && str) {\n details.aggregate(this._appendEager());\n }\n\n // append tail but aggregate only tailShift\n if (checkTail != null) {\n details.tailShift += this.appendTail(checkTail).tailShift;\n // TODO it's a good idea to clear state after appending ends\n // but it causes bugs when one append calls another (when dynamic dispatch set rawInputValue)\n // this._resetBeforeTailState();\n }\n return details;\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n this._value = this.displayValue.slice(0, fromPos) + this.displayValue.slice(toPos);\n return new ChangeDetails();\n }\n\n /** Calls function and reapplies current value */\n withValueRefresh(fn) {\n if (this._refreshing || !this._initialized) return fn();\n this._refreshing = true;\n const rawInput = this.rawInputValue;\n const value = this.value;\n const ret = fn();\n this.rawInputValue = rawInput;\n // append lost trailing chars at the end\n if (this.value && this.value !== value && value.indexOf(this.value) === 0) {\n this.append(value.slice(this.displayValue.length), {}, '');\n this.doCommit();\n }\n delete this._refreshing;\n return ret;\n }\n runIsolated(fn) {\n if (this._isolated || !this._initialized) return fn(this);\n this._isolated = true;\n const state = this.state;\n const ret = fn(this);\n this.state = state;\n delete this._isolated;\n return ret;\n }\n doSkipInvalid(ch, flags, checkTail) {\n return Boolean(this.skipInvalid);\n }\n\n /** Prepares string before mask processing */\n doPrepare(str, flags) {\n if (flags === void 0) {\n flags = {};\n }\n return ChangeDetails.normalize(this.prepare ? this.prepare(str, this, flags) : str);\n }\n\n /** Prepares each char before mask processing */\n doPrepareChar(str, flags) {\n if (flags === void 0) {\n flags = {};\n }\n return ChangeDetails.normalize(this.prepareChar ? this.prepareChar(str, this, flags) : str);\n }\n\n /** Validates if value is acceptable */\n doValidate(flags) {\n return (!this.validate || this.validate(this.value, this, flags)) && (!this.parent || this.parent.doValidate(flags));\n }\n\n /** Does additional processing at the end of editing */\n doCommit() {\n if (this.commit) this.commit(this.value, this);\n }\n splice(start, deleteCount, inserted, removeDirection, flags) {\n if (inserted === void 0) {\n inserted = '';\n }\n if (removeDirection === void 0) {\n removeDirection = DIRECTION.NONE;\n }\n if (flags === void 0) {\n flags = {\n input: true\n };\n }\n const tailPos = start + deleteCount;\n const tail = this.extractTail(tailPos);\n const eagerRemove = this.eager === true || this.eager === 'remove';\n let oldRawValue;\n if (eagerRemove) {\n removeDirection = forceDirection(removeDirection);\n oldRawValue = this.extractInput(0, tailPos, {\n raw: true\n });\n }\n let startChangePos = start;\n const details = new ChangeDetails();\n\n // if it is just deletion without insertion\n if (removeDirection !== DIRECTION.NONE) {\n startChangePos = this.nearestInputPos(start, deleteCount > 1 && start !== 0 && !eagerRemove ? DIRECTION.NONE : removeDirection);\n\n // adjust tailShift if start was aligned\n details.tailShift = startChangePos - start;\n }\n details.aggregate(this.remove(startChangePos));\n if (eagerRemove && removeDirection !== DIRECTION.NONE && oldRawValue === this.rawInputValue) {\n if (removeDirection === DIRECTION.FORCE_LEFT) {\n let valLength;\n while (oldRawValue === this.rawInputValue && (valLength = this.displayValue.length)) {\n details.aggregate(new ChangeDetails({\n tailShift: -1\n })).aggregate(this.remove(valLength - 1));\n }\n } else if (removeDirection === DIRECTION.FORCE_RIGHT) {\n tail.unshift();\n }\n }\n return details.aggregate(this.append(inserted, flags, tail));\n }\n maskEquals(mask) {\n return this.mask === mask;\n }\n optionsIsChanged(opts) {\n return !objectIncludes(this, opts);\n }\n typedValueEquals(value) {\n const tval = this.typedValue;\n return value === tval || Masked.EMPTY_VALUES.includes(value) && Masked.EMPTY_VALUES.includes(tval) || (this.format ? this.format(value, this) === this.format(this.typedValue, this) : false);\n }\n pad(flags) {\n return new ChangeDetails();\n }\n}\nMasked.DEFAULTS = {\n skipInvalid: true\n};\nMasked.EMPTY_VALUES = [undefined, null, ''];\nIMask.Masked = Masked;\n\nexport { Masked as default };\n","import MaskedPattern from './pattern.js';\nimport MaskedRange from './range.js';\nimport IMask from '../core/holder.js';\nimport { isString } from '../core/utils.js';\nimport '../core/change-details.js';\nimport './base.js';\nimport '../core/continuous-tail-details.js';\nimport './factory.js';\nimport './pattern/chunk-tail-details.js';\nimport './pattern/cursor.js';\nimport './pattern/fixed-definition.js';\nimport './pattern/input-definition.js';\nimport './regexp.js';\n\nconst DefaultPattern = 'd{.}`m{.}`Y';\n\n// Make format and parse required when pattern is provided\n\n/** Date mask */\nclass MaskedDate extends MaskedPattern {\n static extractPatternOptions(opts) {\n const {\n mask,\n pattern,\n ...patternOpts\n } = opts;\n return {\n ...patternOpts,\n mask: isString(mask) ? mask : pattern\n };\n }\n\n /** Pattern mask for date according to {@link MaskedDate#format} */\n\n /** Start date */\n\n /** End date */\n\n /** Format typed value to string */\n\n /** Parse string to get typed value */\n\n constructor(opts) {\n super(MaskedDate.extractPatternOptions({\n ...MaskedDate.DEFAULTS,\n ...opts\n }));\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n const {\n mask,\n pattern,\n blocks,\n ...patternOpts\n } = {\n ...MaskedDate.DEFAULTS,\n ...opts\n };\n const patternBlocks = Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS());\n // adjust year block\n if (opts.min) patternBlocks.Y.from = opts.min.getFullYear();\n if (opts.max) patternBlocks.Y.to = opts.max.getFullYear();\n if (opts.min && opts.max && patternBlocks.Y.from === patternBlocks.Y.to) {\n patternBlocks.m.from = opts.min.getMonth() + 1;\n patternBlocks.m.to = opts.max.getMonth() + 1;\n if (patternBlocks.m.from === patternBlocks.m.to) {\n patternBlocks.d.from = opts.min.getDate();\n patternBlocks.d.to = opts.max.getDate();\n }\n }\n Object.assign(patternBlocks, this.blocks, blocks);\n super._update({\n ...patternOpts,\n mask: isString(mask) ? mask : pattern,\n blocks: patternBlocks\n });\n }\n doValidate(flags) {\n const date = this.date;\n return super.doValidate(flags) && (!this.isComplete || this.isDateExist(this.value) && date != null && (this.min == null || this.min <= date) && (this.max == null || date <= this.max));\n }\n\n /** Checks if date is exists */\n isDateExist(str) {\n return this.format(this.parse(str, this), this).indexOf(str) >= 0;\n }\n\n /** Parsed Date */\n get date() {\n return this.typedValue;\n }\n set date(date) {\n this.typedValue = date;\n }\n get typedValue() {\n return this.isComplete ? super.typedValue : null;\n }\n set typedValue(value) {\n super.typedValue = value;\n }\n maskEquals(mask) {\n return mask === Date || super.maskEquals(mask);\n }\n optionsIsChanged(opts) {\n return super.optionsIsChanged(MaskedDate.extractPatternOptions(opts));\n }\n}\nMaskedDate.GET_DEFAULT_BLOCKS = () => ({\n d: {\n mask: MaskedRange,\n from: 1,\n to: 31,\n maxLength: 2\n },\n m: {\n mask: MaskedRange,\n from: 1,\n to: 12,\n maxLength: 2\n },\n Y: {\n mask: MaskedRange,\n from: 1900,\n to: 9999\n }\n});\nMaskedDate.DEFAULTS = {\n ...MaskedPattern.DEFAULTS,\n mask: Date,\n pattern: DefaultPattern,\n format: (date, masked) => {\n if (!date) return '';\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n return [day, month, year].join('.');\n },\n parse: (str, masked) => {\n const [day, month, year] = str.split('.').map(Number);\n return new Date(year, month - 1, day);\n }\n};\nIMask.MaskedDate = MaskedDate;\n\nexport { MaskedDate as default };\n","import { DIRECTION, objectIncludes } from '../core/utils.js';\nimport ChangeDetails from '../core/change-details.js';\nimport createMask, { normalizeOpts } from './factory.js';\nimport Masked from './base.js';\nimport IMask from '../core/holder.js';\nimport '../core/continuous-tail-details.js';\n\n/** Dynamic mask for choosing appropriate mask in run-time */\nclass MaskedDynamic extends Masked {\n constructor(opts) {\n super({\n ...MaskedDynamic.DEFAULTS,\n ...opts\n });\n this.currentMask = undefined;\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n super._update(opts);\n if ('mask' in opts) {\n this.exposeMask = undefined;\n // mask could be totally dynamic with only `dispatch` option\n this.compiledMasks = Array.isArray(opts.mask) ? opts.mask.map(m => {\n const {\n expose,\n ...maskOpts\n } = normalizeOpts(m);\n const masked = createMask({\n overwrite: this._overwrite,\n eager: this._eager,\n skipInvalid: this._skipInvalid,\n ...maskOpts\n });\n if (expose) this.exposeMask = masked;\n return masked;\n }) : [];\n\n // this.currentMask = this.doDispatch(''); // probably not needed but lets see\n }\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const details = this._applyDispatch(ch, flags);\n if (this.currentMask) {\n details.aggregate(this.currentMask._appendChar(ch, this.currentMaskFlags(flags)));\n }\n return details;\n }\n _applyDispatch(appended, flags, tail) {\n if (appended === void 0) {\n appended = '';\n }\n if (flags === void 0) {\n flags = {};\n }\n if (tail === void 0) {\n tail = '';\n }\n const prevValueBeforeTail = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._value : this.value;\n const inputValue = this.rawInputValue;\n const insertValue = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._rawInputValue : inputValue;\n const tailValue = inputValue.slice(insertValue.length);\n const prevMask = this.currentMask;\n const details = new ChangeDetails();\n const prevMaskState = prevMask == null ? void 0 : prevMask.state;\n\n // clone flags to prevent overwriting `_beforeTailState`\n this.currentMask = this.doDispatch(appended, {\n ...flags\n }, tail);\n\n // restore state after dispatch\n if (this.currentMask) {\n if (this.currentMask !== prevMask) {\n // if mask changed reapply input\n this.currentMask.reset();\n if (insertValue) {\n this.currentMask.append(insertValue, {\n raw: true\n });\n details.tailShift = this.currentMask.value.length - prevValueBeforeTail.length;\n }\n if (tailValue) {\n details.tailShift += this.currentMask.append(tailValue, {\n raw: true,\n tail: true\n }).tailShift;\n }\n } else if (prevMaskState) {\n // Dispatch can do something bad with state, so\n // restore prev mask state\n this.currentMask.state = prevMaskState;\n }\n }\n return details;\n }\n _appendPlaceholder() {\n const details = this._applyDispatch();\n if (this.currentMask) {\n details.aggregate(this.currentMask._appendPlaceholder());\n }\n return details;\n }\n _appendEager() {\n const details = this._applyDispatch();\n if (this.currentMask) {\n details.aggregate(this.currentMask._appendEager());\n }\n return details;\n }\n appendTail(tail) {\n const details = new ChangeDetails();\n if (tail) details.aggregate(this._applyDispatch('', {}, tail));\n return details.aggregate(this.currentMask ? this.currentMask.appendTail(tail) : super.appendTail(tail));\n }\n currentMaskFlags(flags) {\n var _flags$_beforeTailSta, _flags$_beforeTailSta2;\n return {\n ...flags,\n _beforeTailState: ((_flags$_beforeTailSta = flags._beforeTailState) == null ? void 0 : _flags$_beforeTailSta.currentMaskRef) === this.currentMask && ((_flags$_beforeTailSta2 = flags._beforeTailState) == null ? void 0 : _flags$_beforeTailSta2.currentMask) || flags._beforeTailState\n };\n }\n doDispatch(appended, flags, tail) {\n if (flags === void 0) {\n flags = {};\n }\n if (tail === void 0) {\n tail = '';\n }\n return this.dispatch(appended, this, flags, tail);\n }\n doValidate(flags) {\n return super.doValidate(flags) && (!this.currentMask || this.currentMask.doValidate(this.currentMaskFlags(flags)));\n }\n doPrepare(str, flags) {\n if (flags === void 0) {\n flags = {};\n }\n let [s, details] = super.doPrepare(str, flags);\n if (this.currentMask) {\n let currentDetails;\n [s, currentDetails] = super.doPrepare(s, this.currentMaskFlags(flags));\n details = details.aggregate(currentDetails);\n }\n return [s, details];\n }\n doPrepareChar(str, flags) {\n if (flags === void 0) {\n flags = {};\n }\n let [s, details] = super.doPrepareChar(str, flags);\n if (this.currentMask) {\n let currentDetails;\n [s, currentDetails] = super.doPrepareChar(s, this.currentMaskFlags(flags));\n details = details.aggregate(currentDetails);\n }\n return [s, details];\n }\n reset() {\n var _this$currentMask;\n (_this$currentMask = this.currentMask) == null || _this$currentMask.reset();\n this.compiledMasks.forEach(m => m.reset());\n }\n get value() {\n return this.exposeMask ? this.exposeMask.value : this.currentMask ? this.currentMask.value : '';\n }\n set value(value) {\n if (this.exposeMask) {\n this.exposeMask.value = value;\n this.currentMask = this.exposeMask;\n this._applyDispatch();\n } else super.value = value;\n }\n get unmaskedValue() {\n return this.exposeMask ? this.exposeMask.unmaskedValue : this.currentMask ? this.currentMask.unmaskedValue : '';\n }\n set unmaskedValue(unmaskedValue) {\n if (this.exposeMask) {\n this.exposeMask.unmaskedValue = unmaskedValue;\n this.currentMask = this.exposeMask;\n this._applyDispatch();\n } else super.unmaskedValue = unmaskedValue;\n }\n get typedValue() {\n return this.exposeMask ? this.exposeMask.typedValue : this.currentMask ? this.currentMask.typedValue : '';\n }\n set typedValue(typedValue) {\n if (this.exposeMask) {\n this.exposeMask.typedValue = typedValue;\n this.currentMask = this.exposeMask;\n this._applyDispatch();\n return;\n }\n let unmaskedValue = String(typedValue);\n\n // double check it\n if (this.currentMask) {\n this.currentMask.typedValue = typedValue;\n unmaskedValue = this.currentMask.unmaskedValue;\n }\n this.unmaskedValue = unmaskedValue;\n }\n get displayValue() {\n return this.currentMask ? this.currentMask.displayValue : '';\n }\n get isComplete() {\n var _this$currentMask2;\n return Boolean((_this$currentMask2 = this.currentMask) == null ? void 0 : _this$currentMask2.isComplete);\n }\n get isFilled() {\n var _this$currentMask3;\n return Boolean((_this$currentMask3 = this.currentMask) == null ? void 0 : _this$currentMask3.isFilled);\n }\n remove(fromPos, toPos) {\n const details = new ChangeDetails();\n if (this.currentMask) {\n details.aggregate(this.currentMask.remove(fromPos, toPos))\n // update with dispatch\n .aggregate(this._applyDispatch());\n }\n return details;\n }\n get state() {\n var _this$currentMask4;\n return {\n ...super.state,\n _rawInputValue: this.rawInputValue,\n compiledMasks: this.compiledMasks.map(m => m.state),\n currentMaskRef: this.currentMask,\n currentMask: (_this$currentMask4 = this.currentMask) == null ? void 0 : _this$currentMask4.state\n };\n }\n set state(state) {\n const {\n compiledMasks,\n currentMaskRef,\n currentMask,\n ...maskedState\n } = state;\n if (compiledMasks) this.compiledMasks.forEach((m, mi) => m.state = compiledMasks[mi]);\n if (currentMaskRef != null) {\n this.currentMask = currentMaskRef;\n this.currentMask.state = currentMask;\n }\n super.state = maskedState;\n }\n extractInput(fromPos, toPos, flags) {\n return this.currentMask ? this.currentMask.extractInput(fromPos, toPos, flags) : '';\n }\n extractTail(fromPos, toPos) {\n return this.currentMask ? this.currentMask.extractTail(fromPos, toPos) : super.extractTail(fromPos, toPos);\n }\n doCommit() {\n if (this.currentMask) this.currentMask.doCommit();\n super.doCommit();\n }\n nearestInputPos(cursorPos, direction) {\n return this.currentMask ? this.currentMask.nearestInputPos(cursorPos, direction) : super.nearestInputPos(cursorPos, direction);\n }\n get overwrite() {\n return this.currentMask ? this.currentMask.overwrite : this._overwrite;\n }\n set overwrite(overwrite) {\n this._overwrite = overwrite;\n }\n get eager() {\n return this.currentMask ? this.currentMask.eager : this._eager;\n }\n set eager(eager) {\n this._eager = eager;\n }\n get skipInvalid() {\n return this.currentMask ? this.currentMask.skipInvalid : this._skipInvalid;\n }\n set skipInvalid(skipInvalid) {\n this._skipInvalid = skipInvalid;\n }\n get autofix() {\n return this.currentMask ? this.currentMask.autofix : this._autofix;\n }\n set autofix(autofix) {\n this._autofix = autofix;\n }\n maskEquals(mask) {\n return Array.isArray(mask) ? this.compiledMasks.every((m, mi) => {\n if (!mask[mi]) return;\n const {\n mask: oldMask,\n ...restOpts\n } = mask[mi];\n return objectIncludes(m, restOpts) && m.maskEquals(oldMask);\n }) : super.maskEquals(mask);\n }\n typedValueEquals(value) {\n var _this$currentMask5;\n return Boolean((_this$currentMask5 = this.currentMask) == null ? void 0 : _this$currentMask5.typedValueEquals(value));\n }\n}\n/** Currently chosen mask */\n/** Currently chosen mask */\n/** Compliled {@link Masked} options */\n/** Chooses {@link Masked} depending on input value */\nMaskedDynamic.DEFAULTS = {\n ...Masked.DEFAULTS,\n dispatch: (appended, masked, flags, tail) => {\n if (!masked.compiledMasks.length) return;\n const inputValue = masked.rawInputValue;\n\n // simulate input\n const inputs = masked.compiledMasks.map((m, index) => {\n const isCurrent = masked.currentMask === m;\n const startInputPos = isCurrent ? m.displayValue.length : m.nearestInputPos(m.displayValue.length, DIRECTION.FORCE_LEFT);\n if (m.rawInputValue !== inputValue) {\n m.reset();\n m.append(inputValue, {\n raw: true\n });\n } else if (!isCurrent) {\n m.remove(startInputPos);\n }\n m.append(appended, masked.currentMaskFlags(flags));\n m.appendTail(tail);\n return {\n index,\n weight: m.rawInputValue.length,\n totalInputPositions: m.totalInputPositions(0, Math.max(startInputPos, m.nearestInputPos(m.displayValue.length, DIRECTION.FORCE_LEFT)))\n };\n });\n\n // pop masks with longer values first\n inputs.sort((i1, i2) => i2.weight - i1.weight || i2.totalInputPositions - i1.totalInputPositions);\n return masked.compiledMasks[inputs[0].index];\n }\n};\nIMask.MaskedDynamic = MaskedDynamic;\n\nexport { MaskedDynamic as default };\n","import MaskedPattern from './pattern.js';\nimport IMask from '../core/holder.js';\nimport ChangeDetails from '../core/change-details.js';\nimport { DIRECTION } from '../core/utils.js';\nimport ContinuousTailDetails from '../core/continuous-tail-details.js';\nimport './base.js';\nimport './factory.js';\nimport './pattern/chunk-tail-details.js';\nimport './pattern/cursor.js';\nimport './pattern/fixed-definition.js';\nimport './pattern/input-definition.js';\nimport './regexp.js';\n\n/** Pattern which validates enum values */\nclass MaskedEnum extends MaskedPattern {\n constructor(opts) {\n super({\n ...MaskedEnum.DEFAULTS,\n ...opts\n }); // mask will be created in _update\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n const {\n enum: enum_,\n ...eopts\n } = opts;\n if (enum_) {\n const lengths = enum_.map(e => e.length);\n const requiredLength = Math.min(...lengths);\n const optionalLength = Math.max(...lengths) - requiredLength;\n eopts.mask = '*'.repeat(requiredLength);\n if (optionalLength) eopts.mask += '[' + '*'.repeat(optionalLength) + ']';\n this.enum = enum_;\n }\n super._update(eopts);\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const matchFrom = Math.min(this.nearestInputPos(0, DIRECTION.FORCE_RIGHT), this.value.length);\n const matches = this.enum.filter(e => this.matchValue(e, this.unmaskedValue + ch, matchFrom));\n if (matches.length) {\n if (matches.length === 1) {\n this._forEachBlocksInRange(0, this.value.length, (b, bi) => {\n const mch = matches[0][bi];\n if (bi >= this.value.length || mch === b.value) return;\n b.reset();\n b._appendChar(mch, flags);\n });\n }\n const d = super._appendCharRaw(matches[0][this.value.length], flags);\n if (matches.length === 1) {\n matches[0].slice(this.unmaskedValue.length).split('').forEach(mch => d.aggregate(super._appendCharRaw(mch)));\n }\n return d;\n }\n return new ChangeDetails({\n skip: !this.isComplete\n });\n }\n extractTail(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n // just drop tail\n return new ContinuousTailDetails('', fromPos);\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n if (fromPos === toPos) return new ChangeDetails();\n const matchFrom = Math.min(super.nearestInputPos(0, DIRECTION.FORCE_RIGHT), this.value.length);\n let pos;\n for (pos = fromPos; pos >= 0; --pos) {\n const matches = this.enum.filter(e => this.matchValue(e, this.value.slice(matchFrom, pos), matchFrom));\n if (matches.length > 1) break;\n }\n const details = super.remove(pos, toPos);\n details.tailShift += pos - fromPos;\n return details;\n }\n get isComplete() {\n return this.enum.indexOf(this.value) >= 0;\n }\n}\n/** Match enum value */\nMaskedEnum.DEFAULTS = {\n ...MaskedPattern.DEFAULTS,\n matchValue: (estr, istr, matchFrom) => estr.indexOf(istr, matchFrom) === matchFrom\n};\nIMask.MaskedEnum = MaskedEnum;\n\nexport { MaskedEnum as default };\n","import { isString, isObject, pick } from '../core/utils.js';\nimport IMask from '../core/holder.js';\n\n// TODO can't use overloads here because of https://github.com/microsoft/TypeScript/issues/50754\n// export function maskedClass(mask: string): typeof MaskedPattern;\n// export function maskedClass(mask: DateConstructor): typeof MaskedDate;\n// export function maskedClass(mask: NumberConstructor): typeof MaskedNumber;\n// export function maskedClass(mask: Array<any> | ArrayConstructor): typeof MaskedDynamic;\n// export function maskedClass(mask: MaskedDate): typeof MaskedDate;\n// export function maskedClass(mask: MaskedNumber): typeof MaskedNumber;\n// export function maskedClass(mask: MaskedEnum): typeof MaskedEnum;\n// export function maskedClass(mask: MaskedRange): typeof MaskedRange;\n// export function maskedClass(mask: MaskedRegExp): typeof MaskedRegExp;\n// export function maskedClass(mask: MaskedFunction): typeof MaskedFunction;\n// export function maskedClass(mask: MaskedPattern): typeof MaskedPattern;\n// export function maskedClass(mask: MaskedDynamic): typeof MaskedDynamic;\n// export function maskedClass(mask: Masked): typeof Masked;\n// export function maskedClass(mask: typeof Masked): typeof Masked;\n// export function maskedClass(mask: typeof MaskedDate): typeof MaskedDate;\n// export function maskedClass(mask: typeof MaskedNumber): typeof MaskedNumber;\n// export function maskedClass(mask: typeof MaskedEnum): typeof MaskedEnum;\n// export function maskedClass(mask: typeof MaskedRange): typeof MaskedRange;\n// export function maskedClass(mask: typeof MaskedRegExp): typeof MaskedRegExp;\n// export function maskedClass(mask: typeof MaskedFunction): typeof MaskedFunction;\n// export function maskedClass(mask: typeof MaskedPattern): typeof MaskedPattern;\n// export function maskedClass(mask: typeof MaskedDynamic): typeof MaskedDynamic;\n// export function maskedClass<Mask extends typeof Masked> (mask: Mask): Mask;\n// export function maskedClass(mask: RegExp): typeof MaskedRegExp;\n// export function maskedClass(mask: (value: string, ...args: any[]) => boolean): typeof MaskedFunction;\n\n/** Get Masked class by mask type */\nfunction maskedClass(mask) /* TODO */{\n if (mask == null) throw new Error('mask property should be defined');\n if (mask instanceof RegExp) return IMask.MaskedRegExp;\n if (isString(mask)) return IMask.MaskedPattern;\n if (mask === Date) return IMask.MaskedDate;\n if (mask === Number) return IMask.MaskedNumber;\n if (Array.isArray(mask) || mask === Array) return IMask.MaskedDynamic;\n if (IMask.Masked && mask.prototype instanceof IMask.Masked) return mask;\n if (IMask.Masked && mask instanceof IMask.Masked) return mask.constructor;\n if (mask instanceof Function) return IMask.MaskedFunction;\n console.warn('Mask not found for mask', mask); // eslint-disable-line no-console\n return IMask.Masked;\n}\nfunction normalizeOpts(opts) {\n if (!opts) throw new Error('Options in not defined');\n if (IMask.Masked) {\n if (opts.prototype instanceof IMask.Masked) return {\n mask: opts\n };\n\n /*\n handle cases like:\n 1) opts = Masked\n 2) opts = { mask: Masked, ...instanceOpts }\n */\n const {\n mask = undefined,\n ...instanceOpts\n } = opts instanceof IMask.Masked ? {\n mask: opts\n } : isObject(opts) && opts.mask instanceof IMask.Masked ? opts : {};\n if (mask) {\n const _mask = mask.mask;\n return {\n ...pick(mask, (_, k) => !k.startsWith('_')),\n mask: mask.constructor,\n _mask,\n ...instanceOpts\n };\n }\n }\n if (!isObject(opts)) return {\n mask: opts\n };\n return {\n ...opts\n };\n}\n\n// TODO can't use overloads here because of https://github.com/microsoft/TypeScript/issues/50754\n\n// From masked\n// export default function createMask<Opts extends Masked, ReturnMasked=Opts> (opts: Opts): ReturnMasked;\n// // From masked class\n// export default function createMask<Opts extends MaskedOptions<typeof Masked>, ReturnMasked extends Masked=InstanceType<Opts['mask']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedDate>, ReturnMasked extends MaskedDate=MaskedDate<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedNumber>, ReturnMasked extends MaskedNumber=MaskedNumber<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedEnum>, ReturnMasked extends MaskedEnum=MaskedEnum<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedRange>, ReturnMasked extends MaskedRange=MaskedRange<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedRegExp>, ReturnMasked extends MaskedRegExp=MaskedRegExp<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedFunction>, ReturnMasked extends MaskedFunction=MaskedFunction<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedPattern>, ReturnMasked extends MaskedPattern=MaskedPattern<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<typeof MaskedDynamic>, ReturnMasked extends MaskedDynamic=MaskedDynamic<Opts['parent']>> (opts: Opts): ReturnMasked;\n// // From mask opts\n// export default function createMask<Opts extends MaskedOptions<Masked>, ReturnMasked=Opts extends MaskedOptions<infer M> ? M : never> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedNumberOptions, ReturnMasked extends MaskedNumber=MaskedNumber<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedDateFactoryOptions, ReturnMasked extends MaskedDate=MaskedDate<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedEnumOptions, ReturnMasked extends MaskedEnum=MaskedEnum<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedRangeOptions, ReturnMasked extends MaskedRange=MaskedRange<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedPatternOptions, ReturnMasked extends MaskedPattern=MaskedPattern<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedDynamicOptions, ReturnMasked extends MaskedDynamic=MaskedDynamic<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<RegExp>, ReturnMasked extends MaskedRegExp=MaskedRegExp<Opts['parent']>> (opts: Opts): ReturnMasked;\n// export default function createMask<Opts extends MaskedOptions<Function>, ReturnMasked extends MaskedFunction=MaskedFunction<Opts['parent']>> (opts: Opts): ReturnMasked;\n\n/** Creates new {@link Masked} depending on mask type */\nfunction createMask(opts) {\n if (IMask.Masked && opts instanceof IMask.Masked) return opts;\n const nOpts = normalizeOpts(opts);\n const MaskedClass = maskedClass(nOpts.mask);\n if (!MaskedClass) throw new Error(\"Masked class is not found for provided mask \" + nOpts.mask + \", appropriate module needs to be imported manually before creating mask.\");\n if (nOpts.mask === MaskedClass) delete nOpts.mask;\n if (nOpts._mask) {\n nOpts.mask = nOpts._mask;\n delete nOpts._mask;\n }\n return new MaskedClass(nOpts);\n}\nIMask.createMask = createMask;\n\nexport { createMask as default, maskedClass, normalizeOpts };\n","import Masked from './base.js';\nimport IMask from '../core/holder.js';\nimport '../core/change-details.js';\nimport '../core/continuous-tail-details.js';\nimport '../core/utils.js';\n\n/** Masking by custom Function */\nclass MaskedFunction extends Masked {\n /** */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n super._update({\n ...opts,\n validate: opts.mask\n });\n }\n}\nIMask.MaskedFunction = MaskedFunction;\n\nexport { MaskedFunction as default };\n","import { escapeRegExp, DIRECTION } from '../core/utils.js';\nimport ChangeDetails from '../core/change-details.js';\nimport Masked from './base.js';\nimport IMask from '../core/holder.js';\nimport '../core/continuous-tail-details.js';\n\nvar _MaskedNumber;\n/** Number mask */\nclass MaskedNumber extends Masked {\n /** Single char */\n\n /** Single char */\n\n /** Array of single chars */\n\n /** */\n\n /** */\n\n /** Digits after point */\n\n /** Flag to remove leading and trailing zeros in the end of editing */\n\n /** Flag to pad trailing zeros after point in the end of editing */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n /** Format typed value to string */\n\n /** Parse string to get typed value */\n\n constructor(opts) {\n super({\n ...MaskedNumber.DEFAULTS,\n ...opts\n });\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n super._update(opts);\n this._updateRegExps();\n }\n _updateRegExps() {\n const start = '^' + (this.allowNegative ? '[+|\\\\-]?' : '');\n const mid = '\\\\d*';\n const end = (this.scale ? \"(\" + escapeRegExp(this.radix) + \"\\\\d{0,\" + this.scale + \"})?\" : '') + '$';\n this._numberRegExp = new RegExp(start + mid + end);\n this._mapToRadixRegExp = new RegExp(\"[\" + this.mapToRadix.map(escapeRegExp).join('') + \"]\", 'g');\n this._thousandsSeparatorRegExp = new RegExp(escapeRegExp(this.thousandsSeparator), 'g');\n }\n _removeThousandsSeparators(value) {\n return value.replace(this._thousandsSeparatorRegExp, '');\n }\n _insertThousandsSeparators(value) {\n // https://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript\n const parts = value.split(this.radix);\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, this.thousandsSeparator);\n return parts.join(this.radix);\n }\n doPrepareChar(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const [prepCh, details] = super.doPrepareChar(this._removeThousandsSeparators(this.scale && this.mapToRadix.length && (\n /*\n radix should be mapped when\n 1) input is done from keyboard = flags.input && flags.raw\n 2) unmasked value is set = !flags.input && !flags.raw\n and should not be mapped when\n 1) value is set = flags.input && !flags.raw\n 2) raw value is set = !flags.input && flags.raw\n */\n flags.input && flags.raw || !flags.input && !flags.raw) ? ch.replace(this._mapToRadixRegExp, this.radix) : ch), flags);\n if (ch && !prepCh) details.skip = true;\n if (prepCh && !this.allowPositive && !this.value && prepCh !== '-') details.aggregate(this._appendChar('-'));\n return [prepCh, details];\n }\n _separatorsCount(to, extendOnSeparators) {\n if (extendOnSeparators === void 0) {\n extendOnSeparators = false;\n }\n let count = 0;\n for (let pos = 0; pos < to; ++pos) {\n if (this._value.indexOf(this.thousandsSeparator, pos) === pos) {\n ++count;\n if (extendOnSeparators) to += this.thousandsSeparator.length;\n }\n }\n return count;\n }\n _separatorsCountFromSlice(slice) {\n if (slice === void 0) {\n slice = this._value;\n }\n return this._separatorsCount(this._removeThousandsSeparators(slice).length, true);\n }\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n [fromPos, toPos] = this._adjustRangeWithSeparators(fromPos, toPos);\n return this._removeThousandsSeparators(super.extractInput(fromPos, toPos, flags));\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const prevBeforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value;\n const prevBeforeTailSeparatorsCount = this._separatorsCountFromSlice(prevBeforeTailValue);\n this._value = this._removeThousandsSeparators(this.value);\n const oldValue = this._value;\n this._value += ch;\n const num = this.number;\n let accepted = !isNaN(num);\n let skip = false;\n if (accepted) {\n let fixedNum;\n if (this.min != null && this.min < 0 && this.number < this.min) fixedNum = this.min;\n if (this.max != null && this.max > 0 && this.number > this.max) fixedNum = this.max;\n if (fixedNum != null) {\n if (this.autofix) {\n this._value = this.format(fixedNum, this).replace(MaskedNumber.UNMASKED_RADIX, this.radix);\n skip || (skip = oldValue === this._value && !flags.tail); // if not changed on tail it's still ok to proceed\n } else {\n accepted = false;\n }\n }\n accepted && (accepted = Boolean(this._value.match(this._numberRegExp)));\n }\n let appendDetails;\n if (!accepted) {\n this._value = oldValue;\n appendDetails = new ChangeDetails();\n } else {\n appendDetails = new ChangeDetails({\n inserted: this._value.slice(oldValue.length),\n rawInserted: skip ? '' : ch,\n skip\n });\n }\n this._value = this._insertThousandsSeparators(this._value);\n const beforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value;\n const beforeTailSeparatorsCount = this._separatorsCountFromSlice(beforeTailValue);\n appendDetails.tailShift += (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length;\n return appendDetails;\n }\n _findSeparatorAround(pos) {\n if (this.thousandsSeparator) {\n const searchFrom = pos - this.thousandsSeparator.length + 1;\n const separatorPos = this.value.indexOf(this.thousandsSeparator, searchFrom);\n if (separatorPos <= pos) return separatorPos;\n }\n return -1;\n }\n _adjustRangeWithSeparators(from, to) {\n const separatorAroundFromPos = this._findSeparatorAround(from);\n if (separatorAroundFromPos >= 0) from = separatorAroundFromPos;\n const separatorAroundToPos = this._findSeparatorAround(to);\n if (separatorAroundToPos >= 0) to = separatorAroundToPos + this.thousandsSeparator.length;\n return [from, to];\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n [fromPos, toPos] = this._adjustRangeWithSeparators(fromPos, toPos);\n const valueBeforePos = this.value.slice(0, fromPos);\n const valueAfterPos = this.value.slice(toPos);\n const prevBeforeTailSeparatorsCount = this._separatorsCount(valueBeforePos.length);\n this._value = this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos));\n const beforeTailSeparatorsCount = this._separatorsCountFromSlice(valueBeforePos);\n return new ChangeDetails({\n tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length\n });\n }\n nearestInputPos(cursorPos, direction) {\n if (!this.thousandsSeparator) return cursorPos;\n switch (direction) {\n case DIRECTION.NONE:\n case DIRECTION.LEFT:\n case DIRECTION.FORCE_LEFT:\n {\n const separatorAtLeftPos = this._findSeparatorAround(cursorPos - 1);\n if (separatorAtLeftPos >= 0) {\n const separatorAtLeftEndPos = separatorAtLeftPos + this.thousandsSeparator.length;\n if (cursorPos < separatorAtLeftEndPos || this.value.length <= separatorAtLeftEndPos || direction === DIRECTION.FORCE_LEFT) {\n return separatorAtLeftPos;\n }\n }\n break;\n }\n case DIRECTION.RIGHT:\n case DIRECTION.FORCE_RIGHT:\n {\n const separatorAtRightPos = this._findSeparatorAround(cursorPos);\n if (separatorAtRightPos >= 0) {\n return separatorAtRightPos + this.thousandsSeparator.length;\n }\n }\n }\n return cursorPos;\n }\n doCommit() {\n if (this.value) {\n const number = this.number;\n let validnum = number;\n\n // check bounds\n if (this.min != null) validnum = Math.max(validnum, this.min);\n if (this.max != null) validnum = Math.min(validnum, this.max);\n if (validnum !== number) this.unmaskedValue = this.format(validnum, this);\n let formatted = this.value;\n if (this.normalizeZeros) formatted = this._normalizeZeros(formatted);\n if (this.padFractionalZeros && this.scale > 0) formatted = this._padFractionalZeros(formatted);\n this._value = formatted;\n }\n super.doCommit();\n }\n _normalizeZeros(value) {\n const parts = this._removeThousandsSeparators(value).split(this.radix);\n\n // remove leading zeros\n parts[0] = parts[0].replace(/^(\\D*)(0*)(\\d*)/, (match, sign, zeros, num) => sign + num);\n // add leading zero\n if (value.length && !/\\d$/.test(parts[0])) parts[0] = parts[0] + '0';\n if (parts.length > 1) {\n parts[1] = parts[1].replace(/0*$/, ''); // remove trailing zeros\n if (!parts[1].length) parts.length = 1; // remove fractional\n }\n return this._insertThousandsSeparators(parts.join(this.radix));\n }\n _padFractionalZeros(value) {\n if (!value) return value;\n const parts = value.split(this.radix);\n if (parts.length < 2) parts.push('');\n parts[1] = parts[1].padEnd(this.scale, '0');\n return parts.join(this.radix);\n }\n doSkipInvalid(ch, flags, checkTail) {\n if (flags === void 0) {\n flags = {};\n }\n const dropFractional = this.scale === 0 && ch !== this.thousandsSeparator && (ch === this.radix || ch === MaskedNumber.UNMASKED_RADIX || this.mapToRadix.includes(ch));\n return super.doSkipInvalid(ch, flags, checkTail) && !dropFractional;\n }\n get unmaskedValue() {\n return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, MaskedNumber.UNMASKED_RADIX);\n }\n set unmaskedValue(unmaskedValue) {\n super.unmaskedValue = unmaskedValue;\n }\n get typedValue() {\n return this.parse(this.unmaskedValue, this);\n }\n set typedValue(n) {\n this.rawInputValue = this.format(n, this).replace(MaskedNumber.UNMASKED_RADIX, this.radix);\n }\n\n /** Parsed Number */\n get number() {\n return this.typedValue;\n }\n set number(number) {\n this.typedValue = number;\n }\n get allowNegative() {\n return this.min != null && this.min < 0 || this.max != null && this.max < 0;\n }\n get allowPositive() {\n return this.min != null && this.min > 0 || this.max != null && this.max > 0;\n }\n typedValueEquals(value) {\n // handle 0 -> '' case (typed = 0 even if value = '')\n // for details see https://github.com/uNmAnNeR/imaskjs/issues/134\n return (super.typedValueEquals(value) || MaskedNumber.EMPTY_VALUES.includes(value) && MaskedNumber.EMPTY_VALUES.includes(this.typedValue)) && !(value === 0 && this.value === '');\n }\n}\n_MaskedNumber = MaskedNumber;\nMaskedNumber.UNMASKED_RADIX = '.';\nMaskedNumber.EMPTY_VALUES = [...Masked.EMPTY_VALUES, 0];\nMaskedNumber.DEFAULTS = {\n ...Masked.DEFAULTS,\n mask: Number,\n radix: ',',\n thousandsSeparator: '',\n mapToRadix: [_MaskedNumber.UNMASKED_RADIX],\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n scale: 2,\n normalizeZeros: true,\n padFractionalZeros: false,\n parse: Number,\n format: n => n.toLocaleString('en-US', {\n useGrouping: false,\n maximumFractionDigits: 20\n })\n};\nIMask.MaskedNumber = MaskedNumber;\n\nexport { MaskedNumber as default };\n","import ChangeDetails from '../core/change-details.js';\nimport IMask from '../core/holder.js';\nimport { DIRECTION } from '../core/utils.js';\nimport Masked from './base.js';\nimport createMask, { normalizeOpts } from './factory.js';\nimport ChunksTailDetails from './pattern/chunk-tail-details.js';\nimport PatternCursor from './pattern/cursor.js';\nimport PatternFixedDefinition from './pattern/fixed-definition.js';\nimport PatternInputDefinition from './pattern/input-definition.js';\nimport './regexp.js';\nimport '../core/continuous-tail-details.js';\n\n/** Pattern mask */\nclass MaskedPattern extends Masked {\n /** */\n\n /** */\n\n /** Single char for empty input */\n\n /** Single char for filled input */\n\n /** Show placeholder only when needed */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n constructor(opts) {\n super({\n ...MaskedPattern.DEFAULTS,\n ...opts,\n definitions: Object.assign({}, PatternInputDefinition.DEFAULT_DEFINITIONS, opts == null ? void 0 : opts.definitions)\n });\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n opts.definitions = Object.assign({}, this.definitions, opts.definitions);\n super._update(opts);\n this._rebuildMask();\n }\n _rebuildMask() {\n const defs = this.definitions;\n this._blocks = [];\n this.exposeBlock = undefined;\n this._stops = [];\n this._maskedBlocks = {};\n const pattern = this.mask;\n if (!pattern || !defs) return;\n let unmaskingBlock = false;\n let optionalBlock = false;\n for (let i = 0; i < pattern.length; ++i) {\n if (this.blocks) {\n const p = pattern.slice(i);\n const bNames = Object.keys(this.blocks).filter(bName => p.indexOf(bName) === 0);\n // order by key length\n bNames.sort((a, b) => b.length - a.length);\n // use block name with max length\n const bName = bNames[0];\n if (bName) {\n const {\n expose,\n repeat,\n ...bOpts\n } = normalizeOpts(this.blocks[bName]); // TODO type Opts<Arg & Extra>\n const blockOpts = {\n lazy: this.lazy,\n eager: this.eager,\n placeholderChar: this.placeholderChar,\n displayChar: this.displayChar,\n overwrite: this.overwrite,\n autofix: this.autofix,\n ...bOpts,\n repeat,\n parent: this\n };\n const maskedBlock = repeat != null ? new IMask.RepeatBlock(blockOpts /* TODO */) : createMask(blockOpts);\n if (maskedBlock) {\n this._blocks.push(maskedBlock);\n if (expose) this.exposeBlock = maskedBlock;\n\n // store block index\n if (!this._maskedBlocks[bName]) this._maskedBlocks[bName] = [];\n this._maskedBlocks[bName].push(this._blocks.length - 1);\n }\n i += bName.length - 1;\n continue;\n }\n }\n let char = pattern[i];\n let isInput = (char in defs);\n if (char === MaskedPattern.STOP_CHAR) {\n this._stops.push(this._blocks.length);\n continue;\n }\n if (char === '{' || char === '}') {\n unmaskingBlock = !unmaskingBlock;\n continue;\n }\n if (char === '[' || char === ']') {\n optionalBlock = !optionalBlock;\n continue;\n }\n if (char === MaskedPattern.ESCAPE_CHAR) {\n ++i;\n char = pattern[i];\n if (!char) break;\n isInput = false;\n }\n const def = isInput ? new PatternInputDefinition({\n isOptional: optionalBlock,\n lazy: this.lazy,\n eager: this.eager,\n placeholderChar: this.placeholderChar,\n displayChar: this.displayChar,\n ...normalizeOpts(defs[char]),\n parent: this\n }) : new PatternFixedDefinition({\n char,\n eager: this.eager,\n isUnmasking: unmaskingBlock\n });\n this._blocks.push(def);\n }\n }\n get state() {\n return {\n ...super.state,\n _blocks: this._blocks.map(b => b.state)\n };\n }\n set state(state) {\n if (!state) {\n this.reset();\n return;\n }\n const {\n _blocks,\n ...maskedState\n } = state;\n this._blocks.forEach((b, bi) => b.state = _blocks[bi]);\n super.state = maskedState;\n }\n reset() {\n super.reset();\n this._blocks.forEach(b => b.reset());\n }\n get isComplete() {\n return this.exposeBlock ? this.exposeBlock.isComplete : this._blocks.every(b => b.isComplete);\n }\n get isFilled() {\n return this._blocks.every(b => b.isFilled);\n }\n get isFixed() {\n return this._blocks.every(b => b.isFixed);\n }\n get isOptional() {\n return this._blocks.every(b => b.isOptional);\n }\n doCommit() {\n this._blocks.forEach(b => b.doCommit());\n super.doCommit();\n }\n get unmaskedValue() {\n return this.exposeBlock ? this.exposeBlock.unmaskedValue : this._blocks.reduce((str, b) => str += b.unmaskedValue, '');\n }\n set unmaskedValue(unmaskedValue) {\n if (this.exposeBlock) {\n const tail = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);\n this.exposeBlock.unmaskedValue = unmaskedValue;\n this.appendTail(tail);\n this.doCommit();\n } else super.unmaskedValue = unmaskedValue;\n }\n get value() {\n return this.exposeBlock ? this.exposeBlock.value :\n // TODO return _value when not in change?\n this._blocks.reduce((str, b) => str += b.value, '');\n }\n set value(value) {\n if (this.exposeBlock) {\n const tail = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);\n this.exposeBlock.value = value;\n this.appendTail(tail);\n this.doCommit();\n } else super.value = value;\n }\n get typedValue() {\n return this.exposeBlock ? this.exposeBlock.typedValue : super.typedValue;\n }\n set typedValue(value) {\n if (this.exposeBlock) {\n const tail = this.extractTail(this._blockStartPos(this._blocks.indexOf(this.exposeBlock)) + this.exposeBlock.displayValue.length);\n this.exposeBlock.typedValue = value;\n this.appendTail(tail);\n this.doCommit();\n } else super.typedValue = value;\n }\n get displayValue() {\n return this._blocks.reduce((str, b) => str += b.displayValue, '');\n }\n appendTail(tail) {\n return super.appendTail(tail).aggregate(this._appendPlaceholder());\n }\n _appendEager() {\n var _this$_mapPosToBlock;\n const details = new ChangeDetails();\n let startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.displayValue.length)) == null ? void 0 : _this$_mapPosToBlock.index;\n if (startBlockIndex == null) return details;\n\n // TODO test if it works for nested pattern masks\n if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex;\n for (let bi = startBlockIndex; bi < this._blocks.length; ++bi) {\n const d = this._blocks[bi]._appendEager();\n if (!d.inserted) break;\n details.aggregate(d);\n }\n return details;\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const blockIter = this._mapPosToBlock(this.displayValue.length);\n const details = new ChangeDetails();\n if (!blockIter) return details;\n for (let bi = blockIter.index, block; block = this._blocks[bi]; ++bi) {\n var _flags$_beforeTailSta;\n const blockDetails = block._appendChar(ch, {\n ...flags,\n _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) == null || (_flags$_beforeTailSta = _flags$_beforeTailSta._blocks) == null ? void 0 : _flags$_beforeTailSta[bi]\n });\n details.aggregate(blockDetails);\n if (blockDetails.consumed) break; // go next char\n }\n return details;\n }\n extractTail(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const chunkTail = new ChunksTailDetails();\n if (fromPos === toPos) return chunkTail;\n this._forEachBlocksInRange(fromPos, toPos, (b, bi, bFromPos, bToPos) => {\n const blockChunk = b.extractTail(bFromPos, bToPos);\n blockChunk.stop = this._findStopBefore(bi);\n blockChunk.from = this._blockStartPos(bi);\n if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi;\n chunkTail.extend(blockChunk);\n });\n return chunkTail;\n }\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n if (flags === void 0) {\n flags = {};\n }\n if (fromPos === toPos) return '';\n let input = '';\n this._forEachBlocksInRange(fromPos, toPos, (b, _, fromPos, toPos) => {\n input += b.extractInput(fromPos, toPos, flags);\n });\n return input;\n }\n _findStopBefore(blockIndex) {\n let stopBefore;\n for (let si = 0; si < this._stops.length; ++si) {\n const stop = this._stops[si];\n if (stop <= blockIndex) stopBefore = stop;else break;\n }\n return stopBefore;\n }\n\n /** Appends placeholder depending on laziness */\n _appendPlaceholder(toBlockIndex) {\n const details = new ChangeDetails();\n if (this.lazy && toBlockIndex == null) return details;\n const startBlockIter = this._mapPosToBlock(this.displayValue.length);\n if (!startBlockIter) return details;\n const startBlockIndex = startBlockIter.index;\n const endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length;\n this._blocks.slice(startBlockIndex, endBlockIndex).forEach(b => {\n if (!b.lazy || toBlockIndex != null) {\n var _blocks2;\n details.aggregate(b._appendPlaceholder((_blocks2 = b._blocks) == null ? void 0 : _blocks2.length));\n }\n });\n return details;\n }\n\n /** Finds block in pos */\n _mapPosToBlock(pos) {\n let accVal = '';\n for (let bi = 0; bi < this._blocks.length; ++bi) {\n const block = this._blocks[bi];\n const blockStartPos = accVal.length;\n accVal += block.displayValue;\n if (pos <= accVal.length) {\n return {\n index: bi,\n offset: pos - blockStartPos\n };\n }\n }\n }\n _blockStartPos(blockIndex) {\n return this._blocks.slice(0, blockIndex).reduce((pos, b) => pos += b.displayValue.length, 0);\n }\n _forEachBlocksInRange(fromPos, toPos, fn) {\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const fromBlockIter = this._mapPosToBlock(fromPos);\n if (fromBlockIter) {\n const toBlockIter = this._mapPosToBlock(toPos);\n // process first block\n const isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index;\n const fromBlockStartPos = fromBlockIter.offset;\n const fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].displayValue.length;\n fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos);\n if (toBlockIter && !isSameBlock) {\n // process intermediate blocks\n for (let bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) {\n fn(this._blocks[bi], bi, 0, this._blocks[bi].displayValue.length);\n }\n\n // process last block\n fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset);\n }\n }\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const removeDetails = super.remove(fromPos, toPos);\n this._forEachBlocksInRange(fromPos, toPos, (b, _, bFromPos, bToPos) => {\n removeDetails.aggregate(b.remove(bFromPos, bToPos));\n });\n return removeDetails;\n }\n nearestInputPos(cursorPos, direction) {\n if (direction === void 0) {\n direction = DIRECTION.NONE;\n }\n if (!this._blocks.length) return 0;\n const cursor = new PatternCursor(this, cursorPos);\n if (direction === DIRECTION.NONE) {\n // -------------------------------------------------\n // NONE should only go out from fixed to the right!\n // -------------------------------------------------\n if (cursor.pushRightBeforeInput()) return cursor.pos;\n cursor.popState();\n if (cursor.pushLeftBeforeInput()) return cursor.pos;\n return this.displayValue.length;\n }\n\n // FORCE is only about a|* otherwise is 0\n if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) {\n // try to break fast when *|a\n if (direction === DIRECTION.LEFT) {\n cursor.pushRightBeforeFilled();\n if (cursor.ok && cursor.pos === cursorPos) return cursorPos;\n cursor.popState();\n }\n\n // forward flow\n cursor.pushLeftBeforeInput();\n cursor.pushLeftBeforeRequired();\n cursor.pushLeftBeforeFilled();\n\n // backward flow\n if (direction === DIRECTION.LEFT) {\n cursor.pushRightBeforeInput();\n cursor.pushRightBeforeRequired();\n if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;\n cursor.popState();\n if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos;\n cursor.popState();\n }\n if (cursor.ok) return cursor.pos;\n if (direction === DIRECTION.FORCE_LEFT) return 0;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n return 0;\n }\n if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) {\n // forward flow\n cursor.pushRightBeforeInput();\n cursor.pushRightBeforeRequired();\n if (cursor.pushRightBeforeFilled()) return cursor.pos;\n if (direction === DIRECTION.FORCE_RIGHT) return this.displayValue.length;\n\n // backward flow\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n cursor.popState();\n if (cursor.ok) return cursor.pos;\n return this.nearestInputPos(cursorPos, DIRECTION.LEFT);\n }\n return cursorPos;\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n let total = 0;\n this._forEachBlocksInRange(fromPos, toPos, (b, _, bFromPos, bToPos) => {\n total += b.totalInputPositions(bFromPos, bToPos);\n });\n return total;\n }\n\n /** Get block by name */\n maskedBlock(name) {\n return this.maskedBlocks(name)[0];\n }\n\n /** Get all blocks by name */\n maskedBlocks(name) {\n const indices = this._maskedBlocks[name];\n if (!indices) return [];\n return indices.map(gi => this._blocks[gi]);\n }\n pad(flags) {\n const details = new ChangeDetails();\n this._forEachBlocksInRange(0, this.displayValue.length, b => details.aggregate(b.pad(flags)));\n return details;\n }\n}\nMaskedPattern.DEFAULTS = {\n ...Masked.DEFAULTS,\n lazy: true,\n placeholderChar: '_'\n};\nMaskedPattern.STOP_CHAR = '`';\nMaskedPattern.ESCAPE_CHAR = '\\\\';\nMaskedPattern.InputDefinition = PatternInputDefinition;\nMaskedPattern.FixedDefinition = PatternFixedDefinition;\nIMask.MaskedPattern = MaskedPattern;\n\nexport { MaskedPattern as default };\n","import ChangeDetails from '../../core/change-details.js';\nimport { isString } from '../../core/utils.js';\nimport ContinuousTailDetails from '../../core/continuous-tail-details.js';\nimport IMask from '../../core/holder.js';\n\nclass ChunksTailDetails {\n /** */\n\n constructor(chunks, from) {\n if (chunks === void 0) {\n chunks = [];\n }\n if (from === void 0) {\n from = 0;\n }\n this.chunks = chunks;\n this.from = from;\n }\n toString() {\n return this.chunks.map(String).join('');\n }\n extend(tailChunk) {\n if (!String(tailChunk)) return;\n tailChunk = isString(tailChunk) ? new ContinuousTailDetails(String(tailChunk)) : tailChunk;\n const lastChunk = this.chunks[this.chunks.length - 1];\n const extendLast = lastChunk && (\n // if stops are same or tail has no stop\n lastChunk.stop === tailChunk.stop || tailChunk.stop == null) &&\n // if tail chunk goes just after last chunk\n tailChunk.from === lastChunk.from + lastChunk.toString().length;\n if (tailChunk instanceof ContinuousTailDetails) {\n // check the ability to extend previous chunk\n if (extendLast) {\n // extend previous chunk\n lastChunk.extend(tailChunk.toString());\n } else {\n // append new chunk\n this.chunks.push(tailChunk);\n }\n } else if (tailChunk instanceof ChunksTailDetails) {\n if (tailChunk.stop == null) {\n // unwrap floating chunks to parent, keeping `from` pos\n let firstTailChunk;\n while (tailChunk.chunks.length && tailChunk.chunks[0].stop == null) {\n firstTailChunk = tailChunk.chunks.shift(); // not possible to be `undefined` because length was checked above\n firstTailChunk.from += tailChunk.from;\n this.extend(firstTailChunk);\n }\n }\n\n // if tail chunk still has value\n if (tailChunk.toString()) {\n // if chunks contains stops, then popup stop to container\n tailChunk.stop = tailChunk.blockIndex;\n this.chunks.push(tailChunk);\n }\n }\n }\n appendTo(masked) {\n if (!(masked instanceof IMask.MaskedPattern)) {\n const tail = new ContinuousTailDetails(this.toString());\n return tail.appendTo(masked);\n }\n const details = new ChangeDetails();\n for (let ci = 0; ci < this.chunks.length; ++ci) {\n const chunk = this.chunks[ci];\n const lastBlockIter = masked._mapPosToBlock(masked.displayValue.length);\n const stop = chunk.stop;\n let chunkBlock;\n if (stop != null && (\n // if block not found or stop is behind lastBlock\n !lastBlockIter || lastBlockIter.index <= stop)) {\n if (chunk instanceof ChunksTailDetails ||\n // for continuous block also check if stop is exist\n masked._stops.indexOf(stop) >= 0) {\n details.aggregate(masked._appendPlaceholder(stop));\n }\n chunkBlock = chunk instanceof ChunksTailDetails && masked._blocks[stop];\n }\n if (chunkBlock) {\n const tailDetails = chunkBlock.appendTail(chunk);\n details.aggregate(tailDetails);\n\n // get not inserted chars\n const remainChars = chunk.toString().slice(tailDetails.rawInserted.length);\n if (remainChars) details.aggregate(masked.append(remainChars, {\n tail: true\n }));\n } else {\n details.aggregate(masked.append(chunk.toString(), {\n tail: true\n }));\n }\n }\n return details;\n }\n get state() {\n return {\n chunks: this.chunks.map(c => c.state),\n from: this.from,\n stop: this.stop,\n blockIndex: this.blockIndex\n };\n }\n set state(state) {\n const {\n chunks,\n ...props\n } = state;\n Object.assign(this, props);\n this.chunks = chunks.map(cstate => {\n const chunk = \"chunks\" in cstate ? new ChunksTailDetails() : new ContinuousTailDetails();\n chunk.state = cstate;\n return chunk;\n });\n }\n unshift(beforePos) {\n if (!this.chunks.length || beforePos != null && this.from >= beforePos) return '';\n const chunkShiftPos = beforePos != null ? beforePos - this.from : beforePos;\n let ci = 0;\n while (ci < this.chunks.length) {\n const chunk = this.chunks[ci];\n const shiftChar = chunk.unshift(chunkShiftPos);\n if (chunk.toString()) {\n // chunk still contains value\n // but not shifted - means no more available chars to shift\n if (!shiftChar) break;\n ++ci;\n } else {\n // clean if chunk has no value\n this.chunks.splice(ci, 1);\n }\n if (shiftChar) return shiftChar;\n }\n return '';\n }\n shift() {\n if (!this.chunks.length) return '';\n let ci = this.chunks.length - 1;\n while (0 <= ci) {\n const chunk = this.chunks[ci];\n const shiftChar = chunk.shift();\n if (chunk.toString()) {\n // chunk still contains value\n // but not shifted - means no more available chars to shift\n if (!shiftChar) break;\n --ci;\n } else {\n // clean if chunk has no value\n this.chunks.splice(ci, 1);\n }\n if (shiftChar) return shiftChar;\n }\n return '';\n }\n}\n\nexport { ChunksTailDetails as default };\n","import { DIRECTION } from '../../core/utils.js';\n\nclass PatternCursor {\n constructor(masked, pos) {\n this.masked = masked;\n this._log = [];\n const {\n offset,\n index\n } = masked._mapPosToBlock(pos) || (pos < 0 ?\n // first\n {\n index: 0,\n offset: 0\n } :\n // last\n {\n index: this.masked._blocks.length,\n offset: 0\n });\n this.offset = offset;\n this.index = index;\n this.ok = false;\n }\n get block() {\n return this.masked._blocks[this.index];\n }\n get pos() {\n return this.masked._blockStartPos(this.index) + this.offset;\n }\n get state() {\n return {\n index: this.index,\n offset: this.offset,\n ok: this.ok\n };\n }\n set state(s) {\n Object.assign(this, s);\n }\n pushState() {\n this._log.push(this.state);\n }\n popState() {\n const s = this._log.pop();\n if (s) this.state = s;\n return s;\n }\n bindBlock() {\n if (this.block) return;\n if (this.index < 0) {\n this.index = 0;\n this.offset = 0;\n }\n if (this.index >= this.masked._blocks.length) {\n this.index = this.masked._blocks.length - 1;\n this.offset = this.block.displayValue.length; // TODO this is stupid type error, `block` depends on index that was changed above\n }\n }\n _pushLeft(fn) {\n this.pushState();\n for (this.bindBlock(); 0 <= this.index; --this.index, this.offset = ((_this$block = this.block) == null ? void 0 : _this$block.displayValue.length) || 0) {\n var _this$block;\n if (fn()) return this.ok = true;\n }\n return this.ok = false;\n }\n _pushRight(fn) {\n this.pushState();\n for (this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) {\n if (fn()) return this.ok = true;\n }\n return this.ok = false;\n }\n pushLeftBeforeFilled() {\n return this._pushLeft(() => {\n if (this.block.isFixed || !this.block.value) return;\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.FORCE_LEFT);\n if (this.offset !== 0) return true;\n });\n }\n pushLeftBeforeInput() {\n // cases:\n // filled input: 00|\n // optional empty input: 00[]|\n // nested block: XX<[]>|\n return this._pushLeft(() => {\n if (this.block.isFixed) return;\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.LEFT);\n return true;\n });\n }\n pushLeftBeforeRequired() {\n return this._pushLeft(() => {\n if (this.block.isFixed || this.block.isOptional && !this.block.value) return;\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.LEFT);\n return true;\n });\n }\n pushRightBeforeFilled() {\n return this._pushRight(() => {\n if (this.block.isFixed || !this.block.value) return;\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.FORCE_RIGHT);\n if (this.offset !== this.block.value.length) return true;\n });\n }\n pushRightBeforeInput() {\n return this._pushRight(() => {\n if (this.block.isFixed) return;\n\n // const o = this.offset;\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.NONE);\n // HACK cases like (STILL DOES NOT WORK FOR NESTED)\n // aa|X\n // aa<X|[]>X_ - this will not work\n // if (o && o === this.offset && this.block instanceof PatternInputDefinition) continue;\n return true;\n });\n }\n pushRightBeforeRequired() {\n return this._pushRight(() => {\n if (this.block.isFixed || this.block.isOptional && !this.block.value) return;\n\n // TODO check |[*]XX_\n this.offset = this.block.nearestInputPos(this.offset, DIRECTION.NONE);\n return true;\n });\n }\n}\n\nexport { PatternCursor as default };\n","import ChangeDetails from '../../core/change-details.js';\nimport { DIRECTION, isString } from '../../core/utils.js';\nimport ContinuousTailDetails from '../../core/continuous-tail-details.js';\nimport '../../core/holder.js';\n\nclass PatternFixedDefinition {\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n constructor(opts) {\n Object.assign(this, opts);\n this._value = '';\n this.isFixed = true;\n }\n get value() {\n return this._value;\n }\n get unmaskedValue() {\n return this.isUnmasking ? this.value : '';\n }\n get rawInputValue() {\n return this._isRawInput ? this.value : '';\n }\n get displayValue() {\n return this.value;\n }\n reset() {\n this._isRawInput = false;\n this._value = '';\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this._value.length;\n }\n this._value = this._value.slice(0, fromPos) + this._value.slice(toPos);\n if (!this._value) this._isRawInput = false;\n return new ChangeDetails();\n }\n nearestInputPos(cursorPos, direction) {\n if (direction === void 0) {\n direction = DIRECTION.NONE;\n }\n const minPos = 0;\n const maxPos = this._value.length;\n switch (direction) {\n case DIRECTION.LEFT:\n case DIRECTION.FORCE_LEFT:\n return minPos;\n case DIRECTION.NONE:\n case DIRECTION.RIGHT:\n case DIRECTION.FORCE_RIGHT:\n default:\n return maxPos;\n }\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this._value.length;\n }\n return this._isRawInput ? toPos - fromPos : 0;\n }\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this._value.length;\n }\n if (flags === void 0) {\n flags = {};\n }\n return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || '';\n }\n get isComplete() {\n return true;\n }\n get isFilled() {\n return Boolean(this._value);\n }\n _appendChar(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n if (this.isFilled) return new ChangeDetails();\n const appendEager = this.eager === true || this.eager === 'append';\n const appended = this.char === ch;\n const isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && (!flags.raw || !appendEager) && !flags.tail;\n const details = new ChangeDetails({\n inserted: this.char,\n rawInserted: isResolved ? this.char : ''\n });\n this._value = this.char;\n this._isRawInput = isResolved && (flags.raw || flags.input);\n return details;\n }\n _appendEager() {\n return this._appendChar(this.char, {\n tail: true\n });\n }\n _appendPlaceholder() {\n const details = new ChangeDetails();\n if (this.isFilled) return details;\n this._value = details.inserted = this.char;\n return details;\n }\n extractTail() {\n return new ContinuousTailDetails('');\n }\n appendTail(tail) {\n if (isString(tail)) tail = new ContinuousTailDetails(String(tail));\n return tail.appendTo(this);\n }\n append(str, flags, tail) {\n const details = this._appendChar(str[0], flags);\n if (tail != null) {\n details.tailShift += this.appendTail(tail).tailShift;\n }\n return details;\n }\n doCommit() {}\n get state() {\n return {\n _value: this._value,\n _rawInputValue: this.rawInputValue\n };\n }\n set state(state) {\n this._value = state._value;\n this._isRawInput = Boolean(state._rawInputValue);\n }\n pad(flags) {\n return this._appendPlaceholder();\n }\n}\n\nexport { PatternFixedDefinition as default };\n","import createMask from '../factory.js';\nimport ChangeDetails from '../../core/change-details.js';\nimport { DIRECTION } from '../../core/utils.js';\nimport '../../core/holder.js';\n\nclass PatternInputDefinition {\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n /** */\n\n constructor(opts) {\n const {\n parent,\n isOptional,\n placeholderChar,\n displayChar,\n lazy,\n eager,\n ...maskOpts\n } = opts;\n this.masked = createMask(maskOpts);\n Object.assign(this, {\n parent,\n isOptional,\n placeholderChar,\n displayChar,\n lazy,\n eager\n });\n }\n reset() {\n this.isFilled = false;\n this.masked.reset();\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.value.length;\n }\n if (fromPos === 0 && toPos >= 1) {\n this.isFilled = false;\n return this.masked.remove(fromPos, toPos);\n }\n return new ChangeDetails();\n }\n get value() {\n return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : '');\n }\n get unmaskedValue() {\n return this.masked.unmaskedValue;\n }\n get rawInputValue() {\n return this.masked.rawInputValue;\n }\n get displayValue() {\n return this.masked.value && this.displayChar || this.value;\n }\n get isComplete() {\n return Boolean(this.masked.value) || this.isOptional;\n }\n _appendChar(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n if (this.isFilled) return new ChangeDetails();\n const state = this.masked.state;\n // simulate input\n let details = this.masked._appendChar(ch, this.currentMaskFlags(flags));\n if (details.inserted && this.doValidate(flags) === false) {\n details = new ChangeDetails();\n this.masked.state = state;\n }\n if (!details.inserted && !this.isOptional && !this.lazy && !flags.input) {\n details.inserted = this.placeholderChar;\n }\n details.skip = !details.inserted && !this.isOptional;\n this.isFilled = Boolean(details.inserted);\n return details;\n }\n append(str, flags, tail) {\n // TODO probably should be done via _appendChar\n return this.masked.append(str, this.currentMaskFlags(flags), tail);\n }\n _appendPlaceholder() {\n if (this.isFilled || this.isOptional) return new ChangeDetails();\n this.isFilled = true;\n return new ChangeDetails({\n inserted: this.placeholderChar\n });\n }\n _appendEager() {\n return new ChangeDetails();\n }\n extractTail(fromPos, toPos) {\n return this.masked.extractTail(fromPos, toPos);\n }\n appendTail(tail) {\n return this.masked.appendTail(tail);\n }\n extractInput(fromPos, toPos, flags) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.value.length;\n }\n return this.masked.extractInput(fromPos, toPos, flags);\n }\n nearestInputPos(cursorPos, direction) {\n if (direction === void 0) {\n direction = DIRECTION.NONE;\n }\n const minPos = 0;\n const maxPos = this.value.length;\n const boundPos = Math.min(Math.max(cursorPos, minPos), maxPos);\n switch (direction) {\n case DIRECTION.LEFT:\n case DIRECTION.FORCE_LEFT:\n return this.isComplete ? boundPos : minPos;\n case DIRECTION.RIGHT:\n case DIRECTION.FORCE_RIGHT:\n return this.isComplete ? boundPos : maxPos;\n case DIRECTION.NONE:\n default:\n return boundPos;\n }\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.value.length;\n }\n return this.value.slice(fromPos, toPos).length;\n }\n doValidate(flags) {\n return this.masked.doValidate(this.currentMaskFlags(flags)) && (!this.parent || this.parent.doValidate(this.currentMaskFlags(flags)));\n }\n doCommit() {\n this.masked.doCommit();\n }\n get state() {\n return {\n _value: this.value,\n _rawInputValue: this.rawInputValue,\n masked: this.masked.state,\n isFilled: this.isFilled\n };\n }\n set state(state) {\n this.masked.state = state.masked;\n this.isFilled = state.isFilled;\n }\n currentMaskFlags(flags) {\n var _flags$_beforeTailSta;\n return {\n ...flags,\n _beforeTailState: (flags == null || (_flags$_beforeTailSta = flags._beforeTailState) == null ? void 0 : _flags$_beforeTailSta.masked) || (flags == null ? void 0 : flags._beforeTailState)\n };\n }\n pad(flags) {\n return new ChangeDetails();\n }\n}\nPatternInputDefinition.DEFAULT_DEFINITIONS = {\n '0': /\\d/,\n 'a': /[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0\\u08A2-\\u08AC\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA697\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA793\\uA7A0-\\uA7AA\\uA7F8-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,\n // http://stackoverflow.com/a/22075070\n '*': /./\n};\n\nexport { PatternInputDefinition as default };\n","import createMask from './factory.js';\nimport IMask from '../core/holder.js';\nimport '../core/utils.js';\n\n/** Mask pipe source and destination types */\nconst PIPE_TYPE = {\n MASKED: 'value',\n UNMASKED: 'unmaskedValue',\n TYPED: 'typedValue'\n};\n/** Creates new pipe function depending on mask type, source and destination options */\nfunction createPipe(arg, from, to) {\n if (from === void 0) {\n from = PIPE_TYPE.MASKED;\n }\n if (to === void 0) {\n to = PIPE_TYPE.MASKED;\n }\n const masked = createMask(arg);\n return value => masked.runIsolated(m => {\n m[from] = value;\n return m[to];\n });\n}\n\n/** Pipes value through mask depending on mask type, source and destination options */\nfunction pipe(value, mask, from, to) {\n return createPipe(mask, from, to)(value);\n}\nIMask.PIPE_TYPE = PIPE_TYPE;\nIMask.createPipe = createPipe;\nIMask.pipe = pipe;\n\nexport { PIPE_TYPE, createPipe, pipe };\n","import ChangeDetails from '../core/change-details.js';\nimport IMask from '../core/holder.js';\nimport MaskedPattern from './pattern.js';\nimport '../core/utils.js';\nimport './base.js';\nimport '../core/continuous-tail-details.js';\nimport './factory.js';\nimport './pattern/chunk-tail-details.js';\nimport './pattern/cursor.js';\nimport './pattern/fixed-definition.js';\nimport './pattern/input-definition.js';\nimport './regexp.js';\n\n/** Pattern which accepts ranges */\nclass MaskedRange extends MaskedPattern {\n /**\n Optionally sets max length of pattern.\n Used when pattern length is longer then `to` param length. Pads zeros at start in this case.\n */\n\n /** Min bound */\n\n /** Max bound */\n\n get _matchFrom() {\n return this.maxLength - String(this.from).length;\n }\n constructor(opts) {\n super(opts); // mask will be created in _update\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n const {\n to = this.to || 0,\n from = this.from || 0,\n maxLength = this.maxLength || 0,\n autofix = this.autofix,\n ...patternOpts\n } = opts;\n this.to = to;\n this.from = from;\n this.maxLength = Math.max(String(to).length, maxLength);\n this.autofix = autofix;\n const fromStr = String(this.from).padStart(this.maxLength, '0');\n const toStr = String(this.to).padStart(this.maxLength, '0');\n let sameCharsCount = 0;\n while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) ++sameCharsCount;\n patternOpts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\\\0') + '0'.repeat(this.maxLength - sameCharsCount);\n super._update(patternOpts);\n }\n get isComplete() {\n return super.isComplete && Boolean(this.value);\n }\n boundaries(str) {\n let minstr = '';\n let maxstr = '';\n const [, placeholder, num] = str.match(/^(\\D*)(\\d*)(\\D*)/) || [];\n if (num) {\n minstr = '0'.repeat(placeholder.length) + num;\n maxstr = '9'.repeat(placeholder.length) + num;\n }\n minstr = minstr.padEnd(this.maxLength, '0');\n maxstr = maxstr.padEnd(this.maxLength, '9');\n return [minstr, maxstr];\n }\n doPrepareChar(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n let details;\n [ch, details] = super.doPrepareChar(ch.replace(/\\D/g, ''), flags);\n if (!ch) details.skip = !this.isComplete;\n return [ch, details];\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n if (!this.autofix || this.value.length + 1 > this.maxLength) return super._appendCharRaw(ch, flags);\n const fromStr = String(this.from).padStart(this.maxLength, '0');\n const toStr = String(this.to).padStart(this.maxLength, '0');\n const [minstr, maxstr] = this.boundaries(this.value + ch);\n if (Number(maxstr) < this.from) return super._appendCharRaw(fromStr[this.value.length], flags);\n if (Number(minstr) > this.to) {\n if (!flags.tail && this.autofix === 'pad' && this.value.length + 1 < this.maxLength) {\n return super._appendCharRaw(fromStr[this.value.length], flags).aggregate(this._appendCharRaw(ch, flags));\n }\n return super._appendCharRaw(toStr[this.value.length], flags);\n }\n return super._appendCharRaw(ch, flags);\n }\n doValidate(flags) {\n const str = this.value;\n const firstNonZero = str.search(/[^0]/);\n if (firstNonZero === -1 && str.length <= this._matchFrom) return true;\n const [minstr, maxstr] = this.boundaries(str);\n return this.from <= Number(maxstr) && Number(minstr) <= this.to && super.doValidate(flags);\n }\n pad(flags) {\n const details = new ChangeDetails();\n if (this.value.length === this.maxLength) return details;\n const value = this.value;\n const padLength = this.maxLength - this.value.length;\n if (padLength) {\n this.reset();\n for (let i = 0; i < padLength; ++i) {\n details.aggregate(super._appendCharRaw('0', flags));\n }\n\n // append tail\n value.split('').forEach(ch => this._appendCharRaw(ch));\n }\n return details;\n }\n}\nIMask.MaskedRange = MaskedRange;\n\nexport { MaskedRange as default };\n","import Masked from './base.js';\nimport IMask from '../core/holder.js';\nimport '../core/change-details.js';\nimport '../core/continuous-tail-details.js';\nimport '../core/utils.js';\n\n/** Masking by RegExp */\nclass MaskedRegExp extends Masked {\n /** */\n\n /** Enable characters overwriting */\n\n /** */\n\n /** */\n\n /** */\n\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n const mask = opts.mask;\n if (mask) opts.validate = value => value.search(mask) >= 0;\n super._update(opts);\n }\n}\nIMask.MaskedRegExp = MaskedRegExp;\n\nexport { MaskedRegExp as default };\n","import ChangeDetails from '../core/change-details.js';\nimport IMask from '../core/holder.js';\nimport createMask, { normalizeOpts } from './factory.js';\nimport MaskedPattern from './pattern.js';\nimport '../core/utils.js';\nimport './base.js';\nimport '../core/continuous-tail-details.js';\nimport './pattern/chunk-tail-details.js';\nimport './pattern/cursor.js';\nimport './pattern/fixed-definition.js';\nimport './pattern/input-definition.js';\nimport './regexp.js';\n\n/** Pattern mask */\nclass RepeatBlock extends MaskedPattern {\n get repeatFrom() {\n var _ref;\n return (_ref = Array.isArray(this.repeat) ? this.repeat[0] : this.repeat === Infinity ? 0 : this.repeat) != null ? _ref : 0;\n }\n get repeatTo() {\n var _ref2;\n return (_ref2 = Array.isArray(this.repeat) ? this.repeat[1] : this.repeat) != null ? _ref2 : Infinity;\n }\n constructor(opts) {\n super(opts);\n }\n updateOptions(opts) {\n super.updateOptions(opts);\n }\n _update(opts) {\n var _ref3, _ref4, _this$_blocks;\n const {\n repeat,\n ...blockOpts\n } = normalizeOpts(opts); // TODO type\n this._blockOpts = Object.assign({}, this._blockOpts, blockOpts);\n const block = createMask(this._blockOpts);\n this.repeat = (_ref3 = (_ref4 = repeat != null ? repeat : block.repeat) != null ? _ref4 : this.repeat) != null ? _ref3 : Infinity; // TODO type\n\n super._update({\n mask: 'm'.repeat(Math.max(this.repeatTo === Infinity && ((_this$_blocks = this._blocks) == null ? void 0 : _this$_blocks.length) || 0, this.repeatFrom)),\n blocks: {\n m: block\n },\n eager: block.eager,\n overwrite: block.overwrite,\n skipInvalid: block.skipInvalid,\n lazy: block.lazy,\n placeholderChar: block.placeholderChar,\n displayChar: block.displayChar\n });\n }\n _allocateBlock(bi) {\n if (bi < this._blocks.length) return this._blocks[bi];\n if (this.repeatTo === Infinity || this._blocks.length < this.repeatTo) {\n this._blocks.push(createMask(this._blockOpts));\n this.mask += 'm';\n return this._blocks[this._blocks.length - 1];\n }\n }\n _appendCharRaw(ch, flags) {\n if (flags === void 0) {\n flags = {};\n }\n const details = new ChangeDetails();\n for (let bi = (_this$_mapPosToBlock$ = (_this$_mapPosToBlock = this._mapPosToBlock(this.displayValue.length)) == null ? void 0 : _this$_mapPosToBlock.index) != null ? _this$_mapPosToBlock$ : Math.max(this._blocks.length - 1, 0), block, allocated;\n // try to get a block or\n // try to allocate a new block if not allocated already\n block = (_this$_blocks$bi = this._blocks[bi]) != null ? _this$_blocks$bi : allocated = !allocated && this._allocateBlock(bi); ++bi) {\n var _this$_mapPosToBlock$, _this$_mapPosToBlock, _this$_blocks$bi, _flags$_beforeTailSta;\n const blockDetails = block._appendChar(ch, {\n ...flags,\n _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) == null || (_flags$_beforeTailSta = _flags$_beforeTailSta._blocks) == null ? void 0 : _flags$_beforeTailSta[bi]\n });\n if (blockDetails.skip && allocated) {\n // remove the last allocated block and break\n this._blocks.pop();\n this.mask = this.mask.slice(1);\n break;\n }\n details.aggregate(blockDetails);\n if (blockDetails.consumed) break; // go next char\n }\n return details;\n }\n _trimEmptyTail(fromPos, toPos) {\n var _this$_mapPosToBlock2, _this$_mapPosToBlock3;\n if (fromPos === void 0) {\n fromPos = 0;\n }\n const firstBlockIndex = Math.max(((_this$_mapPosToBlock2 = this._mapPosToBlock(fromPos)) == null ? void 0 : _this$_mapPosToBlock2.index) || 0, this.repeatFrom, 0);\n let lastBlockIndex;\n if (toPos != null) lastBlockIndex = (_this$_mapPosToBlock3 = this._mapPosToBlock(toPos)) == null ? void 0 : _this$_mapPosToBlock3.index;\n if (lastBlockIndex == null) lastBlockIndex = this._blocks.length - 1;\n let removeCount = 0;\n for (let blockIndex = lastBlockIndex; firstBlockIndex <= blockIndex; --blockIndex, ++removeCount) {\n if (this._blocks[blockIndex].unmaskedValue) break;\n }\n if (removeCount) {\n this._blocks.splice(lastBlockIndex - removeCount + 1, removeCount);\n this.mask = this.mask.slice(removeCount);\n }\n }\n reset() {\n super.reset();\n this._trimEmptyTail();\n }\n remove(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos === void 0) {\n toPos = this.displayValue.length;\n }\n const removeDetails = super.remove(fromPos, toPos);\n this._trimEmptyTail(fromPos, toPos);\n return removeDetails;\n }\n totalInputPositions(fromPos, toPos) {\n if (fromPos === void 0) {\n fromPos = 0;\n }\n if (toPos == null && this.repeatTo === Infinity) return Infinity;\n return super.totalInputPositions(fromPos, toPos);\n }\n get state() {\n return super.state;\n }\n set state(state) {\n this._blocks.length = state._blocks.length;\n this.mask = this.mask.slice(0, this._blocks.length);\n super.state = state;\n }\n}\nIMask.RepeatBlock = RepeatBlock;\n\nexport { RepeatBlock as default };\n","import IMask from 'imask/esm/imask';\nimport { useRef, useState, useCallback, useEffect } from 'react';\n\nfunction useIMask(opts, _temp) {\n let {\n onAccept,\n onComplete,\n ref = useRef(null),\n defaultValue,\n defaultUnmaskedValue,\n defaultTypedValue\n } = _temp === void 0 ? {} : _temp;\n const maskRef = useRef(null);\n const [lastAcceptState, setLastAcceptState] = useState({});\n const [value, setValue] = useState('');\n const [unmaskedValue, setUnmaskedValue] = useState('');\n const [typedValue, setTypedValue] = useState();\n const _destroyMask = useCallback(() => {\n var _maskRef$current;\n (_maskRef$current = maskRef.current) == null || _maskRef$current.destroy();\n maskRef.current = null;\n }, []);\n const storeLastAcceptedValues = useCallback(() => {\n const m = maskRef.current;\n if (!m) return;\n setLastAcceptState({\n value: m.value,\n unmaskedValue: m.unmaskedValue,\n typedValue: m.typedValue\n });\n setTypedValue(m.typedValue);\n setUnmaskedValue(m.unmaskedValue);\n setValue(m.value);\n }, []);\n const _onAccept = useCallback(event => {\n const m = maskRef.current;\n if (!m) return;\n storeLastAcceptedValues();\n onAccept == null || onAccept(m.value, m, event);\n }, [onAccept]);\n const _onComplete = useCallback(event => maskRef.current && (onComplete == null ? void 0 : onComplete(maskRef.current.value, maskRef.current, event)), [onComplete]);\n useEffect(() => {\n const {\n value: lastAcceptValue,\n ...state\n } = lastAcceptState;\n const mask = maskRef.current;\n if (!mask || value === undefined) return;\n if (lastAcceptValue !== value) {\n mask.value = value;\n if (mask.value !== value) _onAccept();\n }\n setLastAcceptState(state);\n }, [value]);\n useEffect(() => {\n const {\n unmaskedValue: lastAcceptUnmaskedValue,\n ...state\n } = lastAcceptState;\n const mask = maskRef.current;\n if (!mask || unmaskedValue === undefined) return;\n if (lastAcceptUnmaskedValue !== unmaskedValue) {\n mask.unmaskedValue = unmaskedValue;\n if (mask.unmaskedValue !== unmaskedValue) _onAccept();\n }\n setLastAcceptState(state);\n }, [unmaskedValue]);\n useEffect(() => {\n const {\n typedValue: lastAcceptTypedValue,\n ...state\n } = lastAcceptState;\n const mask = maskRef.current;\n if (!mask || typedValue === undefined) return;\n if (lastAcceptTypedValue !== typedValue) {\n mask.typedValue = typedValue;\n if (!mask.masked.typedValueEquals(typedValue)) _onAccept();\n }\n setLastAcceptState(state);\n }, [typedValue]);\n useEffect(() => {\n const el = ref.current;\n if (!el || !(opts != null && opts.mask)) return _destroyMask();\n const mask = maskRef.current;\n if (!mask) {\n if (el && opts != null && opts.mask) {\n maskRef.current = IMask(el, opts);\n storeLastAcceptedValues();\n if (defaultValue !== undefined) setValue(defaultValue);\n if (defaultUnmaskedValue !== undefined) setUnmaskedValue(defaultUnmaskedValue);\n if (defaultTypedValue !== undefined) setTypedValue(defaultTypedValue);\n }\n } else {\n mask == null || mask.updateOptions(opts); // TODO fix no idea\n }\n }, [opts, _destroyMask, _onAccept]);\n useEffect(() => {\n if (!maskRef.current) return;\n const mask = maskRef.current;\n mask.on('accept', _onAccept);\n mask.on('complete', _onComplete);\n return () => {\n mask.off('accept', _onAccept);\n mask.off('complete', _onComplete);\n };\n }, [_onAccept, _onComplete]);\n useEffect(() => _destroyMask, [_destroyMask]);\n return {\n ref,\n maskRef,\n value,\n setValue,\n unmaskedValue,\n setUnmaskedValue,\n typedValue,\n setTypedValue\n };\n}\n\nexport { useIMask as default };\n","import 'imask/esm';\nexport { default as IMask } from 'imask/esm/imask';\nexport { default as IMaskInput } from './input.js';\nexport { default as useIMask } from './hook.js';\nexport { default as IMaskMixin } from './mixin.js';\nimport 'react';\nimport 'prop-types';\n","import React from 'react';\nimport IMaskMixin from './mixin.js';\nimport 'prop-types';\nimport 'imask/esm/imask';\n\nconst IMaskInputClass = IMaskMixin(_ref => {\n let {\n inputRef,\n ...props\n } = _ref;\n return React.createElement('input', {\n ...props,\n ref: inputRef\n });\n});\nconst IMaskInputFn = (props, ref) => React.createElement(IMaskInputClass, {\n ...props,\n ref\n}) // TODO fix no idea\n;\nconst IMaskInput = React.forwardRef(IMaskInputFn);\n\nexport { IMaskInput as default };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport IMask from 'imask/esm/imask';\n\nconst MASK_PROPS = {\n // common\n mask: PropTypes.oneOfType([PropTypes.array, PropTypes.func, PropTypes.string, PropTypes.instanceOf(RegExp), PropTypes.oneOf([Date, Number, IMask.Masked]), PropTypes.instanceOf(IMask.Masked)]),\n value: PropTypes.any,\n unmask: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['typed'])]),\n prepare: PropTypes.func,\n prepareChar: PropTypes.func,\n validate: PropTypes.func,\n commit: PropTypes.func,\n overwrite: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['shift'])]),\n eager: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['append', 'remove'])]),\n skipInvalid: PropTypes.bool,\n // events\n onAccept: PropTypes.func,\n onComplete: PropTypes.func,\n // pattern\n placeholderChar: PropTypes.string,\n displayChar: PropTypes.string,\n lazy: PropTypes.bool,\n definitions: PropTypes.object,\n blocks: PropTypes.object,\n // enum\n enum: PropTypes.arrayOf(PropTypes.string),\n // range\n maxLength: PropTypes.number,\n from: PropTypes.number,\n to: PropTypes.number,\n // date\n pattern: PropTypes.string,\n format: PropTypes.func,\n parse: PropTypes.func,\n autofix: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['pad'])]),\n // number\n radix: PropTypes.string,\n thousandsSeparator: PropTypes.string,\n mapToRadix: PropTypes.arrayOf(PropTypes.string),\n scale: PropTypes.number,\n normalizeZeros: PropTypes.bool,\n padFractionalZeros: PropTypes.bool,\n min: PropTypes.oneOfType([PropTypes.number, PropTypes.instanceOf(Date)]),\n max: PropTypes.oneOfType([PropTypes.number, PropTypes.instanceOf(Date)]),\n // dynamic\n dispatch: PropTypes.func,\n // ref\n inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.object\n })])\n};\nconst MASK_PROPS_NAMES = Object.keys(MASK_PROPS).filter(p => p !== 'value');\nconst NON_MASK_OPTIONS_NAMES = ['value', 'unmask', 'onAccept', 'onComplete', 'inputRef'];\nconst MASK_OPTIONS_NAMES = MASK_PROPS_NAMES.filter(pName => NON_MASK_OPTIONS_NAMES.indexOf(pName) < 0);\nfunction IMaskMixin(ComposedComponent) {\n var _Class;\n const MaskedComponent = (_Class = class MaskedComponent extends React.Component {\n constructor(props) {\n super(props);\n this._inputRef = this._inputRef.bind(this);\n }\n componentDidMount() {\n if (!this.props.mask) return;\n this.initMask();\n }\n componentDidUpdate() {\n const props = this.props;\n const maskOptions = this._extractMaskOptionsFromProps(props);\n if (maskOptions.mask) {\n if (this.maskRef) {\n this.maskRef.updateOptions(maskOptions); // TODO fix\n if ('value' in props && props.value !== undefined) this.maskValue = props.value;\n } else {\n this.initMask(maskOptions);\n }\n } else {\n this.destroyMask();\n if ('value' in props && props.value !== undefined) {\n var _this$element;\n if ((_this$element = this.element) != null && _this$element.isContentEditable && this.element.tagName !== 'INPUT' && this.element.tagName !== 'TEXTAREA') this.element.textContent = props.value;else this.element.value = props.value;\n }\n }\n }\n componentWillUnmount() {\n this.destroyMask();\n }\n _inputRef(el) {\n this.element = el;\n if (this.props.inputRef) {\n if (Object.prototype.hasOwnProperty.call(this.props.inputRef, 'current')) this.props.inputRef.current = el;else this.props.inputRef(el);\n }\n }\n initMask(maskOptions) {\n if (maskOptions === void 0) {\n maskOptions = this._extractMaskOptionsFromProps(this.props);\n }\n this.maskRef = IMask(this.element, maskOptions).on('accept', this._onAccept.bind(this)).on('complete', this._onComplete.bind(this));\n if ('value' in this.props && this.props.value !== undefined) this.maskValue = this.props.value;\n }\n destroyMask() {\n if (this.maskRef) {\n this.maskRef.destroy();\n delete this.maskRef;\n }\n }\n _extractMaskOptionsFromProps(props) {\n const {\n ...cloneProps\n } = props;\n\n // keep only mask options\n Object.keys(cloneProps).filter(prop => MASK_OPTIONS_NAMES.indexOf(prop) < 0).forEach(nonMaskProp => {\n delete cloneProps[nonMaskProp];\n });\n return cloneProps;\n }\n _extractNonMaskProps(props) {\n const {\n ...cloneProps\n } = props;\n MASK_PROPS_NAMES.forEach(maskProp => {\n if (maskProp !== 'maxLength') delete cloneProps[maskProp];\n });\n if (!('defaultValue' in cloneProps)) cloneProps.defaultValue = props.mask ? '' : cloneProps.value;\n delete cloneProps.value;\n return cloneProps;\n }\n get maskValue() {\n if (!this.maskRef) return '';\n if (this.props.unmask === 'typed') return this.maskRef.typedValue;\n if (this.props.unmask) return this.maskRef.unmaskedValue;\n return this.maskRef.value;\n }\n set maskValue(value) {\n if (!this.maskRef) return;\n value = value == null && this.props.unmask !== 'typed' ? '' : value;\n if (this.props.unmask === 'typed') this.maskRef.typedValue = value;else if (this.props.unmask) this.maskRef.unmaskedValue = value;else this.maskRef.value = value;\n }\n _onAccept(e) {\n if (this.props.onAccept && this.maskRef) this.props.onAccept(this.maskValue, this.maskRef, e);\n }\n _onComplete(e) {\n if (this.props.onComplete && this.maskRef) this.props.onComplete(this.maskValue, this.maskRef, e);\n }\n render() {\n return React.createElement(ComposedComponent, {\n ...this._extractNonMaskProps(this.props),\n inputRef: this._inputRef\n });\n }\n }, _Class.displayName = void 0, _Class.propTypes = void 0, _Class);\n const nestedComponentName = ComposedComponent.displayName || ComposedComponent.name || 'Component';\n MaskedComponent.displayName = \"IMask(\" + nestedComponentName + \")\";\n MaskedComponent.propTypes = MASK_PROPS;\n return React.forwardRef((props, ref) => React.createElement(MaskedComponent, {\n ...props,\n ref\n }));\n}\n\nexport { IMaskMixin as default };\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","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.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};","export * from './ui'\r\nexport * from './hooks'\r\nexport * from './types'\r\nexport * from './lib'"],"names":[],"sourceRoot":""}