@wix/video 1.81.0 → 1.82.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Video.stories.js +3 -2
- package/dist/cjs/Video.stories.js.map +1 -1
- package/dist/cjs/custom-element/utils.js +7 -0
- package/dist/cjs/custom-element/utils.js.map +1 -1
- package/dist/cjs/storybook/Container.js +33 -9
- package/dist/cjs/storybook/Container.js.map +1 -1
- package/dist/cjs/storybook/args.js +10 -0
- package/dist/cjs/storybook/args.js.map +1 -1
- package/dist/esm/Video.stories.js +2 -1
- package/dist/esm/Video.stories.js.map +1 -1
- package/dist/esm/custom-element/utils.js +7 -0
- package/dist/esm/custom-element/utils.js.map +1 -1
- package/dist/esm/storybook/Container.js +26 -8
- package/dist/esm/storybook/Container.js.map +1 -1
- package/dist/esm/storybook/args.js +10 -0
- package/dist/esm/storybook/args.js.map +1 -1
- package/dist/statics/janet/iframe.html +1 -1
- package/dist/statics/janet/{main.f45a6aa8.iframe.bundle.js → main.4e295f79.iframe.bundle.js} +6 -5
- package/dist/statics/janet/main.4e295f79.iframe.bundle.js.map +1 -0
- package/dist/statics/janet/project.json +1 -1
- package/dist/statics/manifest.json +2 -2
- package/dist/statics/manifest.min.json +2 -2
- package/dist/statics/video.umd.js +2 -2
- package/dist/statics/video.umd.js.map +1 -1
- package/dist/statics/video.umd.min.js +1 -1
- package/dist/statics/video.umd.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/Video.stories.d.ts +1 -0
- package/dist/types/Video.stories.d.ts.map +1 -1
- package/dist/types/custom-element/utils.d.ts.map +1 -1
- package/dist/types/storybook/Container.d.ts +3 -1
- package/dist/types/storybook/Container.d.ts.map +1 -1
- package/dist/types/storybook/args.d.ts +10 -0
- package/dist/types/storybook/args.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/statics/janet/main.f45a6aa8.iframe.bundle.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.umd.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;ACVA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY,MAAC,GAAG,CAAsC;;AAEtD;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,cAAc;AACd,GAAG;;AAEH;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;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,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;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;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY;;AAEhB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,GAAG;AACf,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4DAA4D;;AAE5D;AACA,IAAI,IAA6B,EAAE,mCAAO,aAAa,iBAAiB;AAAA,kGAAC;AACzE,KAAK,EAA0D;;AAE/D,CAAC;;;;;;;;;;;;ACnPD;;;;;;;;;;ACAA,oBAAoB,mBAAO,CAAC,4BAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACT7F;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA,0BAA0B;AAC1B;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,2BAA2B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACTtF,cAAc,wDAAiC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACXzF,cAAc,wDAAiC;AAC/C,kBAAkB,mBAAO,CAAC,2BAAkB;AAC5C;AACA;AACA;AACA;AACA,gCAAgC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACN3F;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,0BAA0B,yBAAyB,SAAS,yBAAyB;;;;;;UCTrF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;;;;;WCRA;WACA;WACA;WACA;WACA;;;;;WCJA;WACA;WACA;WACA;WACA;;;;;WCJA;;;;;WCAA;WACA;WACA;WACA;WACA,uBAAuB,4BAA4B;WACnD;WACA;WACA;WACA,iBAAiB,oBAAoB;WACrC;WACA,mGAAmG,YAAY;WAC/G;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,mEAAmE,iCAAiC;WACpG;WACA;WACA;WACA;;;;;WC5CA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;;;;WCAA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA,iCAAiC;;WAEjC;WACA;WACA;WACA,KAAK;WACL,eAAe;WACf;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrFA;AACA,mDAAe,CAAC,4HAA4H;;ACC5I,KAAM,CAAAA,gBAAgB,CAAG,8BAA8B,CACvD,KAAM,CAAAC,yBAAyB,CAAG,wBAAwB,CAE1D,KAAM,CAAAC,aAAa,CAAIC,GAAW,EAChCA,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,EAAID,GAAG,CAACC,UAAU,CAAC,UAAU,CAAC,CAElD,QAAS,CAAAC,aAAaA,CAACC,OAAsB,CAAE,CACpD,MAAO,CAAAA,OAAO,CAACC,IAAI,CAAC,CAACC,CAAC,CAAEC,CAAC,GAAKD,CAAC,CAA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gBAAgB;AAC3C,6BAA6B,YAAY;AACzC,8BAA8B,cAAc;AAC5C,wBAAwB,cAAc;AACtC,gCAAgC,cAAc;AAC9C,iCAAiC,gBAAgB;AACjD,2BAA2B,gBAAgB;AAC3C,0BAA0B,gBAAgB;AAC1C,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,qBAAqB;AACrB,KAAK;AACL;AACA,eAAe;AACf,qBAAqB;AACrB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyd;AACzd;;ACrOA;AACA;AACA,gCAAgC,KAAK;AACrC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AAC0B;AAC1B;;AC1BqR;AACtP;AAC/B;AACA,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ;AACA;AACA,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,sBAAsB,YAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wBAAM;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA,SAAS,wBAAM;AACf,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qDAAqD,KAAK;AAC1D;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,6CAA6C,uDAAuD;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,QAAQ;AACvB;AACA,aAAa,wBAAM;AACnB,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,QAAQ;AACvB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA,SAAS,gCAAc;AACvB;AACA,0BAA0B,cAAc;AACxC;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gCAAc;AAChC,0BAA0B,cAAc;AACxC;AACA;AACA;AACA;AACA,4CAA4C,qBAAqB;AACjE,+CAA+C,qBAAqB;AACpE;AACA;AACA;AACA,sBAAsB,gCAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa,sBAAsB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,6BAA6B;AACzC;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA,qDAAqD,UAAU;AAC/D,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA,aAAa,eAAe,kBAAkB;AAC9C,aAAa,iCAAiC;AAC9C,YAAY,qBAAqB,aAAa;AAC9C,WAAW,mCAAmC;AAC9C;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA,kDAAkD,sBAAsB;AACxE;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA,iCAAiC,aAAa;AAC9C,QAAQ,aAAa,CAAC,UAAU;AAChC;AACA;AACA;AACA,YAAY,qBAAqB,YAAY;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,8BAA8B,kBAAkB;AAChD,4BAA4B,oBAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,8BAA8B,kBAAkB;AAChD,4BAA4B,oBAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,8BAA8B,IAAI,CAAC,oBAAoB;AACvD,4BAA4B,oBAAoB;AAChD,oBAAoB,oBAAoB;AACxC,0BAA0B,IAAI,CAAC,oBAAoB;AACnD;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,kBAAkB;AAC7B,WAAW,WAAW;AACtB,WAAW,kBAAkB;AAC7B;AACA,cAAc;AACd;AACA;AACA,YAAY,qDAAqD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,YAAY;AAC9C,eAAe,YAAY;AAC3B;AACA,oBAAoB,kBAAkB,CAAC,YAAY;AACnD,eAAe,YAAY;AAC3B;AACA,oBAAoB,kBAAkB,CAAC,YAAY;AACnD,eAAe,YAAY;AAC3B;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,wBAAwB,gCAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,aAAa;AACb;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,YAAY,cAAc,yCAAyC,cAAc;AACjF;AACA;AACA,6BAA6B,wBAAM;AACnC,sCAAsC,QAAQ;AAC9C;AACiY;AACjY;;ACnmBA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkC;AAClC;;ACbgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,UAAU;AAClB;AACA;AACwC;AACxC;;ACb+E;AAC/E;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,yBAAyB;AACzB,SAAS;AACT;AACA,YAAY,MAAM;AAClB,YAAY,cAAc;AAC1B;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB,gEAAgE;AAChE;AACA,aAAa,UAAU;AACvB,8DAA8D;AAC9D;AACA,aAAa,UAAU;AACvB,+DAA+D;AAC/D;AACA,aAAa,UAAU;AACvB,6DAA6D;AAC7D;AACA,aAAa,UAAU;AACvB,gEAAgE;AAChE;AACA,aAAa,UAAU;AACvB,4DAA4D;AAC5D;AACA,aAAa,UAAU;AACvB,2DAA2D;AAC3D;AACA,aAAa,UAAU;AACvB,+DAA+D;AAC/D;AACA,aAAa,UAAU;AACvB,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACyB;AACzB;;ACjH+E;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,cAAc,iBAAiB;AAClD,SAAS,UAAU,eAAe,kBAAkB;AACpD,SAAS,UAAU,SAAS,gCAAgC;AAC5D,SAAS,UAAU,iBAAiB,oBAAoB;AACxD,SAAS,UAAU,kBAAkB,qBAAqB;AAC1D,SAAS,UAAU,YAAY,mCAAmC;AAClE,SAAS,UAAU,WAAW,+BAA+B;AAC7D,SAAS,UAAU,UAAU,8BAA8B;AAC3D,SAAS,UAAU;AACnB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA,SAAS,oBAAM;AACf;AACA;AACA,yBAAyB;AACzB,mBAAmB;AACnB,SAAS;AACT;AACA,YAAY,MAAM;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACzB;;AClHgG;AACJ;AAC5F;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,uBAAuB;AAClC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,yBAAyB;AACzB,SAAS;AACT;AACA,yBAAyB;AACzB,mBAAmB;AACnB,SAAS;AACT;AACA,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B;AACA,YAAY,2CAA2C;AACvD;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,iBAAiB,0BAA0B;AAC3C,6BAA6B,YAAY,yDAAyD,cAAc;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;AAC7B;;AC/I2D;AACqB;AACd;AACA;AAClE;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,MAAoB;AAC/C;AACA,gCAAgC,OAAO;AACvC,2BAA2B,UAAa;AACxC;AACA;AACA,2BAA2B,oBAAa;AACxC;AACA;AACA;AACyB;AACzB;;ACzBgE;AAChE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW,UAAU;AACrB;AACoB;AACpB;;ACVuF;AACkD;AACzI;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA,4BAA4B,gBAAgB,oDAAoD,cAAc;AAC9G;AACA;AACA,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB;AACA;AACA;AACA;AACA;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;AACA,aAAa;AACb;AACA;AACA;AACA,4BAA4B,gBAAgB,oDAAoD,cAAc;AAC9G,uBAAuB,aAAa;AACpC;AACA,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;AACA,aAAa;AACb;AACA;AACA;AACA,wBAAwB,gCAAc,iFAAiF,cAAc;AACrI,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,uDAAuD;AACnE;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AAC6B;AAC7B;;ACxO+B;AAC8C;AACiB;AAC9F;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA,6CAA6C,QAAQ;AACrD,6CAA6C,QAAQ;AACrD,8CAA8C,QAAQ;AACtD,8CAA8C,QAAQ;AACtD;AACA;AACA,8BAA8B,IAAI;AAClC,+BAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,yCAAyC,YAAY;AACrD,gBAAgB,YAAY,2BAA2B,YAAY;AACnE;AACA;AACA,yCAAyC,YAAY;AACrD,gBAAgB,YAAY,6BAA6B,YAAY;AACrE;AACA;AACA,yCAAyC,YAAY;AACrD,gBAAgB,YAAY,6BAA6B,YAAY;AACrE;AACA;AACA,yCAAyC,YAAY;AACrD,gBAAgB,YAAY,sBAAsB,YAAY;AAC9D;AACA;AACA,yCAAyC,YAAY;AACrD,gBAAgB,YAAY,uBAAuB,YAAY;AAC/D;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC,oBAAoB,YAAY;AAChC,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA,WAAW,2BAA2B;AACtC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,IAAI;AAC9B;AACA;AACA;AACA;AACA,wCAAwC,cAAc;AACtD;AACA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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iBAAiB;AACjB;AACA;AACA,yDAAyD,eAAe;AACxE;AACA;AACA;AACA;AACA,wCAAwC,KAAK;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA,mCAAmC,YAAY;AAC/C,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,aAAa,eAAe;AAC5B;AACA,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,mCAAmC;AAC9C,YAAY,gBAAgB,kBAAkB;AAC9C,WAAW,mCAAmC;AAC9C,cAAc,IAAI,GAAG;AACrB;AACA;AACA;AACA,eAAe;AACf,qBAAqB;AACrB;AACA,wBAAwB,YAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,YAAY,uBAAuB,YAAY;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,UAAU,KAAK,WAAW;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,aAAa,WAAW;AACxB;AACA;AACA,wBAAwB,aAAa,IAAI,aAAa;AACtD;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,gBAAgB,iBAAiB;AAC5C,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA,YAAY,wBAAwB;AACpC,YAAY,wBAAwB;AACpC,YAAY,iBAAiB;AAC7B;AACA,kBAAkB,IAAI,IAAI,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,KAAK,IAAI,KAAK;AAC5B;AAC6H;AAC7H;;AC3MgE;AAC8B;AACrC;AACF;AACvB;AACM;AACkI;AACxK,wCAAwC;AACxC;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,oCAAoC;AAC/C,WAAW,uBAAuB;AAClC;AACA,aAAa;AACb;AACA,8DAA8D;AAC9D,YAAY,kGAAkG;AAC9G,SAAS,cAAc;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA;AACA;AACA,eAAe,WAAO;AACtB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,YAAY,qBAAqB;AACjC,uBAAuB,aAAa;AACpC,6BAA6B,mBAAmB;AAChD,iBAAiB,YAAY;AAC7B,iCAAiC,mBAAmB;AACpD,wBAAwB,eAAe;AACvC,YAAY,MAAM,EAAE,WAAO;AAC3B;AACA;AACA;AACA,KAAK;AACL;AACA,0BAA0B,OAAO,IAAI;AACrC;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,SAAS,QAAQ,EAAE,WAAO;AACtC;AACA;AACA;AACA,KAAK,IAAI;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA,SAAS,WAAO;AAChB;AACA;AACA,QAAQ,cAAc;AACtB;AACA,0BAA0B,SAAS;AACnC;AACA,6BAA6B,YAAY;AACzC,mBAAmB,MAAM;AACzB;AACA,0BAA0B,SAAS;AACnC;AACA;AACA,4BAA4B,aAAa;AACzC;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACmC;AACnC;;AC7GyG;AACxC;AACmB;AAC7B;AACvB;AAChC;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,cAAc;AACd;AACA,SAAS,WAAO;AAChB;AACA,QAAQ,cAAc;AACtB;AACA,0BAA0B,SAAS;AACnC;AACA,6BAA6B,YAAY;AACzC;AACA,iBAAiB,MAAM,2CAA2C;AAClE;AACA;AACA,aAAa;AACb;AACqG;AACrG;;AC7ByE;AACa;AACtF;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,EAAE,IAAI;AACzB,SAAS,mBAAmB,EAAE,IAAI;AAClC;AACA;AACA,4BAA4B,YAAY,EAAE,IAAI;AAC9C;AACA;AACA,iBAAiB,WAAO,CAAC,YAAY;AACrC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,OAAO;AACxB,mBAAmB,UAAU;AAC7B;AACA,KAAK;AACL;AACA;AACA;AACA,iBAAiB,WAAO,CAAC,YAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,iBAAiB,OAAO;AACxB,mBAAmB,UAAU;AAC7B;AACA,KAAK;AACL;AACA;AACA;AACA,iBAAiB,WAAO,CAAC,YAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,iBAAiB,OAAO;AACxB,mBAAmB,UAAU;AAC7B;AACA,KAAK;AACL;AACA;AACwI;AACxI;;ACrEqJ;AACrJ,4BAA4B;AAC8E;AAC1G;;ACHuD;AACvD,MAAM,+BAAU;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oJAAoJ,+BAAU;AAC9J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe,6EAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC,qBAAqB,eAAe;AACpC,kCAAkC,MAAM;AACxC;AACA;AACA;AACA,KAAK;AACL;AACO;AACP,YAAY,uMAAuM;AACnN;AACA,gBAAgB,yBAAyB,yBAAyB,gDAAgD;AAClH;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qFAAqF,iBAAiB,EAAE,EAAE;AAC1G,+BAA+B,iBAAiB,EAAE,IAAI;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnImH;AACxC;AACS;AACpC;AACgE;AACnC;AAC7E,4BAA4B;AAC5B;AACA,yBAAyB;AACzB,0BAA0B;AAC1B,mBAAmB;AACnB;AAC4B;AAC5B,MAAM,oBAAgB,GAAG,kBAAkB;AAC8J;AACzM;;ACfwG;AAChE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,aAAa;AACxE,KAAK,IAAI;AACT;AACA;AACA;AACA,SAAS,MAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA,YAAY,YAAY;AACxB,yDAAyD,YAAY;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,6BAA6B,yBAAmB;AAChD,oGAAoG,mBAAmB;AACvH;AACA;AACA;AACA;AACA;AACA,kDAAkD,UAAU;AAC5D;AACA,oCAAoC,WAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,eAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,yBAAmB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,qBAAe,0BAA0B,gBAAgB,UAAU,QAAQ;AACjF,KAAK,gBAAgB,UAAU,QAAQ;AACvC;AACA;AACA;AACA,mCAAmC,kBAAkB,IAAI,MAAM;AAC/D;AACA;AAGyJ;AACzJ;;ACjH+G;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B;AACpD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,wCAAwC,0BAA0B;AAClE;AACA,KAAK;AACL;AACA;AACA,2CAA2C,8CAA8C;AACzF;AACA;AACA,yBAAyB,eAAe;AACxC;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,oCAAoC,0BAA0B;AAC9D;AACA;AACA,IAAI,QAAQ;AACZ;AACA,QAAQ,QAAQ;AAChB,oBAAoB,aAAa;AACjC,qBAAqB,cAAc;AACnC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qBAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,kDAAe;AACf;AACA;AACA,CAAC,EAAC;AACF;;ACjNsC;AACE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,oBAAoB,eAAe;AACnC,oBAAoB,aAAa;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,2FAA2F,sBAAsB;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,oBAAoB,WAAW;AAC/B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,0CAA0C,WAAW;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,qDAAqD,iBAAiB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAAe,eAAe,EAAC;AAC/B;;AClJyC;AACX;AACf,SAAS,aAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,6BAA6B,uBAAe;AAC5C;AACA;AACA,iCAAiC,mBAAO;AACxC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AC5C6C;AAC7C,MAAM,qCAAmB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kCAAgB;AACtB;AACA,SAAS,mCAAiB,cAAc,sCAAsC;AAC9E;AACA;AACA;AACA;AACA,wBAAwB,kCAAgB;AACxC;AACA,uBAAuB;AACvB,0BAA0B,qCAAmB;AAC7C;AACA;AACA,mBAAmB,aAAI;AACvB;AACA;AACA;AACA;AAC6B;AAC7B;;AC5BA;AACA,mDAAe,CAAC,iBAAiB;;ACDF;AACU;AACE;AAC3C,QAAQ,mDAAgB,GAAG,EAAE,mBAAQ;AACrC,qBAAqB,oCAAoC;AACzD,wBAAwB,cAAuB;AAC/C;AACA;AACA,KAAK;AACL;AACA,6BAA6B,sBAAgB,CAAC,EAAE,gBAAgB;AAChE;AACA;AACA;AACA;AACA;AACA,YAAY,kMAAkM,4DAA4D,qBAAqB,qLAAqL;AACpd,qBAAqB,sBAAY;AACjC;AACA;AACA;AACA,yBAAyB,sBAAY;AACrC;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AAC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,gBACQ,CAAC,CAEhB,CAAC,CAED,8CAAeb,KAAK;;ACpIpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,aAAa;AACxE;AACA;AACA;AACA;AACA;AACA,6BAA6B,4FAA4F;AACzH;AACA;AACA;AACA,mGAAmG;AACnG;AACA;AACA;AACA;AACA,yEAAyE,8BAA8B;AACvG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;AAC/D;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC,gEAAgE;AACjE;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gEAAgE;AACjE;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA,CAAC,8DAA8D;AAC/D;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kBAAkB;AACnB;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,oEAAoE;AACrE;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA,CAAC,oBAAoB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kFAAkF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA,CAAC,sDAAsD;AACvD;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sDAAsD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,sDAAsD;AACvD;AACA;AACA;AACA;AACA;AACA,CAAC,0FAA0F;AAC3F;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4DAA4D;AAC7D;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB;AACrB;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gDAAgD;AACjD;AACA;AACA;AACA;AACA,CAAC,gDAAgD;AACjD;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA,CAAC,sEAAsE;AACvE;AACA;AACA;AACA;AACA;AACA,CAAC,4DAA4D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gDAAgD;AACjD;AACA;AACA;AACA;AACA,CAAC,gDAAgD;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;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gDAAgD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC,gEAAgE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0EAA0E;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sGAAsG;AACvG;AACA;AACA;AACA;AACA;AACA,CAAC,gGAAgG;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA,CAAC,oEAAoE;AACrE;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oEAAoE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA,CAAC,gDAAgD;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;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA,CAAC,gEAAgE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYE;AACF;;;AC75DO,KAAM,CAAAyC,iBAAsC,CAAG,CACpDrC,UAAU,CAAE,CACVsC,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACP,KAC3B,CAAC,CACDnL,aAAa,CAAE,CACbyL,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACC,QAAQ,CACjC,CAACJ,IAAI,CAACG,SAAS,CAACC,QAAQ,EAAG,CACzBC,OAAO,CAAE,CACP,CAAEvN,KAAK,CAAE,cAAc,CAAEwN,WAAW,CAAE,cAAe,CAAC,CACtD,CAAExN,KAAK,CAAE,SAAS,CAAEwN,WAAW,CAAE,SAAU,CAAC,CAC5C,CAAExN,KAAK,CAAE,UAAU,CAAEwN,WAAW,CAAE,UAAW,CAAC,CAElD,CACF,CAAC,CACD3I,MAAM,CAAE,CACNuI,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACI,KAC3B,CAAC,CACD1C,IAAI,CAAE,CACJqC,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACK,YAC3B,CAAC,CACDtH,KAAK,CAAE,CACLgH,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACK,YAC3B,CAAC,CACD5I,QAAQ,CAAE,CACRsI,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACK,YAC3B,CAAC,CACD1I,YAAY,CAAE,CACZoI,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACM,MAC3B,CAAC,CACD5I,YAAY,CAAE,CACZqI,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACC,QAAQ,CACjC,CAACJ,IAAI,CAACG,SAAS,CAACC,QAAQ,EAAG,CACzBC,OAAO,CAAE,CACP,CAAEvN,KAAK,CAAE,MAAM,CAAEwN,WAAW,CAAE,MAAO,CAAC,CACtC,CAAExN,KAAK,CAAE,MAAM,CAAEwN,WAAW,CAAE,MAAO,CAAC,CAE1C,CACF,CACF,CAAC","sources":["webpack://_wix_video/webpack/universalModuleDefinition","webpack://_wix_video/../../../node_modules/fastdom/fastdom.js","webpack://_wix_video/external umd \"React\"","webpack://_wix_video/../../../node_modules/@babel/runtime/helpers/defineProperty.js","webpack://_wix_video/../../../node_modules/@babel/runtime/helpers/extends.js","webpack://_wix_video/../../../node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://_wix_video/../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://_wix_video/../../../node_modules/@babel/runtime/helpers/typeof.js","webpack://_wix_video/webpack/bootstrap","webpack://_wix_video/webpack/runtime/compat get default export","webpack://_wix_video/webpack/runtime/define property getters","webpack://_wix_video/webpack/runtime/ensure chunk","webpack://_wix_video/webpack/runtime/get javascript chunk filename","webpack://_wix_video/webpack/runtime/get mini-css chunk filename","webpack://_wix_video/webpack/runtime/hasOwnProperty shorthand","webpack://_wix_video/webpack/runtime/load script","webpack://_wix_video/webpack/runtime/make namespace object","webpack://_wix_video/webpack/runtime/publicPath","webpack://_wix_video/webpack/runtime/jsonp chunk loading","webpack://_wix_video/./Video.module.scss?65b4","webpack://_wix_video/./custom-element/utils.ts","webpack://_wix_video/./custom-element/videoLayout.ts","webpack://_wix_video/./custom-element/WowVideo.ts","webpack://_wix_video/./custom-element/registry.ts","webpack://_wix_video/./customElementInit.ts","webpack://_wix_video/../../image-kit/dist/esm/helpers/imageServiceConstants.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/utils.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/imageServiceUtils.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/imageServiceFeatureSupportObject.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/populateFeatureSupport.js","webpack://_wix_video/../../image-kit/dist/esm/engines/attributes/backgroundAttributes.js","webpack://_wix_video/../../image-kit/dist/esm/engines/attributes/imgAttributes.js","webpack://_wix_video/../../image-kit/dist/esm/engines/attributes/SVGAttributes.js","webpack://_wix_video/../../image-kit/dist/esm/engines/attributes.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/browserFeatureSupport.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/imageTransformParts.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/imageTransformOptions.js","webpack://_wix_video/../../image-kit/dist/esm/api/transform.js","webpack://_wix_video/../../image-kit/dist/esm/engines/transforms.js","webpack://_wix_video/../../image-kit/dist/esm/api/uri.js","webpack://_wix_video/../../image-kit/dist/esm/api/srcset.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/imagePlaceholderUtils.js","webpack://_wix_video/../../image-kit/dist/esm/api/max/api.js","webpack://_wix_video/../../image-kit/dist/esm/api/uri/index.js","webpack://_wix_video/../../image-kit/dist/esm/sdk/api.js","webpack://_wix_video/../../image-kit/dist/esm/sdk/index.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/responsiveImageUtils.js","webpack://_wix_video/../../image-kit/dist/esm/api/max/index.js","webpack://_wix_video/../../image/dist/esm/custom-element/utils.js","webpack://_wix_video/../../image/dist/esm/custom-element/imageLayout.js","webpack://_wix_video/../../image/dist/esm/custom-element/WowImage.js","webpack://_wix_video/../../image/dist/esm/custom-element/registry.js","webpack://_wix_video/../../image/dist/esm/customElementInit.js","webpack://_wix_video/../../image/dist/esm/Image.module.scss?c1a3","webpack://_wix_video/../../image/dist/esm/Image.js","webpack://_wix_video/./Video.tsx","webpack://_wix_video/../../../node_modules/@wix/component-protocol/dist/esm/chunk-EKFUKHAF.js","webpack://_wix_video/./dataManifest.ts","webpack://_wix_video/./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(\"video\", [\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"video\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"video\"] = factory(root[\"React\"]);\n})((typeof self !== 'undefined' ? self : this), (__WEBPACK_EXTERNAL_MODULE__883__) => {\nreturn ","!(function(win) {\n\n/**\n * FastDom\n *\n * Eliminates layout thrashing\n * by batching DOM read/write\n * interactions.\n *\n * @author Wilson Page <wilsonpage@me.com>\n * @author Kornel Lesinski <kornel.lesinski@ft.com>\n */\n\n'use strict';\n\n/**\n * Mini logger\n *\n * @return {Function}\n */\nvar debug = 0 ? console.log.bind(console, '[fastdom]') : function() {};\n\n/**\n * Normalized rAF\n *\n * @type {Function}\n */\nvar raf = win.requestAnimationFrame\n || win.webkitRequestAnimationFrame\n || win.mozRequestAnimationFrame\n || win.msRequestAnimationFrame\n || function(cb) { return setTimeout(cb, 16); };\n\n/**\n * Initialize a `FastDom`.\n *\n * @constructor\n */\nfunction FastDom() {\n var self = this;\n self.reads = [];\n self.writes = [];\n self.raf = raf.bind(win); // test hook\n debug('initialized', self);\n}\n\nFastDom.prototype = {\n constructor: FastDom,\n\n /**\n * We run this inside a try catch\n * so that if any jobs error, we\n * are able to recover and continue\n * to flush the batch until it's empty.\n *\n * @param {Array} tasks\n */\n runTasks: function(tasks) {\n debug('run tasks');\n var task; while (task = tasks.shift()) task();\n },\n\n /**\n * Adds a job to the read batch and\n * schedules a new frame if need be.\n *\n * @param {Function} fn\n * @param {Object} ctx the context to be bound to `fn` (optional).\n * @public\n */\n measure: function(fn, ctx) {\n debug('measure');\n var task = !ctx ? fn : fn.bind(ctx);\n this.reads.push(task);\n scheduleFlush(this);\n return task;\n },\n\n /**\n * Adds a job to the\n * write batch and schedules\n * a new frame if need be.\n *\n * @param {Function} fn\n * @param {Object} ctx the context to be bound to `fn` (optional).\n * @public\n */\n mutate: function(fn, ctx) {\n debug('mutate');\n var task = !ctx ? fn : fn.bind(ctx);\n this.writes.push(task);\n scheduleFlush(this);\n return task;\n },\n\n /**\n * Clears a scheduled 'read' or 'write' task.\n *\n * @param {Object} task\n * @return {Boolean} success\n * @public\n */\n clear: function(task) {\n debug('clear', task);\n return remove(this.reads, task) || remove(this.writes, task);\n },\n\n /**\n * Extend this FastDom with some\n * custom functionality.\n *\n * Because fastdom must *always* be a\n * singleton, we're actually extending\n * the fastdom instance. This means tasks\n * scheduled by an extension still enter\n * fastdom's global task queue.\n *\n * The 'super' instance can be accessed\n * from `this.fastdom`.\n *\n * @example\n *\n * var myFastdom = fastdom.extend({\n * initialize: function() {\n * // runs on creation\n * },\n *\n * // override a method\n * measure: function(fn) {\n * // do extra stuff ...\n *\n * // then call the original\n * return this.fastdom.measure(fn);\n * },\n *\n * ...\n * });\n *\n * @param {Object} props properties to mixin\n * @return {FastDom}\n */\n extend: function(props) {\n debug('extend', props);\n if (typeof props != 'object') throw new Error('expected object');\n\n var child = Object.create(this);\n mixin(child, props);\n child.fastdom = this;\n\n // run optional creation hook\n if (child.initialize) child.initialize();\n\n return child;\n },\n\n // override this with a function\n // to prevent Errors in console\n // when tasks throw\n catch: null\n};\n\n/**\n * Schedules a new read/write\n * batch if one isn't pending.\n *\n * @private\n */\nfunction scheduleFlush(fastdom) {\n if (!fastdom.scheduled) {\n fastdom.scheduled = true;\n fastdom.raf(flush.bind(null, fastdom));\n debug('flush scheduled');\n }\n}\n\n/**\n * Runs queued `read` and `write` tasks.\n *\n * Errors are caught and thrown by default.\n * If a `.catch` function has been defined\n * it is called instead.\n *\n * @private\n */\nfunction flush(fastdom) {\n debug('flush');\n\n var writes = fastdom.writes;\n var reads = fastdom.reads;\n var error;\n\n try {\n debug('flushing reads', reads.length);\n fastdom.runTasks(reads);\n debug('flushing writes', writes.length);\n fastdom.runTasks(writes);\n } catch (e) { error = e; }\n\n fastdom.scheduled = false;\n\n // If the batch errored we may still have tasks queued\n if (reads.length || writes.length) scheduleFlush(fastdom);\n\n if (error) {\n debug('task errored', error.message);\n if (fastdom.catch) fastdom.catch(error);\n else throw error;\n }\n}\n\n/**\n * Remove an item from an Array.\n *\n * @param {Array} array\n * @param {*} item\n * @return {Boolean}\n */\nfunction remove(array, item) {\n var index = array.indexOf(item);\n return !!~index && !!array.splice(index, 1);\n}\n\n/**\n * Mixin own properties of source\n * object into the target.\n *\n * @param {Object} target\n * @param {Object} source\n */\nfunction mixin(target, source) {\n for (var key in source) {\n if (source.hasOwnProperty(key)) target[key] = source[key];\n }\n}\n\n// There should never be more than\n// one instance of `FastDom` in an app\nvar exports = win.fastdom = (win.fastdom || new FastDom()); // jshint ignore:line\n\n// Expose to CJS & AMD\nif ((typeof define) == 'function') define(function() { return exports; });\nelse if ((typeof module) == 'object') module.exports = exports;\n\n})( typeof window !== 'undefined' ? window : typeof this != 'undefined' ? this : globalThis);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__883__;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"_wix_video:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t\tif (script.src.indexOf(window.location.origin + '/') !== 0) {\n\t\t\tscript.crossOrigin = \"anonymous\";\n\t\t}\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// 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};","__webpack_require__.p = \"https://static.parastorage.com/services/video/fa7b546cd01712b0d8c72e0023c9e4b76189b5fcf9c95249ac0091ae/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t180: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = (typeof self !== 'undefined' ? self : this)[\"webpackJsonp__wix_video\"] = (typeof self !== 'undefined' ? self : this)[\"webpackJsonp__wix_video\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// extracted by mini-css-extract-plugin\nexport default {\"video-container\":\"nhOWNx\",\"videoContainer\":\"nhOWNx\",\"video-poster-img\":\"Jy9J5J\",\"videoPosterImg\":\"Jy9J5J\",\"video\":\"b5Y937\"};","import { AdaptiveVideoSource, QualityPolicy, VideoSource } from '../types';\n\nconst STATIC_VIDEO_URL = 'https://video.wixstatic.com/';\nconst STATIC_ADAPTIVE_VIDEO_URL = 'https://files.wix.com/';\n\nconst isAbsoluteUrl = (url: string) =>\n url.startsWith('http://') || url.startsWith('https://');\n\nexport function sortQualities(sources: VideoSource[]) {\n return sources.sort((a, b) => a.width * a.height - b.width * b.height);\n}\n\nfunction getCompleteUrl(url: string, staticVideoUrl?: string): string {\n const completeUrl = isAbsoluteUrl(url)\n ? new URL(url)\n : new URL(url, staticVideoUrl);\n return completeUrl.href;\n}\n\nfunction getVideoQualityBySize(\n sources: VideoSource[],\n { width, height }: { width: number; height: number },\n): VideoSource {\n const targetQuality = sources.find(\n (value) => value.width * value.height > width * height,\n );\n\n return targetQuality || sources[sources.length - 1];\n}\n\nfunction getScaleFactor(\n containerWidth: number,\n containerHeight: number,\n videoWidth: number,\n videoHeight: number,\n): { wScale: number; hScale: number } {\n return {\n wScale: containerWidth / videoWidth,\n hScale: containerHeight / videoHeight,\n };\n}\n\nfunction getVideoDimension(\n videoScale: { wScale: number; hScale: number },\n videoWidth: number,\n videoHeight: number,\n): { width: number; height: number } {\n const scale: number = Math.min(videoScale.wScale, videoScale.hScale);\n\n return {\n width: Math.round(videoWidth * scale),\n height: Math.round(videoHeight * scale),\n };\n}\n\nexport function setVideoFocalPoint(\n videoNode: HTMLVideoElement,\n focalPoint: { x: number; y: number },\n) {\n const focalX = focalPoint?.x ?? 50;\n const focalY = focalPoint?.y ?? 50;\n videoNode.style.setProperty('--focal-x', focalX.toString());\n videoNode.style.setProperty('--focal-y', focalY.toString());\n}\n\nexport async function getVideoSource(\n width: number,\n height: number,\n uri: string,\n qualityPolicy: QualityPolicy,\n sources?: VideoSource[],\n adaptiveSources?: AdaptiveVideoSource[],\n duration?: number,\n onError?: (error: Error) => void,\n): Promise<{\n videoSourceUrl: string;\n patchVideoSource: (videoNode: HTMLVideoElement) => void;\n}> {\n const hasProgressiveSources = sources && sources.length > 0;\n const hasAbsoluteUri = uri && isAbsoluteUrl(uri);\n const shouldSkipAdaptiveShortVideo = duration && duration < 40;\n\n if (\n qualityPolicy === 'adaptive' &&\n adaptiveSources &&\n adaptiveSources.length > 0 &&\n !shouldSkipAdaptiveShortVideo\n ) {\n const hlsSource = adaptiveSources.find((s) => s.format === 'hls');\n const Hls = await import('hls.js');\n if (hlsSource && Hls && Hls.default.isSupported()) {\n const videoSourceUrl = getCompleteUrl(\n hlsSource.uri,\n STATIC_ADAPTIVE_VIDEO_URL,\n );\n const patchVideoSource = (videoNode: HTMLVideoElement) => {\n const hls = new Hls.default();\n hls.loadSource(videoSourceUrl);\n hls.attachMedia(videoNode);\n\n hls.on(Hls.default.Events.ERROR, (_, data) => {\n if (data.fatal) {\n switch (data.type) {\n case Hls.default.ErrorTypes.NETWORK_ERROR:\n hls.startLoad();\n if (onError) {\n onError(\n new Error(\n `HLS Network Error: ${data.details}.\\nAttempting to reconnect...`,\n ),\n );\n }\n break;\n case Hls.default.ErrorTypes.MEDIA_ERROR:\n hls.recoverMediaError();\n if (onError) {\n onError(\n new Error(\n `HLS Media Error: ${data.details}.\\nAttempting to recover...`,\n ),\n );\n }\n break;\n default:\n hls.destroy();\n if (onError) {\n onError(\n new Error(\n `HLS Unknown Error: ${data.details}.\\nUnrecoverable playback error`,\n ),\n );\n }\n break;\n }\n }\n });\n };\n return { videoSourceUrl, patchVideoSource };\n }\n }\n if (hasProgressiveSources) {\n const highestQuality = sources[sources.length - 1];\n if (qualityPolicy === 'highest') {\n const url = highestQuality.types.find(\n (type) => type.format === 'mp4',\n )?.uri;\n if (url) {\n const videoSourceUrl = getCompleteUrl(url, STATIC_VIDEO_URL);\n return {\n videoSourceUrl,\n patchVideoSource: (videoNode: HTMLVideoElement) => {\n videoNode.src = videoSourceUrl;\n videoNode.load();\n },\n };\n }\n } else {\n const videoWidth = parseInt(highestQuality.width.toString(), 10);\n const videoHeight = parseInt(highestQuality.height.toString(), 10);\n const scaleFactor = getScaleFactor(\n width,\n height,\n videoWidth,\n videoHeight,\n );\n const videoScaledDimensions = getVideoDimension(\n scaleFactor,\n videoWidth,\n videoHeight,\n );\n const targetQuality = getVideoQualityBySize(\n sources,\n videoScaledDimensions,\n );\n const url = targetQuality.types.find(\n (type) => type.format === 'mp4',\n )?.uri;\n if (url) {\n const videoSourceUrl = getCompleteUrl(url, STATIC_VIDEO_URL);\n return {\n videoSourceUrl,\n patchVideoSource: (videoNode: HTMLVideoElement) => {\n videoNode.src = videoSourceUrl;\n videoNode.load();\n },\n };\n }\n }\n }\n if (hasAbsoluteUri) {\n return {\n videoSourceUrl: uri,\n patchVideoSource: (videoNode: HTMLVideoElement) => {\n videoNode.src = uri;\n videoNode.load();\n },\n };\n }\n return {\n videoSourceUrl: '',\n patchVideoSource: () => {},\n };\n}\n","import type { AdaptiveVideoSource, QualityPolicy, VideoSource } from '../types';\nimport { getVideoSource, setVideoFocalPoint } from './utils';\n\nexport default {\n /**\n * @param {HTMLVideoElement} videoNode\n * @param {HTMLElement} container\n * @param {QualityPolicy} quality\n * @param {string} uri\n * @param {Object[]} sources\n * @param {Object[]} adaptiveSources\n * @param {number} duration\n * @param {(error: Error) => void} onError\n * @return {{currentSrc: string, videoSourceUrl: string}}\n */\n async measure(\n videoNode: HTMLVideoElement,\n container: HTMLElement,\n quality: QualityPolicy,\n uri: string,\n sources?: VideoSource[],\n adaptiveSources?: AdaptiveVideoSource[],\n duration?: number,\n onError?: (error: Error) => void,\n ) {\n const { videoSourceUrl, patchVideoSource } = await getVideoSource(\n container.offsetWidth,\n container.offsetHeight,\n uri,\n quality,\n sources,\n adaptiveSources,\n duration,\n onError,\n );\n const needsSrcUpdate = shouldUpdateSrc(videoNode, videoSourceUrl);\n return {\n needsSrcUpdate,\n patchVideoSource,\n };\n },\n /**\n * @param {HTMLDivElement} poster\n * @param {HTMLVideoElement} videoNode\n * @param {boolean} autoplay\n * @param {boolean} needsSrcUpdate\n * @param {string} posterEffect\n * @param {number} playbackRate\n * @param {(videoNode: HTMLVideoElement) => void} patchVideoSource\n * @param {Object[]} sources\n * @param {Object} focalPoint\n */\n mutate(\n poster: HTMLDivElement,\n videoNode: HTMLVideoElement,\n autoplay: boolean,\n needsSrcUpdate: boolean,\n posterEffect: string,\n playbackRate: number,\n patchVideoSource: (videoNode: HTMLVideoElement) => void,\n focalPoint: { x: number; y: number },\n sources?: VideoSource[],\n ): void {\n videoNode.toggleAttribute('autoplay', autoplay);\n if (sources?.[0]) {\n const videoWidth = sources[0].width;\n const videoHeight = sources[0].height;\n const aspectRatio = videoWidth / videoHeight;\n videoNode.style.setProperty('--aspect-ratio', aspectRatio.toString());\n }\n setVideoFocalPoint(videoNode, focalPoint!);\n\n handlePosterVisibility(\n needsSrcUpdate,\n videoNode,\n poster,\n posterEffect,\n autoplay,\n );\n\n if (needsSrcUpdate) {\n patchVideoSource(videoNode);\n }\n videoNode.playbackRate = playbackRate;\n },\n};\n\n/**\n *\n * @param videoNode\n * @param newSrcUrl\n * @returns {*|boolean}\n */\nfunction shouldUpdateSrc(\n videoNode: HTMLVideoElement,\n newSrcUrl: string,\n): boolean {\n const hasError = videoNode.networkState === videoNode.NETWORK_NO_SOURCE;\n const hasDiff = !videoNode.currentSrc.endsWith(newSrcUrl);\n return Boolean(newSrcUrl && (hasDiff || hasError));\n}\n\n/**\n *\n * @param {boolean} needsEventUpdate\n * @param {HTMLVideoElement} videoNode\n * @param {HTMLDivElement} posterNode\n * @param {string} posterEffect\n * @param {boolean} autoplay\n */\nfunction handlePosterVisibility(\n needsEventUpdate: boolean,\n videoNode: HTMLVideoElement,\n posterNode: HTMLDivElement,\n posterEffect: string,\n autoplay: boolean,\n): void {\n const isPausedOrEmpty = videoNode.paused || videoNode.currentSrc === '';\n if (needsEventUpdate && isPausedOrEmpty) {\n videoNode.ontimeupdate = null;\n videoNode.onseeked = null;\n videoNode.onplay = null;\n if (autoplay) {\n const muteState = videoNode.muted;\n videoNode.ontimeupdate = () => {\n if (videoNode.currentTime > 0) {\n videoNode.ontimeupdate = null;\n videoNode.onseeked = () => {\n videoNode.onseeked = null;\n videoNode.muted = muteState;\n removePoster(videoNode, posterNode, posterEffect);\n };\n videoNode.currentTime = 0;\n }\n };\n } else {\n videoNode.onplay = () => {\n videoNode.onplay = null;\n removePoster(videoNode, posterNode, posterEffect);\n };\n }\n }\n}\n\n/**\n * Show video , hide poster\n *\n * @param videoNode\n * @param posterNode\n * @param posterEffect\n */\nfunction removePoster(\n videoNode: HTMLVideoElement,\n posterNode: HTMLDivElement,\n posterEffect: string,\n): void {\n if (posterEffect === 'fade') {\n posterNode.style.transition = 'opacity 1.6s ease-out';\n }\n posterNode.style.opacity = '0';\n videoNode.style.opacity = '1';\n}\n","import videoLayout from './videoLayout';\nimport type { WowVideoServices, Timeout } from '../types';\n\nfunction wowVideoFactory(\n services: WowVideoServices,\n contextWindow: Window & typeof globalThis,\n): any {\n return class WowVideo extends contextWindow.HTMLElement {\n timeoutId: Timeout | null;\n\n constructor() {\n super();\n this.timeoutId = null;\n }\n\n /**\n * Dispatch a custom error event that bubbles up\n */\n dispatchVideoError(error: Error) {\n this.dispatchEvent(\n new CustomEvent('videoerror', {\n detail: { error },\n bubbles: true,\n }),\n );\n }\n\n attributeChangedCallback(_: string, oldValue: string) {\n if (oldValue) {\n this.reLayout();\n }\n }\n\n connectedCallback() {\n services.intersectionService?.observe(this);\n }\n\n disconnectedCallback() {\n this.unobserveIntersect();\n }\n\n unobserveIntersect() {\n services.intersectionService?.unobserve(this);\n }\n\n /**\n * Check if the user prefers reduced motion\n *\n * @returns {boolean} True if reduced motion is preferred\n */\n isPrefersReducedMotion(): boolean {\n return contextWindow.matchMedia('(prefers-reduced-motion: reduce)')\n .matches;\n }\n\n reLayout() {\n if (!this.dataset.videoInfo) {\n return;\n }\n\n const {\n uri,\n sources,\n adaptiveSources,\n autoplay,\n playbackRate,\n posterEffect,\n qualityPolicy,\n focalPoint,\n duration,\n } = JSON.parse(this.dataset.videoInfo);\n\n const prefersReducedMotion = this.isPrefersReducedMotion();\n const autoPlayAllowed = !prefersReducedMotion && autoplay;\n\n const videoNode = this.querySelector('video') as HTMLVideoElement;\n const poster = this.querySelector('img') as HTMLImageElement;\n\n services.mutationService.measure(async () => {\n const measures = await videoLayout.measure(\n videoNode,\n this,\n qualityPolicy,\n uri,\n sources,\n adaptiveSources,\n duration,\n (error: Error) => this.dispatchVideoError(error),\n );\n\n const { needsSrcUpdate, patchVideoSource } = measures;\n services.mutationService.mutate(() => {\n videoLayout.mutate(\n poster,\n videoNode,\n autoPlayAllowed,\n needsSrcUpdate,\n posterEffect,\n playbackRate,\n patchVideoSource,\n focalPoint,\n sources,\n );\n });\n });\n }\n\n static get observedAttributes() {\n return ['data-video-info'];\n }\n };\n}\n\nexport default wowVideoFactory;\n","import wowVideoFactory from './WowVideo';\nimport fastdom from 'fastdom';\n\nimport type {\n CustomElementServices,\n WowVideo,\n WowVideoServices,\n} from '../types';\n\nexport function init(\n contextWindow: Window & typeof globalThis,\n services: CustomElementServices,\n) {\n contextWindow = contextWindow || window;\n const elementName = 'wow-video';\n\n if (contextWindow.customElements.get(elementName) === undefined) {\n let intersectionObserver: IntersectionObserver | undefined;\n\n if (contextWindow.IntersectionObserver) {\n intersectionObserver = new IntersectionObserver(\n (entries: IntersectionObserverEntry[]) =>\n entries.map((entry) => {\n if (entry.isIntersecting) {\n const target = entry.target as WowVideo;\n target.unobserveIntersect();\n target.reLayout();\n }\n return entry;\n }),\n {\n rootMargin: '50% 100%',\n },\n );\n }\n\n const WowVideo = wowVideoFactory(\n {\n mutationService: fastdom,\n intersectionService: intersectionObserver,\n ...services,\n } as WowVideoServices,\n contextWindow!,\n );\n contextWindow!.customElements.define(elementName, WowVideo);\n }\n\n return;\n}\n","import { init } from './custom-element/registry';\nimport { CustomElementServices } from './types';\n\nfunction initCustomElement(\n contextWindow: (Window & typeof globalThis) | null = null,\n services: CustomElementServices = {},\n) {\n const actualWindow = contextWindow || window;\n\n init(actualWindow, services);\n}\n\nexport { initCustomElement };\n","/**\n * image service api version\n */\nconst API_VERSION = 'v1';\n/**\nthe maximum retina factor\n */\nconst MAX_DEVICE_PIXEL_RATIO = 2;\n/**\n site BG legacy max width x height\n */\nconst DSKTP_MAX_BG_SITE_LEGACY_WIDTH = 1920;\nconst DSKTP_MAX_BG_SITE_LEGACY_HEIGHT = 1920;\nconst MOBILE_MAX_BG_SITE_LEGACY_WIDTH = 1000;\nconst MOBILE_MAX_BG_SITE_LEGACY_HEIGHT = 1000;\n/**\n * Enum string values of requested image fitting types\n * Note: TILE_HORIZONTAL, TILE_VERTICAL, FIT_AND_TILE are supported for legacy purposes but are not exposed\n * in the documentation because they should not be exposed for new features\n */\nconst fittingTypes = {\n SCALE_TO_FILL: 'fill',\n SCALE_TO_FIT: 'fit',\n STRETCH: 'stretch',\n ORIGINAL_SIZE: 'original_size',\n TILE: 'tile',\n TILE_HORIZONTAL: 'tile_horizontal',\n TILE_VERTICAL: 'tile_vertical',\n FIT_AND_TILE: 'fit_and_tile',\n LEGACY_STRIP_TILE: 'legacy_strip_tile',\n LEGACY_STRIP_TILE_HORIZONTAL: 'legacy_strip_tile_horizontal',\n LEGACY_STRIP_TILE_VERTICAL: 'legacy_strip_tile_vertical',\n LEGACY_STRIP_SCALE_TO_FILL: 'legacy_strip_fill',\n LEGACY_STRIP_SCALE_TO_FIT: 'legacy_strip_fit',\n LEGACY_STRIP_FIT_AND_TILE: 'legacy_strip_fit_and_tile',\n LEGACY_STRIP_ORIGINAL_SIZE: 'legacy_strip_original_size',\n LEGACY_ORIGINAL_SIZE: 'actual_size',\n LEGACY_FIT_WIDTH: 'fitWidth',\n LEGACY_FIT_HEIGHT: 'fitHeight',\n LEGACY_FULL: 'full',\n LEGACY_BG_FIT_AND_TILE: 'legacy_tile',\n LEGACY_BG_FIT_AND_TILE_HORIZONTAL: 'legacy_tile_horizontal',\n LEGACY_BG_FIT_AND_TILE_VERTICAL: 'legacy_tile_vertical',\n LEGACY_BG_NORMAL: 'legacy_normal',\n};\n/**\n * Enum string values of image transform types as passed to the image service api\n */\nconst transformTypes = {\n FIT: 'fit',\n FILL: 'fill',\n FILL_FOCAL: 'fill_focal',\n CROP: 'crop',\n LEGACY_CROP: 'legacy_crop',\n LEGACY_FILL: 'legacy_fill',\n};\n/**\n * Enum string values of requested image align types\n * @type {{CENTER: string, RIGHT: string, LEFT: string, TOP: string, BOTTOM: string, TOP_RIGHT: string, TOP_LEFT: string, BOTTOM_RIGHT: string, BOTTOM_LEFT: string}}\n */\nconst alignTypes = {\n CENTER: 'center',\n TOP: 'top',\n TOP_LEFT: 'top_left',\n TOP_RIGHT: 'top_right',\n BOTTOM: 'bottom',\n BOTTOM_LEFT: 'bottom_left',\n BOTTOM_RIGHT: 'bottom_right',\n LEFT: 'left',\n RIGHT: 'right',\n};\n/**\n * Enum 9Grid alignment to focal point\n */\nconst ALIGN_TYPE_TO_FOCAL_POINT = {\n [alignTypes.CENTER]: { x: 0.5, y: 0.5 },\n [alignTypes.TOP_LEFT]: { x: 0, y: 0 },\n [alignTypes.TOP_RIGHT]: { x: 1.0, y: 0 },\n [alignTypes.TOP]: { x: 0.5, y: 0 },\n [alignTypes.BOTTOM_LEFT]: { x: 0, y: 1.0 },\n [alignTypes.BOTTOM_RIGHT]: { x: 1.0, y: 1.0 },\n [alignTypes.BOTTOM]: { x: 0.5, y: 1.0 },\n [alignTypes.RIGHT]: { x: 1.0, y: 0.5 },\n [alignTypes.LEFT]: { x: 0, y: 0.5 },\n};\n/**\n * Enum string values of image align types as passed to the image service\n */\nconst alignTypesMap = {\n center: 'c',\n top: 't',\n top_left: 'tl',\n top_right: 'tr',\n bottom: 'b',\n bottom_left: 'bl',\n bottom_right: 'br',\n left: 'l',\n right: 'r',\n};\n/**\n * Enum string values of html tag used to construct the css or svg attributes\n * @type {{BG: string, IMG: string, SVG: string}}\n */\nconst htmlTag = {\n BG: 'bg',\n IMG: 'img',\n SVG: 'svg',\n};\n/**\n * Enum string values of upscale method\n * @type {{DEFAULT: string, SUPER: string}}\n */\nconst upscaleMethods = {\n AUTO: 'auto',\n CLASSIC: 'classic',\n SUPER: 'super',\n};\n/**\n * api values of upscale method\n * @type {{default: number, super: number}}\n */\nconst upscaleMethodsValues = {\n classic: 1,\n super: 2,\n};\n/**\n * default unsharp mask values\n * @type {{radius: number, amount: number, threshold: number}}\n */\nconst defaultUSM = {\n radius: '0.66',\n amount: '1.00',\n threshold: '0.01',\n};\n/**\n * default empty data\n */\nconst emptyData = {\n uri: '',\n css: {\n img: {},\n container: {},\n },\n attr: {\n img: {},\n container: {},\n },\n transformed: false,\n};\nconst MAX_TRANSFORMED_IMAGE_WIDTH = 5000;\nconst MAX_TRANSFORMED_IMAGE_HEIGHT = 5000;\nconst SAFE_TRANSFORMED_AREA = MAX_TRANSFORMED_IMAGE_WIDTH * MAX_TRANSFORMED_IMAGE_HEIGHT;\n/**\n * super res machine learning upscale factor models -\n * @type {number[]}\n */\nconst SUPER_UPSCALE_MODELS = [1.5, 2, 4];\n/**\n * image qualities\n */\nconst imageScaleDefaults = {\n HIGH: {\n size: 1400 * 1400,\n quality: 90,\n maxUpscale: 1,\n },\n MEDIUM: {\n size: 600 * 600,\n quality: 85,\n maxUpscale: 1,\n },\n LOW: {\n size: 400 * 400,\n quality: 80,\n maxUpscale: 1.2,\n },\n TINY: {\n size: 0,\n quality: 80,\n maxUpscale: 1.4,\n },\n};\n/**\n * image quality\n * @type {{HIGH: string, MEDIUM: string, LOW: string, TINY: string}}\n */\nconst imageQuality = {\n HIGH: 'HIGH',\n MEDIUM: 'MEDIUM',\n LOW: 'LOW',\n TINY: 'TINY',\n};\n/**\n * image filters\n * @type {{CONTRAST: string, BRIGHTNESS: string, SATURATION: string, HUE: string, BLUR: string}}\n */\nconst imageFilters = {\n CONTRAST: 'contrast',\n BRIGHTNESS: 'brightness',\n SATURATION: 'saturation',\n HUE: 'hue',\n BLUR: 'blur',\n};\nconst fileType = {\n JPG: 'jpg',\n JPEG: 'jpeg',\n JPE: 'jpe',\n PNG: 'png',\n WEBP: 'webp',\n WIX_ICO_MP: 'wix_ico_mp',\n WIX_MP: 'wix_mp',\n GIF: 'gif',\n SVG: 'svg',\n AVIF: 'avif',\n UNRECOGNIZED: 'unrecognized',\n};\nconst encodingTypes = {\n AVIF: 'AVIF',\n PAVIF: 'PAVIF',\n};\nconst supportedExtensions = [\n fileType.JPG,\n fileType.JPEG,\n fileType.JPE,\n fileType.PNG,\n fileType.GIF,\n fileType.WEBP,\n];\nexport { alignTypes, alignTypesMap, transformTypes, encodingTypes, fittingTypes, htmlTag, upscaleMethods, upscaleMethodsValues, defaultUSM, emptyData, imageQuality, imageFilters, imageScaleDefaults, fileType, supportedExtensions, DSKTP_MAX_BG_SITE_LEGACY_WIDTH, MOBILE_MAX_BG_SITE_LEGACY_WIDTH, DSKTP_MAX_BG_SITE_LEGACY_HEIGHT, MOBILE_MAX_BG_SITE_LEGACY_HEIGHT, SAFE_TRANSFORMED_AREA, SUPER_UPSCALE_MODELS, MAX_DEVICE_PIXEL_RATIO, ALIGN_TYPE_TO_FOCAL_POINT, API_VERSION, };\n//# sourceMappingURL=imageServiceConstants.js.map","/**\n * Simple templates.\n * Receives a string with es6 ${...} style template arguments and returns a transformed string.\n * @param string\n * @returns {Function}\n */\nfunction template(strings, ...keys) {\n return function (...values) {\n const dict = values[values.length - 1] || {};\n const result = [strings[0]];\n keys.forEach(function (key, i) {\n const value = Number.isInteger(key) ? values[key] : dict[key];\n result.push(value, strings[i + 1]);\n });\n return result.join('');\n };\n}\n/**\n * Get the last element in an array\n * @param array\n * @returns {*}\n */\nfunction last(array) {\n return array[array.length - 1];\n}\nexport { last, template };\n//# sourceMappingURL=utils.js.map","import { alignTypes, alignTypesMap, fileType, fittingTypes, imageQuality, imageScaleDefaults, transformTypes, upscaleMethods, upscaleMethodsValues, ALIGN_TYPE_TO_FOCAL_POINT, MAX_DEVICE_PIXEL_RATIO, SUPER_UPSCALE_MODELS, SAFE_TRANSFORMED_AREA, } from './imageServiceConstants';\nimport { last } from './utils';\nconst SUPPORTED_IMAGE_EXTENSIONS = [\n fileType.PNG,\n fileType.JPEG,\n fileType.JPG,\n fileType.JPE,\n fileType.WIX_ICO_MP,\n fileType.WIX_MP,\n fileType.WEBP,\n fileType.AVIF,\n];\nconst JPG_EXTENSIONS = [\n fileType.JPEG,\n fileType.JPG,\n fileType.JPE,\n];\n/**\n * checks if image type is supported\n * @param {string} uri image source uri\n *\n * @returns {boolean}\n */\nfunction isImageTypeSupported(uri) {\n return SUPPORTED_IMAGE_EXTENSIONS.includes(getFileExtension(uri));\n}\n/**\n * check request integrity\n * @param {FittingType} fittingType imageService.fittingTypes\n * @param {ImageTransformSource} src\n * @param {ImageTransformTarget} target\n *\n * @returns {boolean}\n */\nfunction isValidRequest(fittingType, src, target) {\n return (target &&\n src &&\n !isUrlEmptyOrNone(src.id) &&\n Object.values(fittingTypes).includes(fittingType));\n}\n/**\n * Returns true if animated WebP/AVIF images can be transformed.\n * These formats can only be transformed when explicitly allowed via allowAnimatedTransform.\n *\n * @param uri - Image URI to check\n * @param hasAnimation - Whether the image has animation metadata\n * @param allowAnimatedTransform - Whether animated transforms are allowed (used in placeholder flow)\n * @returns true if the image can be transformed\n */\nfunction canTransformAnimatedWebpOrAvif(uri, hasAnimation, allowAnimatedTransform) {\n const isAvifWebpFormat = isWEBP(uri) || isAVIF(uri);\n if (!isAvifWebpFormat || !hasAnimation) {\n return true;\n }\n return allowAnimatedTransform;\n}\n/**\n * Returns true if a GIF can be transformed.\n * GIFs can be transformed in two scenarios:\n * 1. In placeholder flow when allowAnimatedTransform is true\n * 2. In non-placeholder flow when allowFullGIFTransformation is true\n *\n * @param uri - Image URI to check\n * @param allowAnimatedTransform - Whether animated transforms are allowed (used in placeholder flow)\n * @param allowFullGIFTransformation - Whether full GIF transformation is allowed (used in non-placeholder flow)\n * @returns true if the GIF can be transformed\n */\nfunction canTransformGIF(uri, allowAnimatedTransform, allowFullGIFTransformation) {\n if (!isGIF(uri)) {\n return false;\n }\n return !!(allowAnimatedTransform || allowFullGIFTransformation);\n}\n/**\n * Check if image transform is supported for source image.\n * Returns true if:\n * - Image is a supported type (PNG, JPEG, WebP, AVIF, etc.), OR\n * - Image is a GIF that can be transformed (see canTransformGIF)\n *\n * @param uri - Image URI to check\n * @param hasAnimation - Whether the image has animation metadata\n * @param allowAnimatedTransform - Whether animated transforms are allowed (used in placeholder flow)\n * @param allowFullGIFTransformation - Whether full GIF transformation is allowed (used in non-placeholder flow)\n * @returns true if the image can be transformed\n */\nfunction isImageTransformApplicable(uri, hasAnimation, allowAnimatedTransform, allowFullGIFTransformation) {\n // External URLs cannot be transformed\n if (isExternalUrl(uri)) {\n return false;\n }\n // Check if animated webp/avif can be transformed\n if (!canTransformAnimatedWebpOrAvif(uri, hasAnimation, allowAnimatedTransform)) {\n return false;\n }\n // Check if image type is supported or if it's a transformable GIF\n const isSupportedImageType = isImageTypeSupported(uri);\n const isTransformableGif = canTransformGIF(uri, allowAnimatedTransform, allowFullGIFTransformation);\n return isSupportedImageType || isTransformableGif;\n}\n/**\n * returns true if image is of JPG type\n * @param {string} uri\n *\n * @returns {boolean}\n */\nfunction isJPG(uri) {\n return JPG_EXTENSIONS.includes(getFileExtension(uri));\n}\n/**\n * returns true if image is of PNG type\n * @param {string} uri\n *\n * @returns {boolean}\n */\nfunction isPNG(uri) {\n return getFileExtension(uri) === fileType.PNG;\n}\n/**\n * returns true if image is of webP type\n * @param {string} uri\n *\n * @returns {boolean}\n */\nfunction isWEBP(uri) {\n return getFileExtension(uri) === fileType.WEBP;\n}\n/**\n * returns true if image is of GIF type\n * @param {string} uri\n *\n * @returns {boolean}\n */\nfunction isGIF(uri) {\n return getFileExtension(uri) === fileType.GIF;\n}\n/**\n * returns true if image is of webP type\n * @param {string} uri\n *\n * @returns {boolean}\n */\nfunction isAVIF(uri) {\n return getFileExtension(uri) === fileType.AVIF;\n}\n/**\n * returns true if the url starts with http, https, // or data\n * @param {string} url\n *\n * @returns {boolean}\n */\nfunction isExternalUrl(url) {\n return /(^https?)|(^data)|(^\\/\\/)/.test(url);\n}\n/**\n * returns true if the url empty or none string\n * @param {string} url\n *\n * @returns {boolean}\n */\nfunction isUrlEmptyOrNone(url) {\n return !url || !url.trim() || url.toLowerCase() === 'none';\n}\n/**\n * returns search bot true or false as indicated in options\n * @param {ImageTransformOptions} options\n *\n * @returns {boolean}\n */\nfunction isSEOBot(options) {\n return options?.isSEOBot ?? false;\n}\n// https://jira.wixpress.com/browse/WEED-12667\n// const illegalChars = ['/', '\\\\', '#', '^', '?', '{', '}', '<', '>', '|', '`', '“', ':', '\"'].map(encodeURIComponent)\nconst ILLEGAL_CHARS = ['/', '\\\\', '?', '<', '>', '|', '“', ':', '\"'].map(encodeURIComponent);\nconst URL_SAFE_ILLEGAL_CHARS = ['\\\\.', '\\\\*'];\nconst ILLEGAL_CHARS_REPLACEMENT = '_';\n/**\n * returns source image file name (no extension)\n * @param {string} uri image source uri\n * @param {string} [name] optional image source name\n *\n * @returns {string}\n */\nfunction getFileName(uri, name) {\n const beforeLeadingSlashRegexp = /\\/(.*?)$/;\n const fileExtensionRegexp = /\\.([^.]*)$/;\n const illegalCharsRegex = new RegExp(`(${ILLEGAL_CHARS.concat(URL_SAFE_ILLEGAL_CHARS).join('|')})`, 'g');\n // if name is a non empty string, remove only supported extension if exists and url encode the string\n if (name && name.length) {\n let fileName = name;\n const extension = name.match(fileExtensionRegexp);\n if (extension &&\n SUPPORTED_IMAGE_EXTENSIONS.includes(extension[1])) {\n fileName = name.replace(fileExtensionRegexp, '');\n }\n return encodeURIComponent(fileName).replace(illegalCharsRegex, ILLEGAL_CHARS_REPLACEMENT);\n }\n // else, trim any preceding media structure from the uri string (like \"media/\" etc.) and remove extension\n const trimmed = uri.match(beforeLeadingSlashRegexp);\n const fileName = trimmed ? trimmed[1] : uri;\n return fileName.replace(fileExtensionRegexp, '');\n}\n/**\n * returns source image file name (no extension)\n * @param {string} uri image source uri\n *\n * @returns {FileType}\n */\nfunction getFileType(uri) {\n if (isJPG(uri)) {\n return fileType.JPG;\n }\n else if (isPNG(uri)) {\n return fileType.PNG;\n }\n else if (isWEBP(uri)) {\n return fileType.WEBP;\n }\n else if (isGIF(uri)) {\n return fileType.GIF;\n }\n else if (isAVIF(uri)) {\n return fileType.AVIF;\n }\n return fileType.UNRECOGNIZED;\n}\n/**\n * returns source image file extension\n * @param {string} uri image source uri\n *\n * @returns {string}\n */\nfunction getFileExtension(uri) {\n const splitURI = /[.]([^.]+)$/.exec(uri);\n return ((splitURI && /[.]([^.]+)$/.exec(uri)[1]) || '').toLowerCase();\n}\n/**\n * returns scale factor needed if FIT fitting\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {number} dWidth\n * @param {number} dHeight\n *\n * @returns {number}\n */\nfunction getFitScaleFactor(sWidth, sHeight, dWidth, dHeight) {\n return Math.min(dWidth / sWidth, dHeight / sHeight);\n}\n/**\n * returns scale factor needed if FILL fitting\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {number} dWidth\n * @param {number} dHeight\n *\n * @returns {number}\n */\nfunction getFillScaleFactor(sWidth, sHeight, dWidth, dHeight) {\n return Math.max(dWidth / sWidth, dHeight / sHeight);\n}\n/**\n * returns scale factor source target\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {number} dWidth\n * @param {number} dHeight\n * @param {string} transformType\n *\n * @returns {number}\n */\nfunction getScaleFactor(sWidth, sHeight, dWidth, dHeight, transformType) {\n let scaleFactor;\n if (transformType === transformTypes.FILL) {\n scaleFactor = getFillScaleFactor(sWidth, sHeight, dWidth, dHeight);\n }\n else if (transformType === transformTypes.FIT) {\n scaleFactor = getFitScaleFactor(sWidth, sHeight, dWidth, dHeight);\n }\n else {\n scaleFactor = 1;\n }\n return scaleFactor;\n}\n/**\n * get calculated scale factor , width and height while considering wixmp image transform dimension limits\n * @param sWidth\n * @param sHeight\n * @param dWidth\n * @param dHeight\n * @param transformType\n * @returns {{scaleFactor: *, width: *, height: *}}\n */\nfunction getSafeTransformData(sWidth, sHeight, dWidth, dHeight, transformType) {\n let scaleFactor;\n // defaults for FILL transform type\n let width = dWidth;\n let height = dHeight;\n // calculate safe image transformed area\n scaleFactor = getScaleFactor(sWidth, sHeight, dWidth, dHeight, transformType);\n if (transformType === transformTypes.FIT) {\n width = sWidth * scaleFactor;\n height = sHeight * scaleFactor;\n }\n // adjust target width & height & scaleFactor\n if (width && height && width * height > SAFE_TRANSFORMED_AREA) {\n const dimensionScaleFactor = Math.sqrt(SAFE_TRANSFORMED_AREA / (width * height));\n width *= dimensionScaleFactor;\n height *= dimensionScaleFactor;\n // get the new scale factor\n scaleFactor = getScaleFactor(sWidth, sHeight, width, height, transformType);\n }\n return {\n scaleFactor,\n width,\n height,\n };\n}\n/**\n * returns the destination rectangle\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {TransformType} transformType\n * @param {ImageTransformTarget} target\n * @param {number} dpr - device pixel ratio\n * @param {UpscaleMethod} upscaleMethod\n *\n * @returns {ImageTransformData & {upscaleMethodValue: number}}\n */\nfunction getTransformData(sWidth, sHeight, transformType, target, dpr, upscaleMethod) {\n // use target dimension is src not provided\n sWidth = sWidth || target.width;\n sHeight = sHeight || target.height;\n // adjust image transform values considering server side transform limitations and performance\n const { scaleFactor, width, height } = getSafeTransformData(sWidth, sHeight, target.width * dpr, target.height * dpr, transformType);\n // adjust image transform values to optimizing upsacle quality and payload\n return getOptimizedTransformData(sWidth, sHeight, width, height, upscaleMethod, scaleFactor, transformType);\n}\n/**\n * converts 9 grid alignment to Focal point position\n * @param {string} [alignment]\n *\n * @returns {x:number,y:number}\n */\nfunction getFocalPointFrom9GridAlignment(alignment = alignTypes.CENTER) {\n return ALIGN_TYPE_TO_FOCAL_POINT[alignment];\n}\n/**\n * returns overlapping rectangle where sRect\n * id aligned (according to alignment) within dRect\n * @param {{ width: number; height: number }} sRect rect 1\n * @param {{ width: number, height: number }} dRect rect 2\n * @param {{x: number, y: number}|undefined} sFP source image focal point\n * @param {string} alignment\n *\n * @returns {{x: number, y: number, width: number, height: number}}\n */\nfunction getAlignedRect(sRect, dRect, sFP, alignment) {\n const fp = getFocalPoint(sFP) ||\n getFocalPointFrom9GridAlignment(alignment);\n const x = Math.max(0, Math.min(sRect.width - dRect.width, fp.x * sRect.width - dRect.width / 2));\n const y = Math.max(0, Math.min(sRect.height - dRect.height, fp.y * sRect.height - dRect.height / 2));\n // rect\n return {\n x,\n y,\n width: Math.min(sRect.width, dRect.width),\n height: Math.min(sRect.height, dRect.height),\n };\n}\n/**\n * returns overlapping rectangle between sRect and dRect\n * @param {object} sRect rect 1\n * @param {object} dRect rect 2\n *\n * @returns {{x:number,y:number,width:number, height:number} || null}\n */\nfunction getOverlappingRect(sRect, dRect) {\n const width = Math.max(0, Math.min(sRect.width, dRect.x + dRect.width) - Math.max(0, dRect.x));\n const height = Math.max(0, Math.min(sRect.height, dRect.y + dRect.height) - Math.max(0, dRect.y));\n const isValidRect = width && height && (sRect.width !== width || sRect.height !== height);\n // return overlapping sRect/dRect rectangle(x, y, width, height)\n return isValidRect\n ? {\n x: Math.max(0, dRect.x),\n y: Math.max(0, dRect.y),\n width,\n height,\n }\n : null;\n}\n/**\n * returns pixel aspect ratio value\n * @param {ImageTransformTarget} target\n *\n * @returns {number}\n */\nfunction getDevicePixelRatio(target) {\n return Math.min(target.pixelAspectRatio || 1, MAX_DEVICE_PIXEL_RATIO);\n}\n/**\n * returns target alignment value\n * @param {ImageTransformTarget} target\n *\n * @returns {string}\n */\nfunction getAlignment(target) {\n return ((target.alignment && alignTypesMap[target.alignment]) ||\n alignTypesMap[alignTypes.CENTER]);\n}\n/**\n * returns the focal point value, if no focal point passed use alignment\n * @param {{x: number, y: number}|undefined} focalPoint\n */\nfunction getFocalPoint(focalPoint) {\n let fp;\n if (focalPoint &&\n typeof focalPoint.x === 'number' &&\n !isNaN(focalPoint.x) &&\n typeof focalPoint.y === 'number' &&\n !isNaN(focalPoint.y)) {\n fp = {\n x: roundToFixed(Math.max(0, Math.min(100, focalPoint.x)) / 100, 2),\n y: roundToFixed(Math.max(0, Math.min(100, focalPoint.y)) / 100, 2),\n };\n }\n return fp;\n}\n/**\n * returns preferred image quality value\n * @param {number} imageWidth\n * @param {number} imageHeight\n *\n * @returns {number}\n */\nfunction getPreferredImageQuality(imageWidth, imageHeight) {\n return imageScaleDefaults[getImageQualityKey(imageWidth, imageHeight)]\n .quality;\n}\n/**\n * returns the scale descriptor of CLASSIC upscale method\n * @param sWidth\n * @param sHeight\n * @returns {{optimizedScaleFactor: number, upscaleMethodValue: number, forceUSM: boolean}}\n */\nfunction getClassicScaleData(sWidth, sHeight) {\n const imageKey = getImageQualityKey(sWidth, sHeight);\n return {\n optimizedScaleFactor: imageScaleDefaults[imageKey].maxUpscale,\n upscaleMethodValue: upscaleMethodsValues.classic,\n forceUSM: false,\n };\n}\n/**\n * returns the scale descriptor of AUTO upscale method\n * @param sWidth\n * @param sHeight\n * @returns {{optimizedScaleFactor: number, upscaleMethodValue: number, forceUSM: boolean}}\n */\nfunction getAutoScaleData(sWidth, sHeight) {\n const imageKey = getImageQualityKey(sWidth, sHeight);\n return {\n optimizedScaleFactor: imageScaleDefaults[imageKey].maxUpscale,\n upscaleMethodValue: upscaleMethodsValues.classic,\n forceUSM: false,\n };\n}\n/**\n * returns the scale descriptor of SUPER upscale method\n * @param scaleFactor\n * @returns {{optimizedScaleFactor: number, upscaleMethodValue: number, forceUSM: boolean}}\n */\nfunction getSuperScaleData(scaleFactor) {\n return {\n optimizedScaleFactor: last(SUPER_UPSCALE_MODELS),\n upscaleMethodValue: upscaleMethodsValues.super,\n forceUSM: !(SUPER_UPSCALE_MODELS.includes(scaleFactor) ||\n scaleFactor > last(SUPER_UPSCALE_MODELS)),\n };\n}\n/**\n * returns upscale descriptor object\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {string} upscaleMethod\n * @param {number} scaleFactor\n *\n * @returns {{maxScale: number, upscaleMethodValue: number, forceUSM: boolean}}\n */\nfunction getOptimizedScaleData(sWidth, sHeight, scaleFactor, upscaleMethod) {\n if (upscaleMethod === 'auto') {\n return getAutoScaleData(sWidth, sHeight);\n }\n else if (upscaleMethod === 'super') {\n return getSuperScaleData(scaleFactor);\n }\n // assuming 'classic' method\n return getClassicScaleData(sWidth, sHeight);\n}\n/**\n * returns optimized upscale data, considering requested upscale method , optimize upscale for best quality and bandwidth\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {number} tWidth\n * @param {number} tHeight\n * @param {UpscaleMethod} upscaleMethod\n * @param {number} scaleFactor\n * @param {TransformType} transformType\n *\n * @returns {ImageTransformData}\n */\nfunction getOptimizedTransformData(sWidth, sHeight, tWidth, tHeight, upscaleMethod, scaleFactor, transformType) {\n const { optimizedScaleFactor, upscaleMethodValue, forceUSM } = getOptimizedScaleData(sWidth, sHeight, scaleFactor, upscaleMethod);\n let width = tWidth;\n let height = tHeight;\n if (scaleFactor <= optimizedScaleFactor) {\n // target upscale within limits or downscale\n return {\n width,\n height,\n scaleFactor,\n upscaleMethodValue,\n forceUSM,\n cssUpscaleNeeded: false,\n };\n }\n // limited upscale\n switch (transformType) {\n case transformTypes.FILL:\n width = tWidth * (optimizedScaleFactor / scaleFactor);\n height = tHeight * (optimizedScaleFactor / scaleFactor);\n break;\n case transformTypes.FIT:\n width = sWidth * optimizedScaleFactor;\n height = sHeight * optimizedScaleFactor;\n break;\n default:\n break;\n }\n // adjust transform values\n return {\n width,\n height,\n scaleFactor: optimizedScaleFactor,\n upscaleMethodValue,\n forceUSM,\n cssUpscaleNeeded: true,\n };\n}\n/**\n * returns image quality key\n * @param {number} imageWidth\n * @param {number} imageHeight\n *\n * @returns {ImageQuality}\n */\nfunction getImageQualityKey(imageWidth, imageHeight) {\n const size = imageWidth * imageHeight;\n if (size > imageScaleDefaults[imageQuality.HIGH].size) {\n return imageQuality.HIGH;\n }\n else if (size > imageScaleDefaults[imageQuality.MEDIUM].size) {\n return imageQuality.MEDIUM;\n }\n else if (size > imageScaleDefaults[imageQuality.LOW].size) {\n return imageQuality.LOW;\n }\n return imageQuality.TINY;\n}\n/**\n * return the actual rounded dimension of a scaled rectangle\n * @param sWidth\n * @param sHeight\n * @param tWidth\n * @param tHeight\n * @param transformType\n * @returns {{width: number, height: number}}\n */\nfunction getDimension(sWidth, sHeight, tWidth, tHeight, transformType) {\n const scaleFactor = getScaleFactor(sWidth, sHeight, tWidth, tHeight, transformType);\n return {\n width: Math.round(sWidth * scaleFactor),\n height: Math.round(sHeight * scaleFactor),\n };\n}\n/**\n * rounds number n digit precision and converts to string\n * @param {number} value\n * @param {number} precision\n *\n * @returns {string}\n */\nfunction roundToFixed(value, precision) {\n const truncatePrecision = Math.pow(10, precision || 0);\n return ((value * truncatePrecision) / truncatePrecision).toFixed(precision);\n}\n/**\n * get normalize scale method\n * @param {ImageTransformOptions} [options]\n * @returns {UpscaleMethod}\n */\nfunction getUpscaleString(options) {\n if (!options || !options.upscaleMethod) {\n return upscaleMethods.AUTO;\n }\n return (upscaleMethods[options.upscaleMethod.toUpperCase()] || upscaleMethods.AUTO);\n}\nfunction imageIsAnimated(uri, hasAnimation) {\n const isAvifWebpFormat = isWEBP(uri) || isAVIF(uri);\n return (getFileExtension(uri) === fileType.GIF || (isAvifWebpFormat && hasAnimation));\n}\nexport { getAlignedRect, getAlignment, getDevicePixelRatio, getDimension, getFileExtension, getFileName, getFileType, getFocalPoint, getOverlappingRect, getPreferredImageQuality, getScaleFactor, getTransformData, getUpscaleString, imageIsAnimated, isExternalUrl, isImageTransformApplicable, isImageTypeSupported, isSEOBot, isValidRequest, isPNG, isWEBP, isGIF, isAVIF, roundToFixed, };\n//# sourceMappingURL=imageServiceUtils.js.map","const globalFeaturesSupportObj = {\n /**\n * @type {object<boolean>}\n */\n isMobile: false,\n};\nconst getFeature = function (feature) {\n return globalFeaturesSupportObj[feature];\n};\nconst setFeature = function (feature, value) {\n globalFeaturesSupportObj[feature] = value;\n};\nexport { getFeature, setFeature };\n//# sourceMappingURL=imageServiceFeatureSupportObject.js.map","import { setFeature } from './imageServiceFeatureSupportObject';\n/**\n * Populate the global feature support object with browser specific values\n */\nfunction populateGlobalFeatureSupport() {\n if (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n const isSmallScreen = window.matchMedia && window.matchMedia('(max-width: 767px)').matches;\n const isMobileAgent = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n // set is mobile\n setFeature('isMobile', isSmallScreen && isMobileAgent);\n }\n}\nexport { populateGlobalFeatureSupport };\n//# sourceMappingURL=populateFeatureSupport.js.map","import { alignTypes, fittingTypes } from '../../helpers/imageServiceConstants';\n/**\n * returns BG tag CSS data\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformTarget} target\n *\n * @returns {BackgroundImageAttributes}\n */\nfunction getCSS(transformsObj, target) {\n const attributes = {\n css: {\n container: {},\n },\n };\n const { css } = attributes;\n const { fittingType } = transformsObj;\n // set fitting\n switch (fittingType) {\n case fittingTypes.ORIGINAL_SIZE:\n case fittingTypes.LEGACY_ORIGINAL_SIZE:\n case fittingTypes.LEGACY_STRIP_ORIGINAL_SIZE:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'no-repeat';\n break;\n case fittingTypes.SCALE_TO_FIT:\n case fittingTypes.LEGACY_STRIP_SCALE_TO_FIT:\n css.container.backgroundSize = 'contain';\n css.container.backgroundRepeat = 'no-repeat';\n break;\n case fittingTypes.STRETCH:\n css.container.backgroundSize = '100% 100%';\n css.container.backgroundRepeat = 'no-repeat';\n break;\n case fittingTypes.SCALE_TO_FILL:\n case fittingTypes.LEGACY_STRIP_SCALE_TO_FILL:\n css.container.backgroundSize = 'cover';\n css.container.backgroundRepeat = 'no-repeat';\n break;\n case fittingTypes.TILE_HORIZONTAL:\n case fittingTypes.LEGACY_STRIP_TILE_HORIZONTAL:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat-x';\n break;\n case fittingTypes.TILE_VERTICAL:\n case fittingTypes.LEGACY_STRIP_TILE_VERTICAL:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat-y';\n break;\n case fittingTypes.TILE:\n case fittingTypes.LEGACY_STRIP_TILE:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat';\n break;\n case fittingTypes.LEGACY_STRIP_FIT_AND_TILE:\n css.container.backgroundSize = 'contain';\n css.container.backgroundRepeat = 'repeat';\n break;\n case fittingTypes.FIT_AND_TILE:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat';\n break;\n // Legacy old editor bg types.\n case fittingTypes.LEGACY_BG_FIT_AND_TILE:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat';\n break;\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_HORIZONTAL:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat-x';\n break;\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_VERTICAL:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat-y';\n break;\n case fittingTypes.LEGACY_BG_NORMAL:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'no-repeat';\n break;\n }\n // set alignment\n switch (target.alignment) {\n case alignTypes.CENTER:\n css.container.backgroundPosition = 'center center'; // 50% 50%\n break;\n case alignTypes.LEFT:\n css.container.backgroundPosition = 'left center'; // 0% 50%\n break;\n case alignTypes.RIGHT:\n css.container.backgroundPosition = 'right center'; // 100% 50%\n break;\n case alignTypes.TOP:\n css.container.backgroundPosition = 'center top'; // 50% 0%\n break;\n case alignTypes.BOTTOM:\n css.container.backgroundPosition = 'center bottom'; // 50% 100%\n break;\n case alignTypes.TOP_RIGHT:\n css.container.backgroundPosition = 'right top'; // 100% 0%\n break;\n case alignTypes.TOP_LEFT:\n css.container.backgroundPosition = 'left top'; // 0% 0%\n break;\n case alignTypes.BOTTOM_RIGHT:\n css.container.backgroundPosition = 'right bottom'; // 100% 100%\n break;\n case alignTypes.BOTTOM_LEFT:\n css.container.backgroundPosition = 'left bottom'; // 0% 100%\n break;\n }\n // return background CSS\n return attributes;\n}\nexport { getCSS as get };\n//# sourceMappingURL=backgroundAttributes.js.map","import { alignTypes, fittingTypes } from '../../helpers/imageServiceConstants';\n/**\n * align type to position\n * @param verticalMiddle\n * @param horizontalMiddle\n * @param target\n * @returns {{}}\n */\nfunction alignTypeToPosition(verticalMiddle, horizontalMiddle, target) {\n return {\n [alignTypes.TOP_LEFT]: { top: 0, left: 0 },\n [alignTypes.TOP_RIGHT]: { top: 0, right: 0 },\n [alignTypes.TOP]: { top: 0, left: horizontalMiddle },\n [alignTypes.BOTTOM_LEFT]: { bottom: 0, left: 0 },\n [alignTypes.BOTTOM_RIGHT]: { bottom: 0, right: 0 },\n [alignTypes.BOTTOM]: { bottom: 0, left: horizontalMiddle },\n [alignTypes.RIGHT]: { top: verticalMiddle, right: 0 },\n [alignTypes.LEFT]: { top: verticalMiddle, left: 0 },\n [alignTypes.CENTER]: {\n width: target.width,\n height: target.height,\n objectFit: 'none',\n },\n };\n}\nconst alignTypeToPositionStr = {\n [alignTypes.CENTER]: 'center',\n [alignTypes.TOP]: 'top',\n [alignTypes.TOP_LEFT]: 'top left',\n [alignTypes.TOP_RIGHT]: 'top right',\n [alignTypes.BOTTOM]: 'bottom',\n [alignTypes.BOTTOM_LEFT]: 'bottom left',\n [alignTypes.BOTTOM_RIGHT]: 'bottom right',\n [alignTypes.LEFT]: 'left',\n [alignTypes.RIGHT]: 'right',\n};\nconst aligmentDefaults = {\n position: 'absolute',\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n/**\n * returns image tag CSS data\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformTarget} target\n *\n * @returns {ImageAttributes}\n */\nfunction getCSS(transformsObj, target) {\n const attributes = {\n css: {\n container: {},\n img: {},\n },\n };\n const { css } = attributes;\n const { fittingType } = transformsObj;\n const alignType = target.alignment;\n css.container.position = 'relative';\n switch (fittingType) {\n case fittingTypes.ORIGINAL_SIZE:\n case fittingTypes.LEGACY_ORIGINAL_SIZE:\n if (transformsObj.parts && transformsObj.parts.length) {\n css.img.width = transformsObj.parts[0].width;\n css.img.height = transformsObj.parts[0].height;\n }\n else {\n css.img.width = transformsObj.src.width;\n css.img.height = transformsObj.src.height;\n }\n break;\n case fittingTypes.SCALE_TO_FIT:\n case fittingTypes.LEGACY_FIT_WIDTH:\n case fittingTypes.LEGACY_FIT_HEIGHT:\n case fittingTypes.LEGACY_FULL:\n css.img.width = target.width;\n css.img.height = target.height;\n css.img.objectFit = 'contain';\n css.img.objectPosition =\n alignTypeToPositionStr[alignType] || 'unset';\n break;\n // BG_NORMAL is a sitebackground legacy for original size fitting type.\n // target width and height were modified in transform.js\n case fittingTypes.LEGACY_BG_NORMAL:\n css.img.width = '100%';\n css.img.height = '100%';\n css.img.objectFit = 'none';\n css.img.objectPosition =\n alignTypeToPositionStr[alignType] || 'unset';\n break;\n case fittingTypes.STRETCH:\n css.img.width = target.width;\n css.img.height = target.height;\n css.img.objectFit = 'fill';\n break;\n case fittingTypes.SCALE_TO_FILL:\n css.img.width = target.width;\n css.img.height = target.height;\n css.img.objectFit = 'cover';\n break;\n }\n // set alignment in a private case where the image src is smaller than the image container,\n if (typeof css.img.width === 'number' &&\n typeof css.img.height === 'number' &&\n (css.img.width !== target.width || css.img.height !== target.height)) {\n const verticalMiddle = Math.round((target.height - css.img.height) / 2);\n const horizontalMiddle = Math.round((target.width - css.img.width) / 2);\n Object.assign(css.img, aligmentDefaults, alignTypeToPosition(verticalMiddle, horizontalMiddle, target)[alignType]);\n }\n return attributes;\n}\nexport { getCSS as get };\n//# sourceMappingURL=imgAttributes.js.map","import { fittingTypes, alignTypes, transformTypes, } from '../../helpers/imageServiceConstants';\nimport { getDimension, isImageTransformApplicable, } from '../../helpers/imageServiceUtils';\n/* eslint-disable indent */\n/**\n * get CSS or SVG attributes to be used in the browser\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformTarget} target\n *\n * @returns {SVGImageAttributes}\n */\nfunction getSvgAttr(transformsObj, target) {\n const attributes = {\n css: {\n container: {},\n },\n attr: {\n container: {},\n img: {},\n },\n };\n const { css, attr } = attributes;\n const { fittingType } = transformsObj;\n const alignType = target.alignment;\n const { width: sourceWidth, height: sourceHeight } = transformsObj.src;\n let imageScale;\n css.container.position = 'relative';\n // populate SVG attributes object\n // eslint-disable-line indent\n switch (fittingType) {\n case fittingTypes.ORIGINAL_SIZE:\n case fittingTypes.LEGACY_ORIGINAL_SIZE:\n case fittingTypes.TILE:\n if (transformsObj.parts && transformsObj.parts.length) {\n attr.img.width = transformsObj.parts[0].width;\n attr.img.height = transformsObj.parts[0].height;\n }\n else {\n attr.img.width = sourceWidth;\n attr.img.height = sourceHeight;\n }\n attr.img.preserveAspectRatio = 'xMidYMid slice';\n break;\n case fittingTypes.SCALE_TO_FIT:\n case fittingTypes.LEGACY_FIT_WIDTH:\n case fittingTypes.LEGACY_FIT_HEIGHT:\n case fittingTypes.LEGACY_FULL:\n attr.img.width = '100%';\n attr.img.height = '100%';\n attr.img.transform = '';\n attr.img.preserveAspectRatio = '';\n break;\n case fittingTypes.STRETCH:\n attr.img.width = target.width;\n attr.img.height = target.height;\n attr.img.x = 0;\n attr.img.y = 0;\n attr.img.transform = '';\n attr.img.preserveAspectRatio = 'none';\n break;\n case fittingTypes.SCALE_TO_FILL:\n if (!isImageTransformApplicable(transformsObj.src.id)) {\n imageScale = getDimension(sourceWidth, sourceHeight, target.width, target.height, transformTypes.FILL);\n attr.img.width = imageScale.width;\n attr.img.height = imageScale.height;\n }\n else {\n attr.img.width = target.width;\n attr.img.height = target.height;\n }\n attr.img.x = 0;\n attr.img.y = 0;\n attr.img.transform = '';\n attr.img.preserveAspectRatio = 'xMidYMid slice';\n break;\n }\n // set alignment for cases where the requested src is smaller or bigger than the target element,\n if (typeof attr.img.width === 'number' &&\n typeof attr.img.height === 'number' &&\n (attr.img.width !== target.width || attr.img.height !== target.height)) {\n // x and y to use in svg <pattern> element\n let x = 0;\n let y = 0;\n let right;\n let bottom;\n if (fittingType === fittingTypes.TILE) {\n right = target.width % attr.img.width;\n bottom = target.height % attr.img.height;\n }\n else {\n right = target.width - attr.img.width;\n bottom = target.height - attr.img.height;\n }\n const center = Math.round(right / 2);\n const middle = Math.round(bottom / 2);\n switch (alignType) {\n case alignTypes.TOP_LEFT:\n x = 0;\n y = 0;\n break;\n case alignTypes.TOP:\n x = center;\n y = 0;\n break;\n case alignTypes.TOP_RIGHT:\n x = right;\n y = 0;\n break;\n case alignTypes.LEFT:\n x = 0;\n y = middle;\n break;\n case alignTypes.CENTER:\n x = center;\n y = middle;\n break;\n case alignTypes.RIGHT:\n x = right;\n y = middle;\n break;\n case alignTypes.BOTTOM_LEFT:\n x = 0;\n y = bottom;\n break;\n case alignTypes.BOTTOM:\n x = center;\n y = bottom;\n break;\n case alignTypes.BOTTOM_RIGHT:\n x = right;\n y = bottom;\n break;\n }\n attr.img.x = x;\n attr.img.y = y;\n }\n attr.container.width = target.width;\n attr.container.height = target.height;\n attr.container.viewBox = [0, 0, target.width, target.height].join(' ');\n // return attributes object\n return attributes;\n}\n/* eslint-enable indent */\nexport { getSvgAttr as get };\n//# sourceMappingURL=SVGAttributes.js.map","import { htmlTag } from '../helpers/imageServiceConstants';\nimport { get as backgroundAttributes } from './attributes/backgroundAttributes';\nimport { get as imgAttributes } from './attributes/imgAttributes';\nimport { get as SVGAttributes } from './attributes/SVGAttributes';\n/**\n * get CSS or SVG attributes to be used in the browser\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformTarget} target\n *\n * @returns object\n */\nfunction getAttributes(transformsObj, target) {\n let attributesGetter;\n if (target.htmlTag === htmlTag.BG) {\n attributesGetter = backgroundAttributes;\n }\n else if (target.htmlTag === htmlTag.SVG) {\n attributesGetter = SVGAttributes;\n }\n else {\n attributesGetter = imgAttributes;\n }\n return attributesGetter(transformsObj, target);\n}\nexport { getAttributes };\n//# sourceMappingURL=attributes.js.map","import { getFeature } from './imageServiceFeatureSupportObject';\n/**\n * get a browser detection if running on mobile device\n *\n * @returns {boolean}\n */\nfunction isMobile() {\n return getFeature('isMobile');\n}\nexport { isMobile };\n//# sourceMappingURL=browserFeatureSupport.js.map","import { fittingTypes, transformTypes, alignTypesMap, } from './imageServiceConstants';\nimport { getAlignment, getScaleFactor, getOverlappingRect, getAlignedRect, getTransformData, getFocalPoint, } from './imageServiceUtils';\n/**\n * request analysis, returns parsed transforms object\n * @param {object} transformsObj\n * @param {ImageTransformSource} src\n * @param {ImageTransformTarget} target\n */\nfunction setTransformParts(transformsObj, src, target) {\n let rect;\n // crop source image if needed\n // set crop part and adjust source dimensions\n if (src.crop) {\n rect = getOverlappingRect(src, src.crop);\n if (rect) {\n transformsObj.src.width = rect.width;\n transformsObj.src.height = rect.height;\n transformsObj.src.isCropped = true;\n transformsObj.parts.push(getCropPart(rect));\n }\n }\n // set additional transform part\n switch (transformsObj.fittingType) {\n case fittingTypes.SCALE_TO_FIT:\n case fittingTypes.LEGACY_FIT_WIDTH:\n case fittingTypes.LEGACY_FIT_HEIGHT:\n case fittingTypes.LEGACY_FULL:\n case fittingTypes.FIT_AND_TILE:\n case fittingTypes.LEGACY_BG_FIT_AND_TILE:\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_HORIZONTAL:\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_VERTICAL:\n case fittingTypes.LEGACY_BG_NORMAL:\n // fit\n transformsObj.parts.push(getFitPart(transformsObj, target));\n break;\n case fittingTypes.SCALE_TO_FILL:\n // fill\n transformsObj.parts.push(getFillPart(transformsObj, target));\n break;\n case fittingTypes.STRETCH:\n // stretch\n transformsObj.parts.push(getStretchPart(transformsObj, target));\n break;\n case fittingTypes.TILE_HORIZONTAL:\n case fittingTypes.TILE_VERTICAL:\n case fittingTypes.TILE:\n case fittingTypes.LEGACY_ORIGINAL_SIZE:\n case fittingTypes.ORIGINAL_SIZE:\n // use crop transform\n // if crop of source image was requested adjust cropping rectangle\n rect = getAlignedRect(transformsObj.src, target, transformsObj.focalPoint, target.alignment);\n if (transformsObj.src.isCropped) {\n Object.assign(transformsObj.parts[0], rect);\n // update source width & height accordingly\n transformsObj.src.width = rect.width;\n transformsObj.src.height = rect.height;\n }\n else {\n transformsObj.parts.push(getCropPart(rect));\n }\n break;\n // ---------------------------------------------------------------------------------------\n // handles a legacy bug on bgImageStrip, background html tag\n // component Full Width Strip stored incorrect image source width and height\n // ---------------------------------------------------------------------------------------\n case fittingTypes.LEGACY_STRIP_TILE_HORIZONTAL:\n case fittingTypes.LEGACY_STRIP_TILE_VERTICAL:\n case fittingTypes.LEGACY_STRIP_TILE:\n case fittingTypes.LEGACY_STRIP_ORIGINAL_SIZE:\n // crop request of source image is not supported\n // use legacy crop\n transformsObj.parts.push(getLegacyCropPart(target));\n break;\n case fittingTypes.LEGACY_STRIP_SCALE_TO_FIT:\n case fittingTypes.LEGACY_STRIP_FIT_AND_TILE:\n // legacy fit\n transformsObj.parts.push(getLegacyFitPart(target));\n break;\n case fittingTypes.LEGACY_STRIP_SCALE_TO_FILL:\n // legacy fill\n transformsObj.parts.push(getLegacyFillPart(target));\n break;\n }\n}\n/**\n * returns fit part of the image transform uri\n * @param {object} transformsObj\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformFitPart}\n */\nfunction getFitPart(transformsObj, target) {\n // calculate the transformed image size needed\n const transformedData = getTransformData(transformsObj.src.width, transformsObj.src.height, transformTypes.FIT, target, transformsObj.devicePixelRatio, transformsObj.upscaleMethod);\n const isMissingSrcDimensions = !transformsObj.src.width || !transformsObj.src.height;\n const transformType = isMissingSrcDimensions\n ? transformTypes.FIT\n : transformTypes.FILL;\n // return fit transform data\n return {\n transformType,\n width: Math.round(transformedData.width),\n height: Math.round(transformedData.height),\n alignment: alignTypesMap.center,\n upscale: transformedData.scaleFactor > 1,\n forceUSM: transformedData.forceUSM,\n scaleFactor: transformedData.scaleFactor,\n cssUpscaleNeeded: transformedData.cssUpscaleNeeded,\n upscaleMethodValue: transformedData.upscaleMethodValue,\n };\n}\n/**\n * returns fill part of the image transform uri\n * @param {ImageTransformObject} transformsObj\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformFillPart}\n */\nfunction getFillPart(transformsObj, target) {\n // calculate the transformed image size needed\n const transformedData = getTransformData(transformsObj.src.width, transformsObj.src.height, transformTypes.FILL, target, transformsObj.devicePixelRatio, transformsObj.upscaleMethod);\n const focalPoint = getFocalPoint(transformsObj.focalPoint);\n const transformType = focalPoint\n ? transformTypes.FILL_FOCAL\n : transformTypes.FILL;\n return {\n transformType,\n width: Math.round(transformedData.width),\n height: Math.round(transformedData.height),\n alignment: getAlignment(target),\n focalPointX: focalPoint && focalPoint.x,\n focalPointY: focalPoint && focalPoint.y,\n upscale: transformedData.scaleFactor > 1,\n forceUSM: transformedData.forceUSM,\n scaleFactor: transformedData.scaleFactor,\n cssUpscaleNeeded: transformedData.cssUpscaleNeeded,\n upscaleMethodValue: transformedData.upscaleMethodValue,\n };\n}\n/**\n * returns fill part of the image transform uri\n * @param {ImageTransformObject} transformsObj\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformFitPart}\n */\nfunction getStretchPart(transformsObj, target) {\n // stretch data\n const scaleFactor = getScaleFactor(transformsObj.src.width, transformsObj.src.height, target.width, target.height, transformTypes.FILL);\n const clonedTarget = { ...target };\n clonedTarget.width = transformsObj.src.width * scaleFactor;\n clonedTarget.height = transformsObj.src.height * scaleFactor;\n // return stretch part\n return getFitPart(transformsObj, clonedTarget);\n}\n/**\n * returns crop part of the image transform uri\n * @param {{x: number, y: number, width: number, height: number}} rect x, y, width, height\n *\n * @returns {TransformCropPart}\n */\nfunction getCropPart(rect) {\n return {\n transformType: transformTypes.CROP,\n x: Math.round(rect.x),\n y: Math.round(rect.y),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n upscale: false,\n forceUSM: false,\n scaleFactor: 1,\n cssUpscaleNeeded: false,\n };\n}\n// ---------------------------------------------------------------------------------------\n// handles a legacy bug on bgImageStrip, background html tag\n// component Full Width Strip stored incorrect image source width and height\n// ---------------------------------------------------------------------------------------\n/**\n * returns fit part of the image transform uri\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformLegacyFitPart}\n */\nfunction getLegacyFitPart(target) {\n return {\n transformType: transformTypes.FIT,\n width: Math.round(target.width),\n height: Math.round(target.height),\n upscale: false,\n forceUSM: true,\n scaleFactor: 1,\n cssUpscaleNeeded: false,\n };\n}\n/**\n * returns fill part of the image transform uri\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformLegacyFillPart}\n */\nfunction getLegacyFillPart(target) {\n return {\n transformType: transformTypes.LEGACY_FILL,\n width: Math.round(target.width),\n height: Math.round(target.height),\n alignment: getAlignment(target),\n upscale: false,\n forceUSM: true,\n scaleFactor: 1,\n cssUpscaleNeeded: false,\n };\n}\n/**\n * returns legacy crop part of the image transform uri\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformLegacyCropPart}\n */\nfunction getLegacyCropPart(target) {\n return {\n transformType: transformTypes.LEGACY_CROP,\n width: Math.round(target.width),\n height: Math.round(target.height),\n alignment: getAlignment(target),\n upscale: false,\n forceUSM: false,\n scaleFactor: 1,\n cssUpscaleNeeded: false,\n };\n}\nexport { setTransformParts };\n//# sourceMappingURL=imageTransformParts.js.map","import { last } from './utils';\nimport { getPreferredImageQuality, roundToFixed } from './imageServiceUtils';\nimport { defaultUSM, fileType, imageFilters, transformTypes, } from './imageServiceConstants';\n/**\n * returns image filters part of the image transform uri\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformOptions} [options]\n */\nfunction setTransformOptions(transformsObj, options) {\n options = options || {};\n // options - general\n transformsObj.quality = getQuality(transformsObj, options);\n transformsObj.progressive = getProgressive(options);\n transformsObj.watermark = getWatermark(options);\n transformsObj.autoEncode = options.autoEncode ?? true;\n transformsObj.encoding = options?.encoding;\n // options - filters & adjustments\n transformsObj.unsharpMask = getUnsharpMask(transformsObj, options);\n transformsObj.filters = getFilters(options);\n}\n/**\n *\n * @param {ImageTransformOptions} options\n * @returns {string}\n */\nfunction getWatermark(options) {\n return options.watermark;\n}\n/**\n * returns progressive if required\n * @param {ImageTransformOptions} options\n *\n * @returns {boolean}\n */\nfunction getProgressive(options) {\n return options.progressive !== false;\n}\n/**\n * returns image filters part of the image transform uri\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformOptions} options\n *\n * @returns {number}\n */\nfunction getQuality(transformsObj, options) {\n const isPNG = transformsObj.fileType === fileType.PNG;\n const isJPG = transformsObj.fileType === fileType.JPG;\n const isWEBP = transformsObj.fileType === fileType.WEBP;\n const isAVIF = transformsObj.fileType === fileType.AVIF;\n const isQualitySupported = isJPG || isPNG || isWEBP || isAVIF;\n if (isQualitySupported) {\n const transformData = last(transformsObj.parts);\n const defaultQuality = getPreferredImageQuality(transformData.width, transformData.height);\n let quality = options.quality && options.quality >= 5 && options.quality <= 90\n ? options.quality\n : defaultQuality;\n // increase quality by 5 for webp images\n quality = isPNG ? quality + 5 : quality;\n return quality;\n }\n // quality not supported\n return 0;\n}\n/**\n * returns the desired transformed image filters\n * @param {ImageTransformOptions} options\n *\n * @returns {object}\n */\nfunction getFilters(options) {\n const filterOptions = options.filters || {};\n const filters = {};\n // contrast\n if (isValidImageFilter(filterOptions[imageFilters.CONTRAST], -100, 100)) {\n filters[imageFilters.CONTRAST] = filterOptions[imageFilters.CONTRAST];\n }\n // brightness\n if (isValidImageFilter(filterOptions[imageFilters.BRIGHTNESS], -100, 100)) {\n filters[imageFilters.BRIGHTNESS] = filterOptions[imageFilters.BRIGHTNESS];\n }\n // saturation\n if (isValidImageFilter(filterOptions[imageFilters.SATURATION], -100, 100)) {\n filters[imageFilters.SATURATION] = filterOptions[imageFilters.SATURATION];\n }\n // hue\n if (isValidImageFilter(filterOptions[imageFilters.HUE], -180, 180)) {\n filters[imageFilters.HUE] = filterOptions[imageFilters.HUE];\n }\n // blur\n if (isValidImageFilter(filterOptions[imageFilters.BLUR], 0, 100)) {\n filters[imageFilters.BLUR] = filterOptions[imageFilters.BLUR];\n }\n return filters;\n}\n/**\n * indicates if requested filter value is valid\n * @param {number|undefined} filterValue filter's value\n * @param {number} minValue min range\n * @param {number} maxValue max range\n *\n * @returns {boolean}\n */\nfunction isValidImageFilter(filterValue, minValue, maxValue) {\n // check if filter name and filter values range valid\n return (typeof filterValue === 'number' &&\n !isNaN(filterValue) &&\n filterValue !== 0 &&\n filterValue >= minValue &&\n filterValue <= maxValue);\n}\n/**\n * returns the desired transformed image unSharpMask values\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformOptions} options\n *\n * @returns {object}\n */\nfunction getUnsharpMask(transformsObj, options) {\n // If options.unsharpMask is a valid value, use it\n if (isUSMValid(options.unsharpMask)) {\n // If we got usm, change values to have trailing zeros (.00), else return undefined\n return {\n radius: roundToFixed(options.unsharpMask?.radius, 2),\n amount: roundToFixed(options.unsharpMask?.amount, 2),\n threshold: roundToFixed(options.unsharpMask?.threshold, 2),\n };\n // if options.unsharpMask is not all zeros and not valid and usm should be used, use default\n }\n else if (!isZeroUSM(options.unsharpMask) && isUSMNeeded(transformsObj)) {\n return defaultUSM;\n }\n return;\n}\n/**\n * indicates if usm is needed\n * @param {ImageTransformObject} transformsObj transform parts object\n *\n * @returns {boolean}\n */\nfunction isUSMNeeded(transformsObj) {\n // ---------------------------------------------------------------------------------------\n // do not apply usm if transformed image width & height is same as source image or larger\n // and no force usm is desired\n // and transform type is not fit\n // ---------------------------------------------------------------------------------------\n const transformPart = last(transformsObj.parts);\n const upscale = transformPart.scaleFactor >= 1;\n // return if usm is needed\n return (!upscale ||\n transformPart.forceUSM ||\n transformPart.transformType === transformTypes.FIT);\n}\n/**\n * indicates if all usm values are presented and in range\n * @param {OptionUnsharpMask|undefined} usm unsharp mask\n *\n * @returns {boolean}\n */\nfunction isUSMValid(usm) {\n usm = usm || {};\n const radius = typeof usm.radius === 'number' &&\n !isNaN(usm.radius) &&\n usm.radius >= 0.1 &&\n usm.radius <= 500;\n const amount = typeof usm.amount === 'number' &&\n !isNaN(usm.amount) &&\n usm.amount >= 0 &&\n usm.amount <= 10;\n const threshold = typeof usm.threshold === 'number' &&\n !isNaN(usm.threshold) &&\n usm.threshold >= 0 &&\n usm.threshold <= 255;\n // return is a valid USM data\n return radius && amount && threshold;\n}\n/**\n * indicates if all usm values are presented and are zero. an explicit request to not apply usm\n * @param {OptionUnsharpMask|undefined} usm unsharp mask\n *\n * @returns {boolean}\n */\nfunction isZeroUSM(usm) {\n usm = usm || {};\n return (typeof usm.radius === 'number' &&\n !isNaN(usm.radius) &&\n usm.radius === 0 &&\n typeof usm.amount === 'number' &&\n !isNaN(usm.amount) &&\n usm.amount === 0 &&\n typeof usm.threshold === 'number' &&\n !isNaN(usm.threshold) &&\n usm.threshold === 0);\n}\nexport { setTransformOptions };\n//# sourceMappingURL=imageTransformOptions.js.map","import { isSEOBot, getFileType, getFileName, getFileExtension, getDevicePixelRatio, getUpscaleString, isImageTransformApplicable, imageIsAnimated, } from '../helpers/imageServiceUtils';\nimport { isMobile } from '../helpers/browserFeatureSupport';\nimport { setTransformParts } from '../helpers/imageTransformParts';\nimport { setTransformOptions } from '../helpers/imageTransformOptions';\nimport { MOBILE_MAX_BG_SITE_LEGACY_WIDTH, DSKTP_MAX_BG_SITE_LEGACY_WIDTH, MOBILE_MAX_BG_SITE_LEGACY_HEIGHT, DSKTP_MAX_BG_SITE_LEGACY_HEIGHT, fittingTypes, } from '../helpers/imageServiceConstants';\n/**\n * returns image transform data\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {ImageTransformTarget} target target component\n * @param {ImageTransformOptions} [options] transform options\n *\n * @returns {ImageTransformObject}\n */\nfunction getTransform(fittingType, src, target, options) {\n const _isSEOBot = isSEOBot(options);\n const fileType = getFileType(src.id);\n const fileName = getFileName(src.id, src.name);\n const devicePixelRatio = _isSEOBot ? 1 : getDevicePixelRatio(target);\n const fileExtension = getFileExtension(src.id);\n const preferredExtension = fileExtension;\n const canTransformImage = isImageTransformApplicable(src.id, options?.hasAnimation, options?.allowAnimatedTransform, options?.allowFullGIFTransformation);\n const transformsObj = {\n fileName,\n fileExtension,\n fileType,\n fittingType,\n preferredExtension,\n src: {\n id: src.id,\n width: src.width,\n height: src.height,\n isCropped: false,\n isAnimated: imageIsAnimated(src.id, options?.hasAnimation),\n },\n focalPoint: {\n x: src.focalPoint && src.focalPoint.x,\n y: src.focalPoint && src.focalPoint.y,\n },\n parts: [],\n // options - general\n devicePixelRatio,\n quality: 0,\n upscaleMethod: getUpscaleString(options),\n progressive: true,\n watermark: '',\n unsharpMask: {},\n filters: {},\n transformed: canTransformImage,\n allowFullGIFTransformation: options?.allowFullGIFTransformation,\n isPlaceholderFlow: options?.isPlaceholderFlow,\n };\n if (canTransformImage) {\n setTransformParts(transformsObj, src, target);\n setTransformOptions(transformsObj, options);\n }\n return transformsObj;\n}\n/**\n * returns target data\n * handle legacy BG site if needed\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {ImageTransformTarget} target target component\n *\n * @returns {Object}\n */\nfunction getTarget(fittingType, src, target) {\n const targetObj = { ...target };\n const _isMobile = isMobile();\n // handle site BG legacy fitting types (desktop & mobile)\n switch (fittingType) {\n case fittingTypes.LEGACY_BG_FIT_AND_TILE:\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_HORIZONTAL:\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_VERTICAL:\n case fittingTypes.LEGACY_BG_NORMAL:\n const maxBGSiteLegacyWidth = _isMobile\n ? MOBILE_MAX_BG_SITE_LEGACY_WIDTH\n : DSKTP_MAX_BG_SITE_LEGACY_WIDTH;\n const maxBGSiteLegacyHeight = _isMobile\n ? MOBILE_MAX_BG_SITE_LEGACY_HEIGHT\n : DSKTP_MAX_BG_SITE_LEGACY_HEIGHT;\n targetObj.width = Math.min(maxBGSiteLegacyWidth, src.width);\n targetObj.height = Math.min(maxBGSiteLegacyHeight, Math.round(targetObj.width / (src.width / src.height)));\n // for legacy types force htmlTag='bg' and devicePixelRatio=1\n targetObj.pixelAspectRatio = 1;\n }\n return targetObj;\n}\nexport { getTransform, getTarget };\n//# sourceMappingURL=transform.js.map","import { template } from '../helpers/utils';\nimport { imageFilters, transformTypes, API_VERSION, fileType, encodingTypes, } from '../helpers/imageServiceConstants';\nimport { isGIF } from '../helpers/imageServiceUtils';\n// transform templates\nconst fitTemplate = template `fit/w_${'width'},h_${'height'}`;\nconst fillTemplate = template `fill/w_${'width'},h_${'height'},al_${'alignment'}`;\nconst fillFocalTemplate = template `fill/w_${'width'},h_${'height'},fp_${'focalPointX'}_${'focalPointY'}`;\nconst cropTemplate = template `crop/x_${'x'},y_${'y'},w_${'width'},h_${'height'}`;\n// legacy templates\nconst legacyCropTemplate = template `crop/w_${'width'},h_${'height'},al_${'alignment'}`;\nconst legacyFillTemplate = template `fill/w_${'width'},h_${'height'},al_${'alignment'}`;\n// upscale template\nconst upscaleTemplate = template `,lg_${'upscaleMethodValue'}`;\n// options templates\nconst qualityTemplate = template `,q_${'quality'}`;\nconst qualityAutoTemplate = template `,quality_auto`;\nconst unSharpMaskTemplate = template `,usm_${'radius'}_${'amount'}_${'threshold'}`;\nconst nonProgressiveTemplate = template `,bl`;\nconst watermarkTemplate = template `,wm_${'watermark'}`;\nconst filterTemplatesMap = {\n [imageFilters.CONTRAST]: template `,con_${'contrast'}`,\n [imageFilters.BRIGHTNESS]: template `,br_${'brightness'}`,\n [imageFilters.SATURATION]: template `,sat_${'saturation'}`,\n [imageFilters.HUE]: template `,hue_${'hue'}`,\n [imageFilters.BLUR]: template `,blur_${'blur'}`,\n};\nconst autoEncodeTemplate = template `,enc_auto`;\nconst AVIFEncodeTemplate = template `,enc_avif`;\nconst pAVIFEncodeTemplate = template `,enc_pavif`;\nconst animatedTransformTemplate = template `,pstr`;\nconst animatedGIFTransformTemplate = template `,anm_-1`;\n/**\n * returns image transform uri\n * @param {object} transformsObj\n *\n * @returns {string}\n */\nfunction getImageURI(transformsObj) {\n // construct image transforms\n const transformsObjStrArr = [];\n // construct transform\n transformsObj.parts.forEach((transformPart) => {\n switch (transformPart.transformType) {\n case transformTypes.CROP:\n transformsObjStrArr.push(cropTemplate(transformPart));\n break;\n case transformTypes.LEGACY_CROP:\n transformsObjStrArr.push(legacyCropTemplate(transformPart));\n break;\n case transformTypes.LEGACY_FILL:\n let legacyFillStr = legacyFillTemplate(transformPart);\n if (transformPart.upscale) {\n legacyFillStr += upscaleTemplate(transformPart);\n }\n transformsObjStrArr.push(legacyFillStr);\n break;\n case transformTypes.FIT:\n let fitStr = fitTemplate(transformPart);\n if (transformPart.upscale) {\n fitStr += upscaleTemplate(transformPart);\n }\n transformsObjStrArr.push(fitStr);\n break;\n case transformTypes.FILL:\n let fillStr = fillTemplate(transformPart);\n if (transformPart.upscale) {\n fillStr += upscaleTemplate(transformPart);\n }\n transformsObjStrArr.push(fillStr);\n break;\n case transformTypes.FILL_FOCAL:\n let fillFocalStr = fillFocalTemplate(transformPart);\n if (transformPart.upscale) {\n fillFocalStr += upscaleTemplate(transformPart);\n }\n transformsObjStrArr.push(fillFocalStr);\n break;\n }\n });\n let transformsStr = transformsObjStrArr.join('/');\n // construct transform options\n // quality\n if (transformsObj.quality) {\n transformsStr += qualityTemplate(transformsObj);\n }\n // un-sharp mask\n if (transformsObj.unsharpMask) {\n transformsStr += unSharpMaskTemplate(transformsObj.unsharpMask);\n }\n // progressive\n if (!transformsObj.progressive) {\n transformsStr += nonProgressiveTemplate(transformsObj);\n }\n // watermark\n if (transformsObj.watermark) {\n transformsStr += watermarkTemplate(transformsObj);\n }\n // filters\n if (transformsObj.filters) {\n transformsStr += Object.keys(transformsObj.filters)\n .map((filterName) => filterTemplatesMap[filterName](transformsObj.filters))\n .join('');\n }\n // encoding\n if (transformsObj.fileType !== fileType.GIF) {\n if (transformsObj.encoding === encodingTypes.AVIF) {\n transformsStr += AVIFEncodeTemplate(transformsObj);\n transformsStr += qualityAutoTemplate(transformsObj);\n }\n else if (transformsObj.encoding === encodingTypes.PAVIF) {\n transformsStr += pAVIFEncodeTemplate(transformsObj);\n transformsStr += qualityAutoTemplate(transformsObj);\n }\n else if (transformsObj.autoEncode) {\n transformsStr += autoEncodeTemplate(transformsObj);\n }\n }\n // animated images transforms\n if (transformsObj.src?.isAnimated && transformsObj.transformed) {\n const isGif = isGIF(transformsObj.src.id);\n const isPlaceholderFlow = transformsObj.isPlaceholderFlow === true;\n const allowFullGIFTransformation = transformsObj.allowFullGIFTransformation === true;\n if (isPlaceholderFlow) {\n transformsStr += animatedTransformTemplate(transformsObj);\n }\n else if (isGif && allowFullGIFTransformation) {\n // Non-placeholder flow + GIF + flag enabled: use anm_-1\n transformsStr += animatedGIFTransformTemplate(transformsObj);\n }\n }\n // image url string\n return `${transformsObj.src.id}/${API_VERSION}/${transformsStr}/${transformsObj.fileName}.${transformsObj.preferredExtension}`;\n}\nexport { getImageURI };\n//# sourceMappingURL=transforms.js.map","import { isAVIF, isImageTransformApplicable, isWEBP, } from '../helpers/imageServiceUtils';\nimport { getImageURI } from '../engines/transforms';\nimport { getTransform } from './transform';\n/**\n * returns image transform uri\n *\n * @param {string} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {ImageTransformTarget} target target component\n * @param {ImageTransformOptions} options transform options\n * @param {Object} [transformObj] transform data object to use\n *\n * @returns {string}\n */\nfunction getURI(fittingType, src, target, options = {}, transformObj) {\n // check if image transformation is applicable (e.g. .gif, .wix_mp)\n if (isImageTransformApplicable(src.id, options?.hasAnimation, options?.allowAnimatedTransform, options?.allowFullGIFTransformation)) {\n if (isWEBP(src.id) || isAVIF(src.id)) {\n // exclude alignment, focalPoint and crop from webp and avif transformation in order not to break webp or avif images before transformation was enabled\n const { alignment, ...transformTarget } = target;\n src.focalPoint = { x: undefined, y: undefined };\n delete src?.crop;\n transformObj = getTransform(fittingType, src, transformTarget, options);\n }\n else {\n transformObj =\n transformObj || getTransform(fittingType, src, target, options);\n }\n // set the uri property\n return getImageURI(transformObj);\n }\n return src.id;\n}\nexport { getURI };\n//# sourceMappingURL=uri.js.map","import { getURI } from './uri';\nfunction getSrcset(fittingType, src, target, options, data) {\n const dpr = target.pixelAspectRatio || 1;\n return {\n dpr: [\n `${dpr === 1\n ? data.uri\n : getURI(fittingType, src, {\n ...target,\n pixelAspectRatio: 1,\n }, options)} 1x`,\n `${dpr === 2\n ? data.uri\n : getURI(fittingType, src, {\n ...target,\n pixelAspectRatio: 2,\n }, options)} 2x`,\n ],\n };\n}\nexport { getSrcset };\n//# sourceMappingURL=srcset.js.map","import { alignTypes, fittingTypes } from './imageServiceConstants';\nimport { isPNG } from './imageServiceUtils';\nconst ALIGN_TYPE_TO_POSITION = {\n [alignTypes.CENTER]: '50% 50%',\n [alignTypes.TOP_LEFT]: '0% 0%',\n [alignTypes.TOP_RIGHT]: '100% 0%',\n [alignTypes.TOP]: '50% 0%',\n [alignTypes.BOTTOM_LEFT]: '0% 100%',\n [alignTypes.BOTTOM_RIGHT]: '100% 100%',\n [alignTypes.BOTTOM]: '50% 100%',\n [alignTypes.RIGHT]: '100% 50%',\n [alignTypes.LEFT]: '0% 50%',\n};\nconst POSITION_TO_ALIGN_TYPE = Object.entries(ALIGN_TYPE_TO_POSITION).reduce((acc, [align, position]) => {\n acc[position] = align;\n return acc;\n}, {});\nconst TILE_FITTING_TYPES = [\n fittingTypes.TILE,\n fittingTypes.TILE_HORIZONTAL,\n fittingTypes.TILE_VERTICAL,\n fittingTypes.LEGACY_BG_FIT_AND_TILE,\n fittingTypes.LEGACY_BG_FIT_AND_TILE_HORIZONTAL,\n fittingTypes.LEGACY_BG_FIT_AND_TILE_VERTICAL,\n];\nconst NON_SCALING_FITTING_TYPES = [\n fittingTypes.LEGACY_ORIGINAL_SIZE,\n fittingTypes.ORIGINAL_SIZE,\n fittingTypes.LEGACY_BG_NORMAL,\n];\nfunction getIsFakeTile(fittingType, src, { width: targetWidth, height: targetHeight, }) {\n return (fittingType === fittingTypes.TILE &&\n src.width > targetWidth &&\n src.height > targetHeight);\n}\n/**\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {Dimensions} target target container dimensions\n * @param {boolean} [isSEOBot=false] whether it is a render for a bot request\n * @returns {Dimensions} scaled dimensions\n */\nfunction getScaledDimensions(fittingType, src, { width, height }, isSEOBot = false) {\n if (isSEOBot) {\n return { width, height };\n }\n const isScalable = !NON_SCALING_FITTING_TYPES.includes(fittingType);\n const isFakeTile = getIsFakeTile(fittingType, src, { width, height });\n const isTile = !isFakeTile && TILE_FITTING_TYPES.includes(fittingType);\n const _width = isTile ? src.width : width;\n const _height = isTile ? src.height : height;\n const scaleFactor = isScalable\n ? getScaleFactorByWidth(_width, isPNG(src.id))\n : 1;\n return {\n width: isFakeTile ? 1920 : _width * scaleFactor,\n height: _height * scaleFactor,\n };\n}\n/**\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {boolean} isFakeTile\n * @returns {string} fittingType\n */\nfunction getConvertedFitting(fittingType, isFakeTile) {\n const isTile = TILE_FITTING_TYPES.includes(fittingType) && !isFakeTile;\n const isFill = fittingType === fittingTypes.SCALE_TO_FILL;\n return isFill || isTile ? fittingTypes.SCALE_TO_FIT : fittingType;\n}\n/**\n *\n * @param {ImageTransformSource} src source image\n * @param {number || ''} width\n * @param {number || ''} height\n * @returns {Dimensions} width, height\n */\nfunction validateTargetDimensions(src, { width, height }) {\n if (!width || !height) {\n const _width = width || Math.min(980, src.width);\n const heightRatio = _width / src.width;\n return {\n width: _width,\n height: height || src.height * heightRatio,\n };\n }\n return { width, height };\n}\n/**\n *\n * @param {number} width\n * @param {boolean} isHighQuality\n * @return {number}\n */\nfunction getScaleFactorByWidth(width, isHighQuality) {\n if (width > 900) {\n return isHighQuality ? 0.05 : 0.15;\n }\n else if (width > 500) {\n return isHighQuality ? 0.1 : 0.18;\n }\n else if (width > 200) {\n return 0.25;\n }\n return 1;\n}\n/**\n *\n * @param {number} width\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {boolean} isSEOBot\n * @return {number}\n */\nfunction getBlurValue(width, fittingType, isSEOBot) {\n if (isSEOBot) {\n return 0;\n }\n if (TILE_FITTING_TYPES.includes(fittingType)) {\n return 1;\n }\n if (width > 200) {\n return 2;\n }\n return 3;\n}\n/**\n *\n * @param {FittingType} fittingType\n * @param {ImageTransformSource} src source image\n * @param {{width?: number; height?: number}} target target element\n * @param {string} [alignment='center']\n * @returns {{img}, {container}}\n */\nfunction getCSSOverrides(fittingType, src, target, alignment = 'center') {\n const returnValue = {\n img: {},\n container: {},\n };\n if (fittingType === fittingTypes.SCALE_TO_FILL) {\n const alignTypeFromFocalPoint = src.focalPoint && convertFocalPointToAlignType(src.focalPoint);\n const alignType = alignTypeFromFocalPoint || alignment;\n if (src.focalPoint && !alignTypeFromFocalPoint) {\n returnValue.img = {\n objectPosition: convertFillFocalToPosition(src, target, src.focalPoint),\n };\n }\n else {\n returnValue.img = {\n objectPosition: ALIGN_TYPE_TO_POSITION[alignType],\n };\n }\n }\n else if ([fittingTypes.LEGACY_ORIGINAL_SIZE, fittingTypes.ORIGINAL_SIZE].includes(fittingType)) {\n returnValue.img = {\n objectFit: 'none',\n top: 'auto',\n left: 'auto',\n right: 'auto',\n bottom: 'auto',\n };\n }\n else if (TILE_FITTING_TYPES.includes(fittingType)) {\n returnValue.container = {\n backgroundSize: `${src.width}px ${src.height}px`,\n };\n }\n return returnValue;\n}\n/**\n * Try to convert focal point value to 9 grid alignment value\n *\n * @param {Point} focalPoint\n * @returns {AlignType} align type\n */\nfunction convertFocalPointToAlignType(focalPoint) {\n const position = `${focalPoint.x}% ${focalPoint.y}%`;\n return POSITION_TO_ALIGN_TYPE[position] || '';\n}\n/**\n *\n * @param {Dimensions} src source dimensions\n * @param {width?: number; height?: number} target target dimensions\n * @param {Point} focalPoint x/y as 0-100 percentages\n * @returns {string} in 'x% y%' format\n */\nfunction convertFillFocalToPosition(src, target, focalPoint) {\n const { width: sW, height: sH } = src;\n const { width: tW, height: tH } = target;\n const { x: fpX, y: fpY } = focalPoint;\n if (!tW || !tH) {\n return `${fpX}% ${fpY}%`;\n }\n const fillScaleFactor = Math.max(tW / sW, tH / sH);\n const imgScaledW = sW * fillScaleFactor;\n const imgScaledH = sH * fillScaleFactor;\n const x = Math.max(0, Math.min(imgScaledW - tW, imgScaledW * (fpX / 100) - tW / 2));\n const y = Math.max(0, Math.min(imgScaledH - tH, imgScaledH * (fpY / 100) - tH / 2));\n const posX = x && Math.floor((x / (imgScaledW - tW)) * 100);\n const posY = y && Math.floor((y / (imgScaledH - tH)) * 100);\n return `${posX}% ${posY}%`;\n}\nexport { getBlurValue, getConvertedFitting, getCSSOverrides, getIsFakeTile, getScaledDimensions, validateTargetDimensions, };\n//# sourceMappingURL=imagePlaceholderUtils.js.map","import { emptyData } from '../../helpers/imageServiceConstants';\nimport { isImageTransformApplicable, isValidRequest, } from '../../helpers/imageServiceUtils';\nimport { getAttributes } from '../../engines/attributes';\nimport { getTransform, getTarget } from '../transform';\nimport { getURI } from '../uri';\nimport { getSrcset } from '../srcset';\nimport { getScaledDimensions, getBlurValue, getCSSOverrides, validateTargetDimensions, getIsFakeTile, getConvertedFitting, } from '../../helpers/imagePlaceholderUtils';\nconst PLACEHOLDER_IMG_CSS_OVERRIDES = { width: '100%', height: '100%' };\n/**\n * returns image _placeholder_ transform uri and the\n * needed css for alignment and positioning\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src image\n * @param {ImagePlaceholderTransformTarget} target target dimensions\n * @param {ImageTransformOptions} [options] environment / transformation options\n *\n * @returns {ImageDataAttributes}\n */\nfunction getPlaceholder(fittingType, src, target, options = {}) {\n const { autoEncode = true, isSEOBot, shouldLoadHQImage, hasAnimation, allowAnimatedTransform, encoding, } = options;\n if (!isValidRequest(fittingType, src, target)) {\n return emptyData;\n }\n const IS_IN_PLACEHOLDER_FLOW = true;\n // In placeholder flow, allow animated transforms by default unless explicitly disabled\n const shouldAllowAnimatedTransformInPlaceholder = allowAnimatedTransform ?? IS_IN_PLACEHOLDER_FLOW;\n const canTransformImage = isImageTransformApplicable(src.id, hasAnimation, shouldAllowAnimatedTransformInPlaceholder);\n if (!canTransformImage || shouldLoadHQImage) {\n /* Either:\n * 1. Transform isn't applicable so target is original size applied with fluid CSS\n * 2. User asked for an HQ image, so they must have supplied target size (width/height)\n */\n return getData(fittingType, src, target, {\n ...options,\n autoEncode,\n useSrcset: canTransformImage,\n });\n }\n // If there aren't dimensions, we make them up\n const newTarget = {\n ...target,\n ...validateTargetDimensions(src, target),\n };\n const { alignment, htmlTag } = newTarget;\n const isFakeTile = getIsFakeTile(fittingType, src, newTarget);\n const scaledDimensions = getScaledDimensions(fittingType, src, newTarget, isSEOBot);\n const blur = getBlurValue(newTarget.width, fittingType, isSEOBot);\n const convertedFittingType = getConvertedFitting(fittingType, isFakeTile);\n const overrideCSS = getCSSOverrides(fittingType, src, target, alignment);\n const { uri } = getData(convertedFittingType, src, {\n ...scaledDimensions,\n alignment,\n htmlTag,\n }, {\n autoEncode,\n filters: blur ? { blur } : {},\n hasAnimation,\n allowAnimatedTransform: shouldAllowAnimatedTransformInPlaceholder,\n encoding,\n isPlaceholderFlow: IS_IN_PLACEHOLDER_FLOW,\n });\n const { attr = {}, css } = getData(fittingType, src, {\n ...newTarget,\n alignment,\n htmlTag,\n }, {});\n css.img = css.img || {};\n css.container = css.container || {};\n Object.assign(css.img, overrideCSS.img, PLACEHOLDER_IMG_CSS_OVERRIDES);\n Object.assign(css.container, overrideCSS.container);\n return { uri, css, attr, transformed: true };\n}\n/**\n * returns image transform uri and the\n * needed css for alignment and positioning\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {ImageTransformTarget} target target component\n * @param {ImageTransformOptions} [options] transform options\n *\n * @returns {ImageDataAttributes}\n */\nfunction getData(fittingType, src, target, options) {\n let data = {};\n // check if valid request\n if (isValidRequest(fittingType, src, target)) {\n // handle site BG legacy fitting types if needed\n const targetObj = getTarget(fittingType, src, target);\n // parse request and create working OBJ\n const transformObj = getTransform(fittingType, src, targetObj, options);\n data.uri = getURI(fittingType, src, targetObj, options, transformObj);\n if (options?.useSrcset) {\n data.srcset = getSrcset(fittingType, src, targetObj, options, data);\n }\n // set the CSS or the SVG property\n Object.assign(data, getAttributes(transformObj, targetObj), {\n transformed: transformObj.transformed,\n });\n }\n else {\n // empty data\n data = emptyData;\n }\n // return data to be used in html\n return data;\n}\nexport { getData, getPlaceholder };\n//# sourceMappingURL=api.js.map","import { fittingTypes, alignTypes, htmlTag, upscaleMethods, } from '../../helpers/imageServiceConstants';\nimport { isValidRequest } from '../../helpers/imageServiceUtils';\nimport { populateGlobalFeatureSupport } from '../../helpers/populateFeatureSupport';\nimport { getTarget, getTransform } from '../transform';\nimport { getURI } from '../uri';\n/**\n * returns image transform uri\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {ImageTransformTarget} target target component\n * @param {ImageTransformOptions} [options] transform options\n *\n * @returns {{uri: string}}\n */\nfunction getData(fittingType, src, target, options) {\n // check if valid request\n if (isValidRequest(fittingType, src, target)) {\n // handle site BG legacy fitting types\n const targetObj = getTarget(fittingType, src, target);\n // parse request and create working OBJ\n const transformObj = getTransform(fittingType, src, targetObj, options);\n return {\n uri: getURI(fittingType, src, targetObj, options || {}, transformObj),\n };\n }\n return { uri: '' };\n}\nexport { populateGlobalFeatureSupport, getData, fittingTypes, alignTypes, htmlTag, upscaleMethods, };\n//# sourceMappingURL=index.js.map","import { getData, populateGlobalFeatureSupport } from '../api/uri/index';\nimport { fittingTypes, htmlTag, alignTypes, } from '../helpers/imageServiceConstants';\nconst wixStatic = 'https://static.wixstatic.com/';\nconst wixStaticWithMedia = 'https://static.wixstatic.com/media/';\nconst HAS_MEDIA_PREFIX_RE = /^media\\//i;\nconst devicePixelRatio = typeof window !== 'undefined' ? window.devicePixelRatio : 1;\nconst getWixStaticURL = (uri) => HAS_MEDIA_PREFIX_RE.test(uri)\n ? `${wixStatic}${uri}`\n : `${wixStaticWithMedia}${uri}`;\nconst getURL = (uri, options) => {\n const baseHostURL = options && options.baseHostURL;\n return baseHostURL ? `${baseHostURL}${uri}` : getWixStaticURL(uri);\n};\nfunction getScaleToFitImageURL(relativeUrl, sourceWidth, sourceHeight, targetWidth, targetHeight, options) {\n const data = getData(fittingTypes.SCALE_TO_FIT, {\n id: relativeUrl,\n width: sourceWidth,\n height: sourceHeight,\n name: options && options.name,\n }, {\n width: targetWidth,\n height: targetHeight,\n htmlTag: htmlTag.IMG,\n alignment: alignTypes.CENTER,\n pixelAspectRatio: options?.devicePixelRatio ?? devicePixelRatio,\n }, options);\n return getURL(data.uri, options);\n}\nfunction getScaleToFillImageURL(relativeUrl, sourceWidth, sourceHeight, targetWidth, targetHeight, options) {\n const data = getData(fittingTypes.SCALE_TO_FILL, {\n id: relativeUrl,\n width: sourceWidth,\n height: sourceHeight,\n name: options && options.name,\n focalPoint: {\n x: options && options.focalPoint && options.focalPoint.x,\n y: options && options.focalPoint && options.focalPoint.y,\n },\n }, {\n width: targetWidth,\n height: targetHeight,\n htmlTag: htmlTag.IMG,\n alignment: alignTypes.CENTER,\n pixelAspectRatio: options?.devicePixelRatio ?? devicePixelRatio,\n }, options);\n return getURL(data.uri, options);\n}\nfunction getCropImageURL(relativeUrl, sourceWidth, sourceHeight, cropX, cropY, cropWidth, cropHeight, targetWidth, targetHeight, options) {\n const data = getData(fittingTypes.SCALE_TO_FILL, {\n id: relativeUrl,\n width: sourceWidth,\n height: sourceHeight,\n name: options && options.name,\n crop: {\n x: cropX,\n y: cropY,\n width: cropWidth,\n height: cropHeight,\n },\n }, {\n width: targetWidth,\n height: targetHeight,\n htmlTag: htmlTag.IMG,\n alignment: alignTypes.CENTER,\n pixelAspectRatio: options?.devicePixelRatio ?? devicePixelRatio,\n }, options);\n return getURL(data.uri, options);\n}\nexport { populateGlobalFeatureSupport, getScaleToFitImageURL, getScaleToFillImageURL, getCropImageURL, wixStatic, wixStaticWithMedia, };\n//# sourceMappingURL=api.js.map","import { populateGlobalFeatureSupport, getScaleToFitImageURL, getScaleToFillImageURL, getCropImageURL, wixStatic, wixStaticWithMedia, } from './api';\npopulateGlobalFeatureSupport();\nexport { getScaleToFitImageURL, getScaleToFillImageURL, getCropImageURL, wixStatic, wixStaticWithMedia, };\n//# sourceMappingURL=index.js.map","import { getData, STATIC_MEDIA_URL } from '../api/max';\nconst alignTypes = {\n CENTER: 'center',\n TOP: 'top',\n TOP_LEFT: 'top_left',\n TOP_RIGHT: 'top_right',\n BOTTOM: 'bottom',\n BOTTOM_LEFT: 'bottom_left',\n BOTTOM_RIGHT: 'bottom_right',\n LEFT: 'left',\n RIGHT: 'right',\n};\nconst getCropDataWithAlign = (targetAspectRatio, originalAspectRatio, originalHeight, originalWidth, targetHeight, lowerWidth, bpWidth, alignType = alignTypes.CENTER) => {\n if (targetAspectRatio > originalAspectRatio) {\n // Image needs vertical cropping\n const width = originalWidth;\n const height = Math.round(originalWidth / (lowerWidth / targetHeight));\n let y = Math.round(originalHeight / 2 - height / 2);\n const x = 0;\n if (alignType.includes('top')) {\n y = 0;\n }\n else if (alignType.includes('bottom')) {\n y = originalHeight - height;\n }\n return { width, height, x, y };\n }\n else {\n // Image needs horizontal cropping\n const width = Math.round(originalHeight / (targetHeight / bpWidth));\n const height = originalHeight;\n let x = Math.round(originalWidth / 2 - width / 2);\n const y = 0;\n if (alignType.includes('left')) {\n x = 0;\n }\n else if (alignType.includes('right')) {\n x = originalWidth - width;\n }\n return { width, height, x, y };\n }\n};\nconst WIDTHS = [1920, 1536, 1366, 1280, 980];\nconst getSources = (widthProportion, originalWidth, originalHeight, targetHeight, targetWidth, uri, quality, name, alignType, hasAnimation, upscaleMethod, focalPoint, crop, encoding, siteMargin, displayMode, allowFullGIFTransformation) => {\n const hasOriginalSizeDisplayMode = displayMode === 'original_size';\n const originalAspectRatio = originalWidth / originalHeight;\n return WIDTHS.map((width, index) => {\n const isLowestBreakpoint = width === 980;\n const getWidth = (w) => {\n if (isLowestBreakpoint) {\n return targetWidth;\n }\n return (w - 2 * (siteMargin || 0)) * (widthProportion / 100);\n };\n const lowerBpWidth = getWidth(WIDTHS[index + 1]);\n const currentBpWidth = getWidth(width);\n const targetAspectRatio = lowerBpWidth / targetHeight;\n const useManualCrop = !(hasOriginalSizeDisplayMode || isLowestBreakpoint);\n const manualCrop = useManualCrop &&\n getCropDataWithAlign(targetAspectRatio, originalAspectRatio, originalHeight, originalWidth, targetHeight, lowerBpWidth, currentBpWidth, alignType);\n const { srcset, fallbackSrc, css } = getResponsiveImageProps({\n displayMode: hasOriginalSizeDisplayMode\n ? 'original_size'\n : isLowestBreakpoint\n ? 'fill'\n : 'fit',\n uri,\n width: originalWidth,\n height: originalHeight,\n crop: crop || manualCrop,\n name,\n focalPoint,\n alignType,\n quality,\n upscaleMethod,\n hasAnimation,\n encoding,\n allowFullGIFTransformation,\n }, currentBpWidth, targetHeight);\n if (hasOriginalSizeDisplayMode && css) {\n css.img.objectFit = 'cover';\n }\n return {\n srcset: srcset || '',\n sizes: isLowestBreakpoint\n ? `${widthProportion}vw`\n : `${currentBpWidth}px`,\n media: `(max-width: ${width}px)`,\n fallbackSrc,\n imgStyle: css?.img,\n };\n });\n};\nexport const getResponsiveImageProps = (imageProps, targetWidth, targetHeight) => {\n const { displayMode, uri, width, height, name, crop, focalPoint, alignType, quality, upscaleMethod, hasAnimation, allowAnimatedTransform, encoding, siteMargin, widthProportion, allowFullGIFTransformation, } = imageProps;\n if (!widthProportion) {\n const { srcset, css, uri: src, } = getData(displayMode, { id: uri, width, height, name, crop, focalPoint }, {\n width: targetWidth,\n height: targetHeight,\n alignment: alignType,\n }, {\n focalPoint,\n name,\n quality: quality?.quality,\n upscaleMethod,\n hasAnimation,\n allowAnimatedTransform,\n useSrcset: true,\n encoding,\n allowFullGIFTransformation,\n });\n const srcsetWithPrefix = srcset?.dpr?.map((s) => /^[a-z]+:/.test(s) ? s : `${STATIC_MEDIA_URL}${s}`);\n const fallbackSrc = `${STATIC_MEDIA_URL}${src}`;\n const srcsetString = srcsetWithPrefix?.join(', ') || '';\n return {\n fallbackSrc,\n srcset: srcsetString,\n css,\n };\n }\n else {\n const sources = getSources(widthProportion, width, height, targetHeight, targetWidth, uri, quality, name, alignType, hasAnimation, upscaleMethod, focalPoint, crop, encoding, siteMargin, displayMode, allowFullGIFTransformation)\n .filter(Boolean)\n .reverse();\n return {\n fallbackSrc: sources[0].fallbackSrc,\n sources,\n css: sources[0].imgStyle,\n };\n }\n};\n//# sourceMappingURL=responsiveImageUtils.js.map","import { alignTypes, fittingTypes, htmlTag, upscaleMethods, fileType, } from '../../helpers/imageServiceConstants';\nimport { isWEBP, getFileExtension } from '../../helpers/imageServiceUtils';\nimport { populateGlobalFeatureSupport } from '../../helpers/populateFeatureSupport';\nimport { getData, getPlaceholder } from './api';\nimport { getScaleToFitImageURL, getScaleToFillImageURL, getCropImageURL, wixStaticWithMedia, } from '../../sdk';\nimport { getResponsiveImageProps } from '../../helpers/responsiveImageUtils';\npopulateGlobalFeatureSupport();\nconst sdk = {\n getScaleToFitImageURL,\n getScaleToFillImageURL,\n getCropImageURL,\n};\nexport * from '../../types';\nconst STATIC_MEDIA_URL = wixStaticWithMedia;\nexport { STATIC_MEDIA_URL, alignTypes, fittingTypes, getData, getPlaceholder, htmlTag, populateGlobalFeatureSupport, sdk, upscaleMethods, isWEBP, getFileExtension, fileType, getResponsiveImageProps, };\n//# sourceMappingURL=index.js.map","import { alignTypes, fittingTypes, getData, isWEBP, getFileExtension, fileType, } from '@wix/image-kit';\nimport { camelToKebab } from '../utils';\nconst CSS_NUMERIC_VALUES = {\n columnCount: 1,\n columns: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n zIndex: 1,\n zoom: 1,\n};\nconst pick = (obj, props) => {\n const propsArr = Array.isArray(props) ? props : [props];\n return propsArr.reduce((subObj, prop) => {\n const val = obj[prop];\n return val !== undefined ? Object.assign(subObj, { [prop]: val }) : subObj;\n }, {});\n};\nconst addDefaultUnitIfNeeded = (prop, value) => typeof value === 'number' &&\n !CSS_NUMERIC_VALUES[prop]\n ? `${value}px`\n : value.toString();\nconst setStyle = (node, styleProperties) => node &&\n styleProperties &&\n Object.keys(styleProperties).forEach((prop) => {\n const styleProp = prop;\n const propValue = styleProperties[styleProp];\n if (propValue !== undefined) {\n node.style[styleProp] = addDefaultUnitIfNeeded(styleProp, propValue);\n }\n else {\n node.style.removeProperty(styleProp);\n }\n });\nconst getScreenHeight = (heightOverride) => heightOverride ||\n document.documentElement.clientHeight ||\n window.innerHeight ||\n 0;\nconst getImageComputedProperties = (extendedImageInfo, envConsts, htmlTag) => {\n // todo: CLNT-5323 , wixapp sildergallery proxy is generating image data without uri\n if (!extendedImageInfo.targetWidth ||\n !extendedImageInfo.targetHeight ||\n !extendedImageInfo.imageData.uri) {\n return { uri: '', css: {}, transformed: false };\n }\n const { imageData } = extendedImageInfo;\n const fittingType = extendedImageInfo.displayMode || fittingTypes.SCALE_TO_FILL;\n const imageOptions = Object.assign(pick(imageData, ['upscaleMethod']), pick(extendedImageInfo, [\n 'filters',\n 'encoding',\n 'allowFullGIFTransformation',\n ]), extendedImageInfo.quality || imageData.quality, {\n hasAnimation: extendedImageInfo?.hasAnimation || imageData?.hasAnimation,\n });\n const devicePixelRatioFromData = extendedImageInfo.imageData.devicePixelRatio || envConsts.devicePixelRatio;\n const devicePixelRatio = getDevicePixelRatio(devicePixelRatioFromData);\n const src = Object.assign(pick(imageData, ['width', 'height', 'crop', 'name', 'focalPoint']), { id: imageData.uri });\n const target = {\n width: extendedImageInfo.targetWidth,\n height: extendedImageInfo.targetHeight,\n htmlTag: (htmlTag || 'img'),\n pixelAspectRatio: devicePixelRatio,\n alignment: extendedImageInfo.alignType || alignTypes.CENTER,\n };\n const imageComputedProperties = getData(fittingType, src, target, imageOptions);\n imageComputedProperties.uri = getMediaUrlByContext(imageComputedProperties.uri, envConsts.staticMediaUrl, envConsts.mediaRootUrl);\n return imageComputedProperties;\n};\nconst getMediaUrlByContext = (imageUri, staticMediaUrl, mediaRootUrl) => {\n const isExternalUrl = /(^https?)|(^data)|(^blob)|(^\\/\\/)/.test(imageUri);\n if (isExternalUrl) {\n return imageUri;\n }\n let path = `${staticMediaUrl}/`;\n if (imageUri) {\n if (/^micons\\//.test(imageUri)) {\n path = mediaRootUrl;\n }\n else if (/[^.]+$/.exec(imageUri)?.[0] === 'ico') {\n // if the image is an icon then it's taken from a slightly different place\n path = path.replace('media', 'ficons');\n }\n }\n return path + imageUri;\n};\nconst getDevicePixelRatio = (devicePixelRatio) => {\n // we should be able to force devicePixelRatio from url by using the query param -\n const queryParams = window.location.search\n .split('&')\n .map((query) => query.split('='));\n const devicePixelRatioQueryParam = queryParams.find((query) => query[0]?.toLowerCase().includes('devicepixelratio'));\n const devicePixelRatioValueForceFromUrl = devicePixelRatioQueryParam?.[1]\n ? Number(devicePixelRatioQueryParam[1])\n : null;\n return devicePixelRatioValueForceFromUrl || devicePixelRatio || 1;\n};\nconst getImageSrc = (imageNode) => imageNode.getAttribute('src');\nconst isTransformedWEBP = (imageNode, imageUri) => {\n const src = getImageSrc(imageNode) || '';\n const isTransformed = !!src.match(/.webp\\/v1\\//);\n return isWEBP(imageUri) && isTransformed;\n};\nconst imageIsAnimated = (uri, hasAnimation) => getFileExtension(uri) === fileType.GIF ||\n (getFileExtension(uri) === fileType.WEBP && hasAnimation);\nconst getMediaSizeQueryString = (media) => {\n return Object.entries(media)\n .filter(([_, value]) => value || value === 0)\n .map(([key, value]) => `(${camelToKebab(key)}: ${value}px)`)\n .join(' and ');\n};\nexport { \n// TODO(ameerabuf) - move methods that are not custom-element logic to a more general image util lib\ngetMediaSizeQueryString, getMediaUrlByContext, getScreenHeight, setStyle, getImageComputedProperties, getImageSrc, isTransformedWEBP, imageIsAnimated, };\n//# sourceMappingURL=utils.js.map","import { getScreenHeight, setStyle, getImageComputedProperties, getImageSrc, imageIsAnimated, } from './utils';\nconst MOBILE_SAFE_ADDRESSBAR_HEIGHT = 80;\nfunction getHeightOverride(height, mediaHeightOverrideType) {\n // on mobile, documentElement.clientHeight changes when scrolling, because of address bar collapsing.\n // avoiding re-fetching image by returning the same height\n return mediaHeightOverrideType === 'fixed' ||\n mediaHeightOverrideType === 'viewport'\n ? document.documentElement.clientHeight + MOBILE_SAFE_ADDRESSBAR_HEIGHT\n : height;\n}\nfunction computeScaleOverrides(imageStyle, targetScale = 1) {\n return targetScale !== 1\n ? {\n ...imageStyle,\n width: '100%',\n height: '100%',\n }\n : imageStyle;\n}\n/**\n * compute specific overrides\n */\nfunction computeStyleOverrides(mediaHeightOverrideType, imageStyle, displayMode, targetScale, isResponsive) {\n // image scaling override\n const styleWithScale = computeScaleOverrides(imageStyle, targetScale);\n if (isResponsive) {\n delete styleWithScale.height;\n styleWithScale.width = '100%';\n }\n if (!mediaHeightOverrideType) {\n return styleWithScale;\n }\n // siteBackground on mobile\n const style = { ...styleWithScale };\n if (displayMode === 'fill') {\n style.position = 'absolute';\n style.top = '0';\n }\n else if (displayMode === 'fit') {\n style.height = '100%';\n }\n if (mediaHeightOverrideType === 'fixed') {\n // eliminates white gap when address bar is collapsing\n style['will-change'] = 'transform';\n }\n // force image alignment to include top\n if (style.objectPosition) {\n style.objectPosition = imageStyle.objectPosition.replace(/(center|bottom)$/, 'top');\n }\n return style;\n}\nfunction getSourceSetsTargetHeightByEffect(sourceSets, offsetWidth, offsetHeight, screenHeight, services) {\n const sourceSetsTargetHeights = {};\n sourceSets.forEach(({ mediaQuery, scrollEffect }) => {\n sourceSetsTargetHeights[mediaQuery] =\n services.getMediaDimensionsByEffect?.(scrollEffect, offsetWidth, offsetHeight, screenHeight).height || offsetHeight;\n });\n return sourceSetsTargetHeights;\n}\nfunction computeSrcSets(measures, imageInfo, envConsts) {\n const { sourceSets } = imageInfo;\n if (!sourceSets || !sourceSets.length) {\n return;\n }\n const mediaToUri = {};\n sourceSets.forEach(({ mediaQuery, crop, focalPoint }) => {\n const imageInfoClone = {\n ...imageInfo,\n targetHeight: (measures.sourceSetsTargetHeights || {})[mediaQuery] || 0,\n imageData: {\n ...imageInfo.imageData,\n crop,\n focalPoint,\n },\n };\n const imageComputedProperties = getImageComputedProperties(imageInfoClone, envConsts, 'img');\n mediaToUri[mediaQuery] = imageComputedProperties.uri || '';\n });\n return mediaToUri;\n}\nfunction measure(id, measures, domNodes, { containerElm, bgEffect = 'none', sourceSets, }, services) {\n const innerImage = domNodes.image;\n const wixImage = domNodes[id];\n const screenHeight = getScreenHeight(services.getScreenHeightOverride?.());\n // override positioning and scaling of image (SiteBackground mobile override behaviour)\n const mediaHeightOverrideType = containerElm?.dataset\n .mediaHeightOverrideType;\n const hasBgEffect = (bgEffect && bgEffect !== 'none') ||\n (sourceSets && sourceSets.some((srcset) => srcset.scrollEffect));\n const sourceOfDimensions = (containerElm && hasBgEffect ? containerElm : wixImage); // default to self\n const cssBgEffect = window\n .getComputedStyle(wixImage)\n .getPropertyValue('--bg-scrub-effect');\n const { width, height } = services.getMediaDimensionsByEffect?.(cssBgEffect || bgEffect, sourceOfDimensions.offsetWidth, sourceOfDimensions.offsetHeight, screenHeight) || {\n width: wixImage.offsetWidth,\n height: wixImage.offsetHeight,\n };\n if (sourceSets) {\n measures.sourceSetsTargetHeights = getSourceSetsTargetHeightByEffect(sourceSets, sourceOfDimensions.offsetWidth, sourceOfDimensions.offsetHeight, screenHeight, services);\n }\n if (!innerImage) {\n return;\n }\n const imgSrc = getImageSrc(innerImage);\n if (cssBgEffect) {\n measures.top = 0.5 * (wixImage.offsetHeight - height);\n measures.left = 0.5 * (wixImage.offsetWidth - width);\n }\n measures.width = width;\n measures.height = getHeightOverride(height, mediaHeightOverrideType);\n measures.screenHeight = screenHeight;\n measures.imgSrc = imgSrc;\n measures.boundingRect = wixImage.getBoundingClientRect();\n measures.mediaHeightOverrideType = mediaHeightOverrideType;\n measures.srcset = innerImage.srcset;\n}\nfunction patch(id, measures, domNodes, imageInfo, services, envConsts, loadImage, isResponsive, bgEffect, loadImageImmediately) {\n if (!Object.keys(measures).length) {\n return;\n }\n const { imageData } = imageInfo;\n const wixImageNode = domNodes[id];\n const image = domNodes.image;\n // no retina scaling for background scroll effects\n if (bgEffect) {\n imageData.devicePixelRatio = 1;\n }\n const targetScale = imageInfo.targetScale || 1;\n const allowFullGIFTransformation = services.isExperimentOpen?.('specs.thunderbolt.allowFullGIFTransformation');\n const extendedImageInfo = {\n ...imageInfo,\n ...(!imageInfo.skipMeasure && {\n targetWidth: (measures.width || 0) * targetScale,\n targetHeight: (measures.height || 0) * targetScale,\n }),\n displayMode: imageData.displayMode,\n allowFullGIFTransformation,\n };\n const imageComputedProperties = getImageComputedProperties(extendedImageInfo, envConsts, 'img');\n const computedStyle = imageComputedProperties?.css?.img || {};\n const imageStyle = computeStyleOverrides(measures.mediaHeightOverrideType, computedStyle, imageData.displayMode, targetScale, isResponsive);\n setStyle(image, imageStyle);\n if (measures.top || measures.left) {\n setStyle(wixImageNode, {\n top: `${measures.top}px`,\n left: `${measures.left}px`,\n });\n }\n const src = imageComputedProperties?.uri || '';\n const hasAnimation = imageData?.hasAnimation || imageInfo?.hasAnimation;\n const mediaToUri = computeSrcSets(measures, extendedImageInfo, envConsts);\n if (loadImageImmediately) {\n // flag that this image has been processed\n image.dataset.ssrSrcDone = 'true';\n }\n if (imageInfo.isLQIP &&\n imageInfo.lqipTransition &&\n !('transitioned' in wixImageNode.dataset)) {\n wixImageNode.dataset.transitioned = '';\n if (image.complete) {\n image.onload = function () {\n image.dataset.loadDone = '';\n };\n }\n else {\n image.onload = function () {\n if (image.complete) {\n image.dataset.loadDone = '';\n }\n else {\n image.onload = function () {\n image.dataset.loadDone = '';\n };\n }\n };\n }\n }\n if (loadImage) {\n if (imageIsAnimated(imageData.uri, hasAnimation)) {\n image.setAttribute('fetchpriority', 'low');\n image.setAttribute('loading', 'lazy');\n image.setAttribute('decoding', 'async');\n }\n else {\n image.setAttribute('fetchpriority', 'high');\n }\n image.currentSrc !== src && image.setAttribute('src', src);\n const srcIsMissingFromSrcset = measures.srcset &&\n !measures.srcset\n .split(', ')\n .some((source) => source.split(' ')[0] === src);\n if (srcIsMissingFromSrcset) {\n image.setAttribute('srcset', src);\n }\n if (domNodes.picture && extendedImageInfo.sourceSets) {\n Array.from(domNodes.picture.querySelectorAll('source')).forEach((sourceNode) => {\n const mediaQuery = sourceNode.media || '';\n const uri = mediaToUri?.[mediaQuery];\n if (sourceNode.srcset !== uri) {\n sourceNode.setAttribute('srcset', uri || '');\n }\n });\n }\n }\n}\nexport default {\n measure,\n patch,\n};\n//# sourceMappingURL=imageLayout.js.map","import { getImageSrc } from './utils';\nimport imageLayout from './imageLayout';\nconst TIMEOUT = 250;\nconst imageEffectMap = {\n parallax: 'ImageParallax',\n fixed: 'ImageReveal',\n};\nfunction wowImageFactory(services, environmentConsts, contextWindow) {\n return class WowImage extends contextWindow.HTMLElement {\n constructor() {\n // eslint-disable-line no-useless-constructor\n super();\n this.childListObserver = null;\n this.timeoutId = null;\n }\n attributeChangedCallback(_, oldValue) {\n if (oldValue) {\n this.reLayout();\n }\n }\n connectedCallback() {\n if (environmentConsts.disableImagesLazyLoading) {\n this.reLayout();\n }\n else {\n this.observeIntersect();\n }\n }\n disconnectedCallback() {\n this.unobserveResize();\n this.unobserveIntersect();\n this.unobserveChildren();\n }\n static get observedAttributes() {\n return ['data-image-info'];\n }\n reLayout() {\n const domNodes = {};\n const measures = {};\n const imageId = this.getAttribute('id');\n const imageInfo = JSON.parse(this.dataset.imageInfo || '');\n const isResponsive = this.dataset.isResponsive === 'true';\n const { bgEffectName } = this.dataset;\n const { scrollEffect } = imageInfo.imageData;\n const { sourceSets } = imageInfo;\n const bgEffect = bgEffectName || (scrollEffect && imageEffectMap[scrollEffect]);\n if (sourceSets && sourceSets.length) {\n sourceSets.forEach((sourceSet) => {\n if (sourceSet.scrollEffect) {\n sourceSet.scrollEffect =\n imageEffectMap[sourceSet.scrollEffect];\n }\n });\n }\n domNodes[imageId] = this;\n if (imageInfo.containerId) {\n domNodes[imageInfo.containerId] = contextWindow.document.getElementById(`${imageInfo.containerId}`);\n }\n const containerElm = imageInfo.containerId\n ? domNodes[imageInfo.containerId]\n : undefined;\n domNodes.image = this.querySelector('img');\n domNodes.picture = this.querySelector('picture');\n if (!domNodes.image) {\n // missing children, can't layout, wait for children to be created first\n const target = this;\n this.observeChildren(target);\n return;\n }\n // clean up\n this.unobserveChildren();\n // from now on just observe changes to children of top level\n this.observeChildren(this);\n services.mutationService.measure(() => {\n imageLayout.measure(imageId, measures, domNodes, {\n containerElm,\n bgEffect,\n sourceSets,\n }, services);\n });\n const patchImage = (shouldLoadImage, loadImageImmediately) => {\n services.mutationService.mutate(() => {\n imageLayout.patch(imageId, measures, domNodes, imageInfo, services, environmentConsts, shouldLoadImage, isResponsive, bgEffect, loadImageImmediately);\n });\n };\n const imageElement = domNodes.image;\n const ssrSrcNeedProcessing = this.dataset.hasSsrSrc && !imageElement.dataset.ssrSrcDone;\n // if image has no src or current src if from ssr render stage -\n // load the image immediately, otherwise - debounce the reload\n const loadImageImmediately = !getImageSrc(imageElement) || ssrSrcNeedProcessing;\n if (loadImageImmediately) {\n patchImage(true, true);\n }\n else {\n this.debounceImageLoad(patchImage);\n }\n }\n /**\n * Debounce consecutive image loads\n *\n * @param {function} patchImage closure for patching the image\n */\n debounceImageLoad(patchImage) {\n clearTimeout(this.timeoutId);\n this.timeoutId = contextWindow.setTimeout(() => {\n patchImage(true);\n }, TIMEOUT);\n patchImage(false);\n }\n observeResize() {\n services.resizeService?.observe(this);\n }\n unobserveResize() {\n services.resizeService?.unobserve(this);\n }\n observeIntersect() {\n services.intersectionService?.observe(this);\n }\n unobserveIntersect() {\n services.intersectionService?.unobserve(this);\n }\n /**\n * Observe DOM mutations to wait for addition of missing children\n *\n * @param {HTMLElement} parent\n */\n observeChildren(parent) {\n if (!this.childListObserver) {\n this.childListObserver = new contextWindow.MutationObserver(() => {\n this.reLayout();\n });\n }\n this.childListObserver.observe(parent, { childList: true });\n }\n /**\n * Remove DOM MutationObserver if one was created\n */\n unobserveChildren() {\n if (this.childListObserver) {\n this.childListObserver.disconnect();\n this.childListObserver = null;\n }\n }\n };\n}\nexport default wowImageFactory;\n//# sourceMappingURL=WowImage.js.map","import wowImageFactory from './WowImage';\nimport fastdom from 'fastdom';\nexport default function init(contextWindow, services) {\n const elementName = 'wow-image';\n contextWindow = contextWindow || window;\n if (contextWindow.customElements.get(elementName) === undefined) {\n let resizeObserver;\n if (contextWindow.ResizeObserver) {\n resizeObserver = new contextWindow.ResizeObserver((entries) => entries.map((entry) => entry.target.reLayout()));\n }\n let intersectionObserver;\n if (contextWindow.IntersectionObserver) {\n intersectionObserver = new IntersectionObserver((entries) => entries.map((entry) => {\n if (entry.isIntersecting) {\n const wowImage = entry.target;\n wowImage.unobserveIntersect();\n // resize Observe will invoke relayout imidiatly.\n // \"Observation will fire when observation starts if Element is being rendered, and Element’s size is not 0,0,\"\n // https://drafts.csswg.org/resize-observer/#dom-resizeobserver-observe\n wowImage.observeResize();\n }\n return entry;\n }), {\n /**\n * old: 50% from 1080 (desktop) is 540px, 800 (mobile) 400px\n * new: 150% from 1080 (desktop) is 1620, 800 (mobile) 1200\n * chrome [loading=lazy]: 4g - 1250px, lower then 3g - 2500px\n * @see https://web.dev/articles/browser-level-image-lazy-loading#improved-thresholds\n */\n rootMargin: '150% 100%',\n });\n }\n return function (env) {\n const WowImage = wowImageFactory({\n resizeService: resizeObserver,\n intersectionService: intersectionObserver,\n mutationService: fastdom,\n ...services,\n }, env, contextWindow);\n contextWindow.customElements.define(elementName, WowImage);\n };\n }\n return;\n}\n//# sourceMappingURL=registry.js.map","import init from './custom-element/registry';\nconst getDevicePixelRatio = () => {\n const isMSMobileDevice = /iemobile/i.test(navigator.userAgent);\n if (isMSMobileDevice) {\n return Math.round(window.screen.availWidth /\n (window.screen.width || window.document.documentElement.clientWidth));\n }\n return window.devicePixelRatio;\n};\nconst STATIC_MEDIA_URL = 'https://static.wixstatic.com/media';\nconst MEDIA_ROOT_URL = 'https://static.wixstatic.com';\nfunction initCustomElement(services = {}, contextWindow = null, envConsts = {}) {\n if (typeof window === 'undefined') {\n return;\n }\n const env = {\n staticMediaUrl: STATIC_MEDIA_URL,\n mediaRootUrl: MEDIA_ROOT_URL,\n experiments: {},\n devicePixelRatio: getDevicePixelRatio(),\n ...envConsts,\n };\n const define = init(contextWindow, services);\n if (define) {\n define(env);\n }\n}\nexport { initCustomElement };\n//# sourceMappingURL=customElementInit.js.map","// extracted by mini-css-extract-plugin\nexport default {\"image\":\"L36Tx5\"};","import * as React from 'react';\nimport styles from './Image.module.scss';\nimport * as imageKit from '@wix/image-kit';\nconst { STATIC_MEDIA_URL } = imageKit;\nconst fetchLQIP = ({ fittingType, src, target, options, }) => {\n const placeholder = imageKit.getPlaceholder(fittingType, src, target, {\n ...options,\n autoEncode: true,\n });\n if (placeholder?.uri && !/^[a-z]+:/.test(placeholder.uri)) {\n placeholder.uri = `${STATIC_MEDIA_URL}${placeholder.uri}`;\n }\n return placeholder;\n};\nconst SCHEME_RE = /^[a-z]+:/;\nconst Image = (props) => {\n const { id, containerId, uri, alt, name = '', role, width, height, displayMode, devicePixelRatio, quality, alignType, bgEffectName = '', focalPoint, upscaleMethod, className = '', crop, imageStyles = {}, targetWidth, targetHeight, targetScale, onLoad = () => { }, onError = () => { }, shouldUseLQIP, containerWidth, containerHeight, getPlaceholder, isInFirstFold, placeholderTransition, socialAttrs, isSEOBot, skipMeasure, hasAnimation, encoding, isFluidLayout, } = props;\n const imageRef = React.useRef(null);\n // fix containerId and id to support hoverBox component\n let hasSsrSrc = '';\n const hasBlurTransition = placeholderTransition === 'blur';\n const ssrImageData = React.useRef(null);\n if (!ssrImageData.current) {\n if (getPlaceholder || shouldUseLQIP || isInFirstFold || isSEOBot) {\n const options = {\n upscaleMethod,\n ...(quality ? quality : {}),\n shouldLoadHQImage: isInFirstFold,\n isSEOBot,\n hasAnimation,\n encoding,\n };\n ssrImageData.current = (getPlaceholder || fetchLQIP)({\n fittingType: displayMode,\n src: {\n id: uri,\n width,\n height,\n crop,\n name,\n focalPoint,\n },\n target: {\n width: containerWidth,\n height: containerHeight,\n alignment: alignType,\n htmlTag: 'img',\n },\n options,\n });\n hasSsrSrc =\n !ssrImageData.current.transformed || isInFirstFold || isSEOBot\n ? ''\n : 'true';\n }\n else {\n // to keep an empty placeholder data\n ssrImageData.current = {\n uri: undefined,\n css: { img: {} },\n attr: { img: {}, container: {} },\n transformed: false,\n };\n }\n }\n const isLQIP = !isSEOBot &&\n (getPlaceholder || shouldUseLQIP) &&\n !isInFirstFold &&\n ssrImageData.current.transformed;\n const imageInfo = React.useMemo(() => JSON.stringify({\n containerId,\n ...(containerId && { containerId }),\n ...(alignType && { alignType }),\n ...(skipMeasure && { skipMeasure: true }),\n displayMode,\n ...(containerWidth && { targetWidth: containerWidth }),\n ...(containerHeight && { targetHeight: containerHeight }),\n ...(targetWidth && { targetWidth }),\n ...(targetHeight && { targetHeight }),\n ...(targetScale && { targetScale }),\n isLQIP,\n isSEOBot,\n lqipTransition: placeholderTransition,\n encoding,\n imageData: {\n width,\n height,\n uri,\n name,\n displayMode,\n hasAnimation,\n ...(quality && { quality }),\n ...(devicePixelRatio && { devicePixelRatio }),\n ...(focalPoint && { focalPoint }),\n ...(crop && { crop }),\n ...(upscaleMethod && { upscaleMethod }),\n },\n }), [\n containerId,\n alignType,\n skipMeasure,\n displayMode,\n containerWidth,\n containerHeight,\n targetWidth,\n targetHeight,\n targetScale,\n isLQIP,\n isSEOBot,\n placeholderTransition,\n encoding,\n width,\n height,\n uri,\n name,\n hasAnimation,\n quality,\n devicePixelRatio,\n focalPoint,\n crop,\n upscaleMethod,\n ]);\n const ssrResult = ssrImageData.current;\n const src = ssrResult?.uri;\n const srcset = ssrResult?.srcset;\n const placeholderStyle = ssrResult.css?.img;\n const classNames = `${styles.image} ${className}`;\n React.useEffect(() => {\n // When image comes from cache onLoad not trigger on native HTML element\n const imgElement = imageRef.current;\n if (onLoad && imgElement?.currentSrc && imgElement?.complete) {\n onLoad({\n target: imgElement,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const maxWidth = ssrResult && !ssrResult?.transformed\n ? `max(${width}px, 100%)`\n : targetWidth\n ? `${targetWidth}px`\n : null;\n return (React.createElement(\"wow-image\", { id: id, class: classNames, \"data-image-info\": imageInfo, \"data-motion-part\": `BG_IMG ${containerId}`, \"data-bg-effect-name\": bgEffectName, \"data-has-ssr-src\": hasSsrSrc, \"data-animate-blur\": !isSEOBot && isLQIP && hasBlurTransition ? '' : undefined, \"data-is-responsive\": isFluidLayout ? 'true' : undefined, style: maxWidth ? { '--wix-img-max-width': maxWidth } : {} },\n React.createElement(\"img\", { src: src, ref: imageRef, alt: alt || '', role: role, style: { ...placeholderStyle, ...imageStyles }, onLoad: onLoad, onError: onError, width: containerWidth ? containerWidth : undefined, height: containerHeight ? containerHeight : undefined, ...socialAttrs, srcSet: isInFirstFold\n ? srcset?.dpr\n ?.map((s) => SCHEME_RE.test(s) ? s : `${STATIC_MEDIA_URL}${s}`)\n .join(', ')\n : undefined, \n // @ts-expect-error fetchpriority type should work in react > 18.3 https://github.com/facebook/react/pull/25927\n fetchpriority: isInFirstFold ? 'high' : undefined, loading: isInFirstFold === false ? 'lazy' : undefined, \n // The src attribute triggers a mismatch warning because wow-image updates its src outside of the React lifecycle. This causes React to retain the old value in the virtual DOM, which could potentially lead to a bug where the old value is re-rendered during updates. However, we’re confident that this issue is not reproducing in current (16-18) React versions\n suppressHydrationWarning: true })));\n};\nexport { Image, imageKit };\n//# sourceMappingURL=Image.js.map","import * as React from 'react';\nimport type { VideoProps } from './types';\nimport styles from './Video.module.scss';\nimport { sortQualities } from './custom-element/utils';\nimport { initCustomElement } from './customElementInit';\nimport { Image, initCustomElement as initImageCustomElement } from '@wix/image';\n\nif (typeof window !== 'undefined') {\n if (document.readyState === 'loading') {\n document.addEventListener(\n 'DOMContentLoaded',\n () => {\n initCustomElement();\n initImageCustomElement();\n },\n {\n once: true,\n },\n );\n } else {\n initCustomElement();\n initImageCustomElement();\n }\n}\n\nconst Video: React.FC<VideoProps> = (props) => {\n const {\n motionPart,\n videoRef,\n videoMedia,\n muted,\n loop,\n autoplay,\n playbackRate = 1,\n posterEffect,\n id,\n qualityPolicy = 'proportional',\n focalPoint = { x: 50, y: 50 },\n onError,\n } = props;\n\n const wowVideoRef = React.useRef<HTMLElement>(null);\n\n const videoInfoString = React.useMemo(() => {\n const sortedQualities = sortQualities(videoMedia.sources || []);\n return JSON.stringify({\n ...videoMedia,\n playbackRate,\n posterEffect,\n sources: sortedQualities,\n autoplay,\n qualityPolicy,\n focalPoint,\n });\n }, [\n videoMedia,\n playbackRate,\n posterEffect,\n autoplay,\n qualityPolicy,\n focalPoint,\n ]);\n\n const VideoPosterImage = videoMedia.poster && (\n <Image\n {...videoMedia.poster}\n focalPoint={focalPoint}\n id={`videoPoster_${id}`}\n displayMode=\"fill\"\n alt={videoMedia.name || videoMedia.poster.alt || \"\"}\n quality={\n videoMedia.poster.quality\n ? { quality: videoMedia.poster.quality }\n : undefined\n }\n />\n );\n\n const handleVideoElementError = React.useCallback(\n (event: React.SyntheticEvent<HTMLVideoElement, Event>) => {\n if (onError) {\n const videoElement = event.currentTarget;\n const error = new Error(\n `Video playback error: ${\n videoElement.error?.message || \"Unknown error\"\n }`\n );\n onError(error);\n }\n },\n [onError]\n );\n\n const handleAdaptiveVideoError = React.useCallback(\n (event: any) => {\n if (onError && event.detail?.error) {\n onError(event.detail.error);\n }\n },\n [onError]\n );\n\n React.useEffect(() => {\n const element = wowVideoRef.current;\n element?.addEventListener(\"videoerror\", handleAdaptiveVideoError);\n return () => {\n element?.removeEventListener(\"videoerror\", handleAdaptiveVideoError);\n };\n }, [onError, handleAdaptiveVideoError]);\n\n return (\n <wow-video\n ref={wowVideoRef}\n data-video-info={videoInfoString}\n data-motion-part={motionPart || ''}\n class={styles.videoContainer}\n >\n <video\n ref={videoRef}\n className={styles.video}\n crossOrigin=\"anonymous\"\n playsInline={true}\n muted={muted}\n loop={loop}\n preload=\"none\"\n onError={handleVideoElementError}\n />\n {VideoPosterImage}\n </wow-video>\n );\n};\n\nexport default Video;\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\n\n// ../../node_modules/@wix/ambassador-devcenter-v1-component-type-data/build/es/types.impl.js\nvar Exposure;\n(function(Exposure2) {\n Exposure2[\"PRIVATE\"] = \"PRIVATE\";\n Exposure2[\"INTERNAL\"] = \"INTERNAL\";\n Exposure2[\"PUBLIC\"] = \"PUBLIC\";\n})(Exposure || (Exposure = {}));\nvar ComponentType;\n(function(ComponentType2) {\n ComponentType2[\"NONE\"] = \"NONE\";\n ComponentType2[\"STUDIO\"] = \"STUDIO\";\n ComponentType2[\"PLATFORM\"] = \"PLATFORM\";\n ComponentType2[\"WORKER\"] = \"WORKER\";\n ComponentType2[\"DASHBOARD\"] = \"DASHBOARD\";\n ComponentType2[\"WIDGET\"] = \"WIDGET\";\n ComponentType2[\"PAGE\"] = \"PAGE\";\n ComponentType2[\"DASHBOARD_PLATFORM\"] = \"DASHBOARD_PLATFORM\";\n ComponentType2[\"STUDIO_WIDGET\"] = \"STUDIO_WIDGET\";\n ComponentType2[\"EMBEDDED_SCRIPT\"] = \"EMBEDDED_SCRIPT\";\n ComponentType2[\"EXTENSION\"] = \"EXTENSION\";\n ComponentType2[\"SNIPPET_SOLUTION\"] = \"SNIPPET_SOLUTION\";\n ComponentType2[\"DATA_COMPONENT\"] = \"DATA_COMPONENT\";\n ComponentType2[\"WEB\"] = \"WEB\";\n ComponentType2[\"DC_CONFIG\"] = \"DC_CONFIG\";\n ComponentType2[\"WIDGET_OUT_OF_IFRAME\"] = \"WIDGET_OUT_OF_IFRAME\";\n ComponentType2[\"PAGE_OUT_OF_IFRAME\"] = \"PAGE_OUT_OF_IFRAME\";\n ComponentType2[\"STATIC_FILE\"] = \"STATIC_FILE\";\n ComponentType2[\"APP_CONFIG\"] = \"APP_CONFIG\";\n ComponentType2[\"MULTIPLE_DASHBOARDS\"] = \"MULTIPLE_DASHBOARDS\";\n ComponentType2[\"PAYMENTS_GATEWAY\"] = \"PAYMENTS_GATEWAY\";\n ComponentType2[\"CODE_PACKAGE\"] = \"CODE_PACKAGE\";\n ComponentType2[\"AUTOMATION_TRIGGER\"] = \"AUTOMATION_TRIGGER\";\n ComponentType2[\"INVOICES_ACTIONS\"] = \"INVOICES_ACTIONS\";\n ComponentType2[\"DASHBOARD_APPLICATION\"] = \"DASHBOARD_APPLICATION\";\n ComponentType2[\"CONTACT_LABELS\"] = \"CONTACT_LABELS\";\n ComponentType2[\"WIDGET_PLUGIN\"] = \"WIDGET_PLUGIN\";\n ComponentType2[\"CROSS_SELL\"] = \"CROSS_SELL\";\n ComponentType2[\"LOCAL_DELIVERY\"] = \"LOCAL_DELIVERY\";\n ComponentType2[\"PAYMENT_PROVIDER\"] = \"PAYMENT_PROVIDER\";\n ComponentType2[\"ECOM_MEMBERSHIPS\"] = \"ECOM_MEMBERSHIPS\";\n ComponentType2[\"ECOM_LINE_ITEMS_ENRICHER\"] = \"ECOM_LINE_ITEMS_ENRICHER\";\n ComponentType2[\"ECOM_SHIPPING_RATES\"] = \"ECOM_SHIPPING_RATES\";\n ComponentType2[\"SHIPPING_LABEL_CARRIER\"] = \"SHIPPING_LABEL_CARRIER\";\n ComponentType2[\"RESTAURANTS_POS\"] = \"RESTAURANTS_POS\";\n ComponentType2[\"FICTIONAL_SHIPPING_PROVIDER\"] = \"FICTIONAL_SHIPPING_PROVIDER\";\n ComponentType2[\"ALERT_ENRICHER\"] = \"ALERT_ENRICHER\";\n ComponentType2[\"DATA_EXTENSIONS\"] = \"DATA_EXTENSIONS\";\n ComponentType2[\"GENERIC_HOOKS\"] = \"GENERIC_HOOKS\";\n ComponentType2[\"AUTOMATIONS_ACTION_PROVIDER\"] = \"AUTOMATIONS_ACTION_PROVIDER\";\n ComponentType2[\"ECOM_CATALOG\"] = \"ECOM_CATALOG\";\n ComponentType2[\"BACK_OFFICE_EXTENSION_CONTAINER\"] = \"BACK_OFFICE_EXTENSION_CONTAINER\";\n ComponentType2[\"BACK_OFFICE_EXTENSION\"] = \"BACK_OFFICE_EXTENSION\";\n ComponentType2[\"AUTOMATIONS_TRIGGER_PROVIDER\"] = \"AUTOMATIONS_TRIGGER_PROVIDER\";\n ComponentType2[\"IDENTITY_PRE_REGISTRATION\"] = \"IDENTITY_PRE_REGISTRATION\";\n ComponentType2[\"PREMIUM_PRODUCTS_PATHS\"] = \"PREMIUM_PRODUCTS_PATHS\";\n ComponentType2[\"ECOM_CUSTOM_SCOPE\"] = \"ECOM_CUSTOM_SCOPE\";\n ComponentType2[\"GIFT_CARDS_PROVIDER\"] = \"GIFT_CARDS_PROVIDER\";\n ComponentType2[\"DEALER_EXTERNAL_FILTER_PROVIDER\"] = \"DEALER_EXTERNAL_FILTER_PROVIDER\";\n ComponentType2[\"ECOM_DROPSHIPPING_PROVIDER\"] = \"ECOM_DROPSHIPPING_PROVIDER\";\n ComponentType2[\"INVOICES_PROVIDER\"] = \"INVOICES_PROVIDER\";\n ComponentType2[\"SEO_KEYWORDS_SUGGESTIONS\"] = \"SEO_KEYWORDS_SUGGESTIONS\";\n ComponentType2[\"ECOM_DISCOUNTS_TRIGGER\"] = \"ECOM_DISCOUNTS_TRIGGER\";\n ComponentType2[\"MULTILINGUAL_CONTENT_PROVIDER\"] = \"MULTILINGUAL_CONTENT_PROVIDER\";\n ComponentType2[\"APPLICATION_AUTOMATION\"] = \"APPLICATION_AUTOMATION\";\n ComponentType2[\"BACK_OFFICE_SIDEBAR_CATEGORY\"] = \"BACK_OFFICE_SIDEBAR_CATEGORY\";\n ComponentType2[\"BACK_OFFICE_PAGE\"] = \"BACK_OFFICE_PAGE\";\n ComponentType2[\"ECOM_ADDITIONAL_FEES\"] = \"ECOM_ADDITIONAL_FEES\";\n ComponentType2[\"PING_USER_NOTIFICATION\"] = \"PING_USER_NOTIFICATION\";\n ComponentType2[\"ECOM_RECOMMENDATIONS_PROVIDER\"] = \"ECOM_RECOMMENDATIONS_PROVIDER\";\n ComponentType2[\"BOOKINGS_PRICING_PROVIDER\"] = \"BOOKINGS_PRICING_PROVIDER\";\n ComponentType2[\"IDENTITY_AUTHENTICATOR\"] = \"IDENTITY_AUTHENTICATOR\";\n ComponentType2[\"IDENTITY_IDP_CONNECTOR\"] = \"IDENTITY_IDP_CONNECTOR\";\n ComponentType2[\"ITEMS_SELECTION_PROVIDER\"] = \"ITEMS_SELECTION_PROVIDER\";\n ComponentType2[\"PORTFOLIO_SYNCED_PROJECTS_PROVIDER\"] = \"PORTFOLIO_SYNCED_PROJECTS_PROVIDER\";\n ComponentType2[\"COMMUNICATION_CHANNEL\"] = \"COMMUNICATION_CHANNEL\";\n ComponentType2[\"IDENTITY_POST_LOGIN\"] = \"IDENTITY_POST_LOGIN\";\n ComponentType2[\"BACK_OFFICE_WIDGET\"] = \"BACK_OFFICE_WIDGET\";\n ComponentType2[\"SOCIAL_MARKETING_DESIGN\"] = \"SOCIAL_MARKETING_DESIGN\";\n ComponentType2[\"FORMS_SUBMISSIONS_PROVIDER\"] = \"FORMS_SUBMISSIONS_PROVIDER\";\n ComponentType2[\"WIX_OFFERING\"] = \"WIX_OFFERING\";\n ComponentType2[\"DEV_CENTER_TESTING_COMPONENT\"] = \"DEV_CENTER_TESTING_COMPONENT\";\n ComponentType2[\"COMPONENTS_VALIDATOR_PROVIDER\"] = \"COMPONENTS_VALIDATOR_PROVIDER\";\n ComponentType2[\"COMPONENTS_TRANSLATIONS_ADDITIONAL_FIELDS_PROVIDER\"] = \"COMPONENTS_TRANSLATIONS_ADDITIONAL_FIELDS_PROVIDER\";\n ComponentType2[\"FORMS_SCHEMA_PROVIDER\"] = \"FORMS_SCHEMA_PROVIDER\";\n ComponentType2[\"BOOKINGS_EXTERNAL_CALENDAR_PROVIDER\"] = \"BOOKINGS_EXTERNAL_CALENDAR_PROVIDER\";\n ComponentType2[\"ECOM_DEFAULT_TAXATION_CATEGORY\"] = \"ECOM_DEFAULT_TAXATION_CATEGORY\";\n ComponentType2[\"VIEWER_DYNAMIC_SITE_STRUCTURE_PROVIDER\"] = \"VIEWER_DYNAMIC_SITE_STRUCTURE_PROVIDER\";\n ComponentType2[\"PING_UOU_NOTIFICATION\"] = \"PING_UOU_NOTIFICATION\";\n ComponentType2[\"HEADLESS_OAUTH\"] = \"HEADLESS_OAUTH\";\n ComponentType2[\"ECOM_TAX_CALCULATOR_SPI\"] = \"ECOM_TAX_CALCULATOR_SPI\";\n ComponentType2[\"COMMENTS_MODERATION_PROVIDER\"] = \"COMMENTS_MODERATION_PROVIDER\";\n ComponentType2[\"GRID_APP_FILES_TRANSFORMER\"] = \"GRID_APP_FILES_TRANSFORMER\";\n ComponentType2[\"BENEFIT_PROGRAMS_POLICY_PROVIDER\"] = \"BENEFIT_PROGRAMS_POLICY_PROVIDER\";\n ComponentType2[\"PREMIUM_CUSTOM_CHARGES\"] = \"PREMIUM_CUSTOM_CHARGES\";\n ComponentType2[\"ECOM_VALIDATIONS\"] = \"ECOM_VALIDATIONS\";\n ComponentType2[\"COMPONENT_REFERENCE_DATA_PROVIDER\"] = \"COMPONENT_REFERENCE_DATA_PROVIDER\";\n ComponentType2[\"WIX_REVIEWS_PRODUCT_CATALOG\"] = \"WIX_REVIEWS_PRODUCT_CATALOG\";\n ComponentType2[\"SOCIAL_MARKETING_DESIGNS_PROVIDER\"] = \"SOCIAL_MARKETING_DESIGNS_PROVIDER\";\n ComponentType2[\"GOOGLE_BUSINESS_PROFILE_FEATURE_PROVIDER\"] = \"GOOGLE_BUSINESS_PROFILE_FEATURE_PROVIDER\";\n ComponentType2[\"COMMENTS_FILTER_PROVIDER\"] = \"COMMENTS_FILTER_PROVIDER\";\n ComponentType2[\"BILLING_TAX_ID_VALIDATOR\"] = \"BILLING_TAX_ID_VALIDATOR\";\n ComponentType2[\"PING_SETTINGS_GROUP\"] = \"PING_SETTINGS_GROUP\";\n ComponentType2[\"FORMS_SPAM_SUBMISSIONS_PROVIDER\"] = \"FORMS_SPAM_SUBMISSIONS_PROVIDER\";\n ComponentType2[\"EDITOR_ADDON\"] = \"EDITOR_ADDON\";\n ComponentType2[\"EXTERNAL_DATABASE_PROVIDER\"] = \"EXTERNAL_DATABASE_PROVIDER\";\n ComponentType2[\"ECOM_PAYMENT_SETTINGS\"] = \"ECOM_PAYMENT_SETTINGS\";\n ComponentType2[\"NOTIFICATION_TOPIC\"] = \"NOTIFICATION_TOPIC\";\n ComponentType2[\"NOTIFICATION_PREFERENCES_FILTER_PROVIDER\"] = \"NOTIFICATION_PREFERENCES_FILTER_PROVIDER\";\n ComponentType2[\"BOOKINGS_RESOURCE_TYPES_PROVIDER\"] = \"BOOKINGS_RESOURCE_TYPES_PROVIDER\";\n ComponentType2[\"PRICING_PLANS_FORM_CONFIGURATION\"] = \"PRICING_PLANS_FORM_CONFIGURATION\";\n ComponentType2[\"USER_NOTIFICATION\"] = \"USER_NOTIFICATION\";\n ComponentType2[\"CONTACT_NOTIFICATION\"] = \"CONTACT_NOTIFICATION\";\n ComponentType2[\"UNIFIED_PAGE\"] = \"UNIFIED_PAGE\";\n ComponentType2[\"AVAILABILITY_TIME_SLOTS_CONFIGURATION_PROVIDER\"] = \"AVAILABILITY_TIME_SLOTS_CONFIGURATION_PROVIDER\";\n ComponentType2[\"PROPOSAL_EDITOR_PROVIDER\"] = \"PROPOSAL_EDITOR_PROVIDER\";\n ComponentType2[\"CUSTOM_TABLE_RESERVATIONS_PROVIDER\"] = \"CUSTOM_TABLE_RESERVATIONS_PROVIDER\";\n ComponentType2[\"COMMENTS_CONTEXT_PROVIDER\"] = \"COMMENTS_CONTEXT_PROVIDER\";\n ComponentType2[\"FORMS_SPAM_SUBMISSION_REPORTS_PROVIDER\"] = \"FORMS_SPAM_SUBMISSION_REPORTS_PROVIDER\";\n ComponentType2[\"AUTOMATIONS_VELO_ACTION_PROVIDER\"] = \"AUTOMATIONS_VELO_ACTION_PROVIDER\";\n ComponentType2[\"CALENDAR_EVENT_TYPE_PROVIDER\"] = \"CALENDAR_EVENT_TYPE_PROVIDER\";\n ComponentType2[\"RESERVED\"] = \"RESERVED\";\n ComponentType2[\"SMS_ACTION_MESSAGE\"] = \"SMS_ACTION_MESSAGE\";\n ComponentType2[\"BOOKING_POLICY_PROVIDER\"] = \"BOOKING_POLICY_PROVIDER\";\n ComponentType2[\"MULTI_SERVICE_BOOKING_POLICY_PROVIDER\"] = \"MULTI_SERVICE_BOOKING_POLICY_PROVIDER\";\n ComponentType2[\"AI_ASSISTANT\"] = \"AI_ASSISTANT\";\n ComponentType2[\"FORMS_SUBMISSIONS_EXTENSION_PROVIDER\"] = \"FORMS_SUBMISSIONS_EXTENSION_PROVIDER\";\n ComponentType2[\"MULTILINGUAL_TRANSLATION_SCHEMA\"] = \"MULTILINGUAL_TRANSLATION_SCHEMA\";\n ComponentType2[\"TAX_CALCULATION_PROVIDER\"] = \"TAX_CALCULATION_PROVIDER\";\n ComponentType2[\"TAX_GROUPS_PROVIDER\"] = \"TAX_GROUPS_PROVIDER\";\n ComponentType2[\"BACK_OFFICE_MODAL\"] = \"BACK_OFFICE_MODAL\";\n ComponentType2[\"DEPLOYMENT_PIPELINE_PROVIDER\"] = \"DEPLOYMENT_PIPELINE_PROVIDER\";\n ComponentType2[\"CUSTOM_ELEMENT_WIDGET\"] = \"CUSTOM_ELEMENT_WIDGET\";\n ComponentType2[\"BACK_OFFICE_EXTENSION_WIDGET\"] = \"BACK_OFFICE_EXTENSION_WIDGET\";\n ComponentType2[\"BACK_OFFICE_EXTENSION_MENU_ITEM\"] = \"BACK_OFFICE_EXTENSION_MENU_ITEM\";\n ComponentType2[\"FORM_TEMPLATE\"] = \"FORM_TEMPLATE\";\n ComponentType2[\"NOTIFICATION_CONTENT\"] = \"NOTIFICATION_CONTENT\";\n ComponentType2[\"BROADCAST_LIST\"] = \"BROADCAST_LIST\";\n ComponentType2[\"PARTNERS_PAYOUTS\"] = \"PARTNERS_PAYOUTS\";\n ComponentType2[\"WIX_REVIEWS_ENTITY_CATALOG\"] = \"WIX_REVIEWS_ENTITY_CATALOG\";\n ComponentType2[\"VELO_PUBLISH_PIPELINE_TASK_PROVIDER\"] = \"VELO_PUBLISH_PIPELINE_TASK_PROVIDER\";\n ComponentType2[\"FUNCTIONS_SHOP_PRICE_PROVIDER\"] = \"FUNCTIONS_SHOP_PRICE_PROVIDER\";\n ComponentType2[\"FUNCTION\"] = \"FUNCTION\";\n ComponentType2[\"ECOM_CHECKOUT_CONTENT\"] = \"ECOM_CHECKOUT_CONTENT\";\n ComponentType2[\"COMMUNICATION_CHANNEL_PROVIDER\"] = \"COMMUNICATION_CHANNEL_PROVIDER\";\n ComponentType2[\"WEBHOOK\"] = \"WEBHOOK\";\n ComponentType2[\"TOPOLOGY\"] = \"TOPOLOGY\";\n ComponentType2[\"LOYALTY_CUSTOM_REWARDS\"] = \"LOYALTY_CUSTOM_REWARDS\";\n ComponentType2[\"FUNCTION_RECIPE\"] = \"FUNCTION_RECIPE\";\n ComponentType2[\"BACK_OFFICE_EXTERNAL_URL\"] = \"BACK_OFFICE_EXTERNAL_URL\";\n ComponentType2[\"IDENTITY_FACTOR\"] = \"IDENTITY_FACTOR\";\n ComponentType2[\"ECOM_DISCOUNTS\"] = \"ECOM_DISCOUNTS\";\n ComponentType2[\"VELO_CUSTOM_CSS\"] = \"VELO_CUSTOM_CSS\";\n ComponentType2[\"DEALER_ADAPTIVE_COMPONENT_PROVIDER\"] = \"DEALER_ADAPTIVE_COMPONENT_PROVIDER\";\n ComponentType2[\"AI_ASSISTANT_ACTION\"] = \"AI_ASSISTANT_ACTION\";\n ComponentType2[\"ECOM_INVENTORY\"] = \"ECOM_INVENTORY\";\n ComponentType2[\"MONITORING\"] = \"MONITORING\";\n ComponentType2[\"PAPI_PROVIDER\"] = \"PAPI_PROVIDER\";\n ComponentType2[\"UNIFIED_LIGHTBOX\"] = \"UNIFIED_LIGHTBOX\";\n ComponentType2[\"FORMS_EXTENSION_PROVIDER\"] = \"FORMS_EXTENSION_PROVIDER\";\n ComponentType2[\"MULTILINGUAL_TRANSLATION_SCHEMA_GROUP\"] = \"MULTILINGUAL_TRANSLATION_SCHEMA_GROUP\";\n ComponentType2[\"PANEL\"] = \"PANEL\";\n ComponentType2[\"PREMIUM_PURCHASE_VALIDATIONS\"] = \"PREMIUM_PURCHASE_VALIDATIONS\";\n ComponentType2[\"BROWSER_STORAGE\"] = \"BROWSER_STORAGE\";\n ComponentType2[\"SDK_DEFINITION\"] = \"SDK_DEFINITION\";\n ComponentType2[\"SITE_WIDGET_SLOT\"] = \"SITE_WIDGET_SLOT\";\n ComponentType2[\"CALENDAR_EVENT_VALIDATION_PROVIDER\"] = \"CALENDAR_EVENT_VALIDATION_PROVIDER\";\n ComponentType2[\"CLIENT_SIDE_SERVICE\"] = \"CLIENT_SIDE_SERVICE\";\n ComponentType2[\"BILLING_SETTINGS\"] = \"BILLING_SETTINGS\";\n ComponentType2[\"PATTERNS_WIZARD\"] = \"PATTERNS_WIZARD\";\n ComponentType2[\"APPLICATION_PROFILE\"] = \"APPLICATION_PROFILE\";\n ComponentType2[\"TEXT_TO_SPEECH_ACTION_MESSAGE\"] = \"TEXT_TO_SPEECH_ACTION_MESSAGE\";\n ComponentType2[\"AUDIENCE_PROVIDER\"] = \"AUDIENCE_PROVIDER\";\n ComponentType2[\"PRICING_PLANS_PRICE\"] = \"PRICING_PLANS_PRICE\";\n ComponentType2[\"PRICING_PLAN_START_DATE_LIMITS\"] = \"PRICING_PLAN_START_DATE_LIMITS\";\n ComponentType2[\"PRICING_PLAN_START_DATE_RULES\"] = \"PRICING_PLAN_START_DATE_RULES\";\n ComponentType2[\"EVENTS_TICKET_RESERVATIONS\"] = \"EVENTS_TICKET_RESERVATIONS\";\n ComponentType2[\"PAYMENTS_DISPUTE_SERVICE_PLUGIN\"] = \"PAYMENTS_DISPUTE_SERVICE_PLUGIN\";\n ComponentType2[\"PRICING_PLANS_FEES\"] = \"PRICING_PLANS_FEES\";\n ComponentType2[\"EDITOR_REACT_COMPONENT\"] = \"EDITOR_REACT_COMPONENT\";\n ComponentType2[\"SUPPLIERS_HUB_MARKETPLACE\"] = \"SUPPLIERS_HUB_MARKETPLACE\";\n ComponentType2[\"FORM_SCHEMA_DYNAMIC_VALUES\"] = \"FORM_SCHEMA_DYNAMIC_VALUES\";\n ComponentType2[\"BLOG_PAYWALL_PROVIDER\"] = \"BLOG_PAYWALL_PROVIDER\";\n ComponentType2[\"LOYALTY_CUSTOM_REWARDS_V2\"] = \"LOYALTY_CUSTOM_REWARDS_V2\";\n ComponentType2[\"STORES_PRODUCT_RESTRICTIONS\"] = \"STORES_PRODUCT_RESTRICTIONS\";\n ComponentType2[\"FORM_SUBMISSION_MODERATION\"] = \"FORM_SUBMISSION_MODERATION\";\n ComponentType2[\"EVENTS_EVENT_BADGES\"] = \"EVENTS_EVENT_BADGES\";\n ComponentType2[\"BILLING_OPERATION\"] = \"BILLING_OPERATION\";\n ComponentType2[\"BACK_OFFICE_CUSTOMIZATION\"] = \"BACK_OFFICE_CUSTOMIZATION\";\n ComponentType2[\"COMPONENT_ENRICHER_PROVIDER\"] = \"COMPONENT_ENRICHER_PROVIDER\";\n ComponentType2[\"BACK_OFFICE_RESTRICTED_CUSTOMIZATION\"] = \"BACK_OFFICE_RESTRICTED_CUSTOMIZATION\";\n ComponentType2[\"EDITOR_APP_PREVIEWS_POC\"] = \"EDITOR_APP_PREVIEWS_POC\";\n ComponentType2[\"LEGENDS_PERSONA_CONFIGURATION\"] = \"LEGENDS_PERSONA_CONFIGURATION\";\n ComponentType2[\"WIX_HOSTING_APP_DEPLOYMENT_PROVIDER\"] = \"WIX_HOSTING_APP_DEPLOYMENT_PROVIDER\";\n ComponentType2[\"BACKEND_WORKER\"] = \"BACKEND_WORKER\";\n ComponentType2[\"EVENT_TIME_SLOTS_CONFIGURATION_PROVIDER\"] = \"EVENT_TIME_SLOTS_CONFIGURATION_PROVIDER\";\n ComponentType2[\"WIX_HOSTING_APP_ENVIRONMENT_PROVIDER\"] = \"WIX_HOSTING_APP_ENVIRONMENT_PROVIDER\";\n ComponentType2[\"SDK_EXPORTS\"] = \"SDK_EXPORTS\";\n ComponentType2[\"VIEWER_SERVICE\"] = \"VIEWER_SERVICE\";\n ComponentType2[\"WIX_PAYMENTS_PROVIDER_ACCOUNT_SERVICE_PLUGIN\"] = \"WIX_PAYMENTS_PROVIDER_ACCOUNT_SERVICE_PLUGIN\";\n})(ComponentType || (ComponentType = {}));\nvar WidgetVertical;\n(function(WidgetVertical2) {\n WidgetVertical2[\"NONE_VERTICAL\"] = \"NONE_VERTICAL\";\n WidgetVertical2[\"TOP\"] = \"TOP\";\n WidgetVertical2[\"CENTER_VERTICAL\"] = \"CENTER_VERTICAL\";\n WidgetVertical2[\"BOTTOM\"] = \"BOTTOM\";\n})(WidgetVertical || (WidgetVertical = {}));\nvar WidgetHorizontal;\n(function(WidgetHorizontal2) {\n WidgetHorizontal2[\"NONE_HORIZONTAL\"] = \"NONE_HORIZONTAL\";\n WidgetHorizontal2[\"LEFT\"] = \"LEFT\";\n WidgetHorizontal2[\"CENTER_HORIZONTAL\"] = \"CENTER_HORIZONTAL\";\n WidgetHorizontal2[\"RIGHT\"] = \"RIGHT\";\n})(WidgetHorizontal || (WidgetHorizontal = {}));\nvar WidgetWidthType;\n(function(WidgetWidthType2) {\n WidgetWidthType2[\"NONE_TYPE\"] = \"NONE_TYPE\";\n WidgetWidthType2[\"CUSTOM\"] = \"CUSTOM\";\n WidgetWidthType2[\"FULL\"] = \"FULL\";\n})(WidgetWidthType || (WidgetWidthType = {}));\nvar Region;\n(function(Region2) {\n Region2[\"no_region\"] = \"no_region\";\n Region2[\"header\"] = \"header\";\n Region2[\"pageContainer\"] = \"pageContainer\";\n Region2[\"footer\"] = \"footer\";\n})(Region || (Region = {}));\nvar UnitType;\n(function(UnitType2) {\n UnitType2[\"NO_UNIT\"] = \"NO_UNIT\";\n UnitType2[\"AUTO\"] = \"AUTO\";\n UnitType2[\"PX\"] = \"PX\";\n UnitType2[\"VH\"] = \"VH\";\n UnitType2[\"VW\"] = \"VW\";\n UnitType2[\"PERCENTAGE\"] = \"PERCENTAGE\";\n})(UnitType || (UnitType = {}));\nvar HorizontalDocking;\n(function(HorizontalDocking2) {\n HorizontalDocking2[\"NO_HDOCKING\"] = \"NO_HDOCKING\";\n HorizontalDocking2[\"LEFT_DOCKING\"] = \"LEFT_DOCKING\";\n HorizontalDocking2[\"HCENTER\"] = \"HCENTER\";\n HorizontalDocking2[\"RIGHT_DOCKING\"] = \"RIGHT_DOCKING\";\n})(HorizontalDocking || (HorizontalDocking = {}));\nvar VerticalDocking;\n(function(VerticalDocking2) {\n VerticalDocking2[\"NO_VDOCKING\"] = \"NO_VDOCKING\";\n VerticalDocking2[\"TOP_DOCKING\"] = \"TOP_DOCKING\";\n VerticalDocking2[\"VCENTER\"] = \"VCENTER\";\n VerticalDocking2[\"BOTTOM_DOCKING\"] = \"BOTTOM_DOCKING\";\n})(VerticalDocking || (VerticalDocking = {}));\nvar ReplacementType;\n(function(ReplacementType2) {\n ReplacementType2[\"UNKNOWN_REPLACEMENT\"] = \"UNKNOWN_REPLACEMENT\";\n ReplacementType2[\"REPLACING\"] = \"REPLACING\";\n ReplacementType2[\"REPLACEABLE\"] = \"REPLACEABLE\";\n})(ReplacementType || (ReplacementType = {}));\nvar PluginInterface;\n(function(PluginInterface2) {\n PluginInterface2[\"NONE_INTERFACE\"] = \"NONE_INTERFACE\";\n PluginInterface2[\"REVIEWS\"] = \"REVIEWS\";\n PluginInterface2[\"RATINGS_SUMMARY\"] = \"RATINGS_SUMMARY\";\n PluginInterface2[\"RATINGS_SUMMARY_OOI_LIST\"] = \"RATINGS_SUMMARY_OOI_LIST\";\n PluginInterface2[\"BOOKINGS_SERVICE\"] = \"BOOKINGS_SERVICE\";\n PluginInterface2[\"BOOKINGS_FORM\"] = \"BOOKINGS_FORM\";\n PluginInterface2[\"BASE\"] = \"BASE\";\n PluginInterface2[\"EVENT\"] = \"EVENT\";\n PluginInterface2[\"PRODUCT\"] = \"PRODUCT\";\n PluginInterface2[\"CHECKOUT\"] = \"CHECKOUT\";\n PluginInterface2[\"CATEGORY\"] = \"CATEGORY\";\n PluginInterface2[\"BOOKINGS_CALENDAR\"] = \"BOOKINGS_CALENDAR\";\n PluginInterface2[\"CART\"] = \"CART\";\n})(PluginInterface || (PluginInterface = {}));\nvar ExtensionExposureExposure;\n(function(ExtensionExposureExposure2) {\n ExtensionExposureExposure2[\"PRIVATE\"] = \"PRIVATE\";\n ExtensionExposureExposure2[\"INTERNAL\"] = \"INTERNAL\";\n ExtensionExposureExposure2[\"PUBLIC\"] = \"PUBLIC\";\n})(ExtensionExposureExposure || (ExtensionExposureExposure = {}));\nvar Maturity;\n(function(Maturity2) {\n Maturity2[\"ALPHA\"] = \"ALPHA\";\n Maturity2[\"BETA\"] = \"BETA\";\n Maturity2[\"GA\"] = \"GA\";\n Maturity2[\"NOT_IMPLEMENTED\"] = \"NOT_IMPLEMENTED\";\n})(Maturity || (Maturity = {}));\nvar HTTPMethod;\n(function(HTTPMethod2) {\n HTTPMethod2[\"UNKNOWN_METHOD\"] = \"UNKNOWN_METHOD\";\n HTTPMethod2[\"GET\"] = \"GET\";\n HTTPMethod2[\"POST\"] = \"POST\";\n})(HTTPMethod || (HTTPMethod = {}));\nvar InstallPage;\n(function(InstallPage2) {\n InstallPage2[\"NO_PAGE\"] = \"NO_PAGE\";\n InstallPage2[\"CURRENT\"] = \"CURRENT\";\n InstallPage2[\"PAGE\"] = \"PAGE\";\n InstallPage2[\"LIGHTBOX\"] = \"LIGHTBOX\";\n})(InstallPage || (InstallPage = {}));\nvar RegionType;\n(function(RegionType2) {\n RegionType2[\"HEADER\"] = \"HEADER\";\n RegionType2[\"BODY\"] = \"BODY\";\n RegionType2[\"FOOTER\"] = \"FOOTER\";\n})(RegionType || (RegionType = {}));\nvar StaticContainer;\n(function(StaticContainer2) {\n StaticContainer2[\"UNKNOWN_CONTAINER\"] = \"UNKNOWN_CONTAINER\";\n StaticContainer2[\"HOMEPAGE\"] = \"HOMEPAGE\";\n})(StaticContainer || (StaticContainer = {}));\nvar EmbeddedScriptPages;\n(function(EmbeddedScriptPages2) {\n EmbeddedScriptPages2[\"NONE_PAGES\"] = \"NONE_PAGES\";\n EmbeddedScriptPages2[\"ONCE\"] = \"ONCE\";\n EmbeddedScriptPages2[\"SPECIFIC_PAGES\"] = \"SPECIFIC_PAGES\";\n})(EmbeddedScriptPages || (EmbeddedScriptPages = {}));\nvar EmbeddedScriptPlacement;\n(function(EmbeddedScriptPlacement2) {\n EmbeddedScriptPlacement2[\"NONE_PLACEMENT\"] = \"NONE_PLACEMENT\";\n EmbeddedScriptPlacement2[\"HEAD\"] = \"HEAD\";\n EmbeddedScriptPlacement2[\"BODY_START\"] = \"BODY_START\";\n EmbeddedScriptPlacement2[\"BODY_END\"] = \"BODY_END\";\n})(EmbeddedScriptPlacement || (EmbeddedScriptPlacement = {}));\nvar EmbedCategory;\n(function(EmbedCategory2) {\n EmbedCategory2[\"UNKNOWN\"] = \"UNKNOWN\";\n EmbedCategory2[\"ESSENTIAL\"] = \"ESSENTIAL\";\n EmbedCategory2[\"FUNCTIONAL\"] = \"FUNCTIONAL\";\n EmbedCategory2[\"ANALYTICS\"] = \"ANALYTICS\";\n EmbedCategory2[\"ADVERTISING\"] = \"ADVERTISING\";\n})(EmbedCategory || (EmbedCategory = {}));\nvar TemplateDefaultColor;\n(function(TemplateDefaultColor2) {\n TemplateDefaultColor2[\"BACKGROUND\"] = \"BACKGROUND\";\n TemplateDefaultColor2[\"SECONDARY_TEXTS\"] = \"SECONDARY_TEXTS\";\n TemplateDefaultColor2[\"MAIN_TEXT_AND_ICONS\"] = \"MAIN_TEXT_AND_ICONS\";\n TemplateDefaultColor2[\"BORDERS_AND_DIVIDERS\"] = \"BORDERS_AND_DIVIDERS\";\n TemplateDefaultColor2[\"BUTTONS_AND_LINKS\"] = \"BUTTONS_AND_LINKS\";\n})(TemplateDefaultColor || (TemplateDefaultColor = {}));\nvar ThumbnailsSize;\n(function(ThumbnailsSize2) {\n ThumbnailsSize2[\"SMALL\"] = \"SMALL\";\n ThumbnailsSize2[\"MEDIUM\"] = \"MEDIUM\";\n ThumbnailsSize2[\"LARGE\"] = \"LARGE\";\n ThumbnailsSize2[\"XLARGE\"] = \"XLARGE\";\n})(ThumbnailsSize || (ThumbnailsSize = {}));\nvar BarAlignmentSelected;\n(function(BarAlignmentSelected2) {\n BarAlignmentSelected2[\"ALIGN_LEFT\"] = \"ALIGN_LEFT\";\n BarAlignmentSelected2[\"ALIGN_CENTER\"] = \"ALIGN_CENTER\";\n BarAlignmentSelected2[\"ALIGN_RIGHT\"] = \"ALIGN_RIGHT\";\n})(BarAlignmentSelected || (BarAlignmentSelected = {}));\nvar DefaultTextStyle;\n(function(DefaultTextStyle2) {\n DefaultTextStyle2[\"TITLE\"] = \"TITLE\";\n DefaultTextStyle2[\"PARAGRAPH\"] = \"PARAGRAPH\";\n DefaultTextStyle2[\"LOWER_HIERARCHY_TEXTS\"] = \"LOWER_HIERARCHY_TEXTS\";\n})(DefaultTextStyle || (DefaultTextStyle = {}));\nvar ElementType;\n(function(ElementType2) {\n ElementType2[\"WIDGET\"] = \"WIDGET\";\n ElementType2[\"PAGE\"] = \"PAGE\";\n})(ElementType || (ElementType = {}));\nvar ScriptType;\n(function(ScriptType2) {\n ScriptType2[\"NO_SCRIPT_TYPE\"] = \"NO_SCRIPT_TYPE\";\n ScriptType2[\"MODULE\"] = \"MODULE\";\n})(ScriptType || (ScriptType = {}));\nvar ExtensionType;\n(function(ExtensionType2) {\n ExtensionType2[\"NONE_EXTENSION\"] = \"NONE_EXTENSION\";\n ExtensionType2[\"PAYMENTS_GATEWAY_EXTENSION\"] = \"PAYMENTS_GATEWAY_EXTENSION\";\n ExtensionType2[\"COUPONS_EXTENSION\"] = \"COUPONS_EXTENSION\";\n ExtensionType2[\"DROPSHIPPING_EXTENSION\"] = \"DROPSHIPPING_EXTENSION\";\n ExtensionType2[\"FULFILMENT_EXTENSION\"] = \"FULFILMENT_EXTENSION\";\n ExtensionType2[\"DROPSHIPPING_SUPPLIER_EXTENSION\"] = \"DROPSHIPPING_SUPPLIER_EXTENSION\";\n ExtensionType2[\"FULFILLMENT_CENTER_EXTENSION\"] = \"FULFILLMENT_CENTER_EXTENSION\";\n ExtensionType2[\"RESTAURANTS_POS_EXTENSION\"] = \"RESTAURANTS_POS_EXTENSION\";\n ExtensionType2[\"ART_STORE_EXTENSION\"] = \"ART_STORE_EXTENSION\";\n ExtensionType2[\"ASCEND_AUTOMATION_EXTENSION\"] = \"ASCEND_AUTOMATION_EXTENSION\";\n ExtensionType2[\"CONTACT_LABELS_EXTENSION\"] = \"CONTACT_LABELS_EXTENSION\";\n})(ExtensionType || (ExtensionType = {}));\nvar PrimitiveType;\n(function(PrimitiveType2) {\n PrimitiveType2[\"UNKNOWN_PRIMITIVE_TYPE\"] = \"UNKNOWN_PRIMITIVE_TYPE\";\n PrimitiveType2[\"TEXT\"] = \"TEXT\";\n PrimitiveType2[\"BOOLEAN\"] = \"BOOLEAN\";\n PrimitiveType2[\"NUMBER\"] = \"NUMBER\";\n})(PrimitiveType || (PrimitiveType = {}));\nvar SimpleType;\n(function(SimpleType2) {\n SimpleType2[\"UNKNOWN_SIMPLE_TYPE\"] = \"UNKNOWN_SIMPLE_TYPE\";\n SimpleType2[\"MONEY\"] = \"MONEY\";\n SimpleType2[\"LINK\"] = \"LINK\";\n SimpleType2[\"BACKOFFICE_LINK\"] = \"BACKOFFICE_LINK\";\n SimpleType2[\"LIVESITE_LINK\"] = \"LIVESITE_LINK\";\n SimpleType2[\"MULTILINGUAL\"] = \"MULTILINGUAL\";\n SimpleType2[\"IMAGE_LINK\"] = \"IMAGE_LINK\";\n SimpleType2[\"GUID\"] = \"GUID\";\n SimpleType2[\"EMAIL\"] = \"EMAIL\";\n SimpleType2[\"PHONE\"] = \"PHONE\";\n SimpleType2[\"CONTACT_ID\"] = \"CONTACT_ID\";\n})(SimpleType || (SimpleType = {}));\nvar SchemaFieldExposure;\n(function(SchemaFieldExposure2) {\n SchemaFieldExposure2[\"UNKNOWN_EXPOSURE\"] = \"UNKNOWN_EXPOSURE\";\n SchemaFieldExposure2[\"SETUP\"] = \"SETUP\";\n SchemaFieldExposure2[\"HIDDEN\"] = \"HIDDEN\";\n SchemaFieldExposure2[\"EXPOSED\"] = \"EXPOSED\";\n})(SchemaFieldExposure || (SchemaFieldExposure = {}));\nvar PartialPaymentRestriction;\n(function(PartialPaymentRestriction2) {\n PartialPaymentRestriction2[\"UNDEFINED\"] = \"UNDEFINED\";\n PartialPaymentRestriction2[\"ALLOW\"] = \"ALLOW\";\n PartialPaymentRestriction2[\"DISALLOW\"] = \"DISALLOW\";\n})(PartialPaymentRestriction || (PartialPaymentRestriction = {}));\nvar HostContainerId;\n(function(HostContainerId2) {\n HostContainerId2[\"BUSINESS_MANAGER\"] = \"BUSINESS_MANAGER\";\n HostContainerId2[\"BUSINESS_DASHBOARD_HOST\"] = \"BUSINESS_DASHBOARD_HOST\";\n HostContainerId2[\"SIDEBAR_FOOTER\"] = \"SIDEBAR_FOOTER\";\n})(HostContainerId || (HostContainerId = {}));\nvar MandatoryField;\n(function(MandatoryField2) {\n MandatoryField2[\"ZIPCODE\"] = \"ZIPCODE\";\n MandatoryField2[\"CITY\"] = \"CITY\";\n MandatoryField2[\"STATE\"] = \"STATE\";\n MandatoryField2[\"ADDRESS\"] = \"ADDRESS\";\n MandatoryField2[\"COUNTRY_CODE\"] = \"COUNTRY_CODE\";\n MandatoryField2[\"EMAIL\"] = \"EMAIL\";\n MandatoryField2[\"PHONE\"] = \"PHONE\";\n MandatoryField2[\"FIRST_NAME\"] = \"FIRST_NAME\";\n MandatoryField2[\"LAST_NAME\"] = \"LAST_NAME\";\n MandatoryField2[\"STREET\"] = \"STREET\";\n MandatoryField2[\"HOUSE_NUMBER\"] = \"HOUSE_NUMBER\";\n MandatoryField2[\"TAX_IDENTIFIER\"] = \"TAX_IDENTIFIER\";\n})(MandatoryField || (MandatoryField = {}));\nvar MeasurementSystem;\n(function(MeasurementSystem2) {\n MeasurementSystem2[\"Metric\"] = \"Metric\";\n MeasurementSystem2[\"Imperial\"] = \"Imperial\";\n})(MeasurementSystem || (MeasurementSystem = {}));\nvar Default;\n(function(Default2) {\n Default2[\"WIX\"] = \"WIX\";\n Default2[\"POS\"] = \"POS\";\n})(Default || (Default = {}));\nvar HookType;\n(function(HookType2) {\n HookType2[\"UNDEFINED\"] = \"UNDEFINED\";\n HookType2[\"BEFORE_BLOCKING\"] = \"BEFORE_BLOCKING\";\n HookType2[\"BEFORE\"] = \"BEFORE\";\n HookType2[\"AFTER\"] = \"AFTER\";\n})(HookType || (HookType = {}));\nvar InterfaceConfigurationType;\n(function(InterfaceConfigurationType2) {\n InterfaceConfigurationType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n InterfaceConfigurationType2[\"WIDGET_COMPONENT\"] = \"WIDGET_COMPONENT\";\n InterfaceConfigurationType2[\"GENERIC\"] = \"GENERIC\";\n})(InterfaceConfigurationType || (InterfaceConfigurationType = {}));\nvar SourceType;\n(function(SourceType2) {\n SourceType2[\"UNKNOWN_SOURCE_TYPE\"] = \"UNKNOWN_SOURCE_TYPE\";\n SourceType2[\"DEV_CENTER\"] = \"DEV_CENTER\";\n SourceType2[\"WIX_API\"] = \"WIX_API\";\n})(SourceType || (SourceType = {}));\nvar ExecutionType;\n(function(ExecutionType2) {\n ExecutionType2[\"UNKNOWN_EXECUTION_TYPE\"] = \"UNKNOWN_EXECUTION_TYPE\";\n ExecutionType2[\"SYNC\"] = \"SYNC\";\n ExecutionType2[\"ASYNC\"] = \"ASYNC\";\n})(ExecutionType || (ExecutionType = {}));\nvar ExtendingComponentType;\n(function(ExtendingComponentType2) {\n ExtendingComponentType2[\"INVALID\"] = \"INVALID\";\n ExtendingComponentType2[\"BACK_OFFICE_MENU_ITEM\"] = \"BACK_OFFICE_MENU_ITEM\";\n ExtendingComponentType2[\"BACK_OFFICE_EXTENSION_WIDGET\"] = \"BACK_OFFICE_EXTENSION_WIDGET\";\n})(ExtendingComponentType || (ExtendingComponentType = {}));\nvar BackOfficeHostingPlatforms;\n(function(BackOfficeHostingPlatforms2) {\n BackOfficeHostingPlatforms2[\"NO_HOSTING_PLATFORM\"] = \"NO_HOSTING_PLATFORM\";\n BackOfficeHostingPlatforms2[\"BUSINESS_MANAGER\"] = \"BUSINESS_MANAGER\";\n BackOfficeHostingPlatforms2[\"ACCOUNT_MANAGER\"] = \"ACCOUNT_MANAGER\";\n BackOfficeHostingPlatforms2[\"DEV_CENTER\"] = \"DEV_CENTER\";\n BackOfficeHostingPlatforms2[\"ENTERPRISE\"] = \"ENTERPRISE\";\n BackOfficeHostingPlatforms2[\"PARTNERS_DASHBOARD\"] = \"PARTNERS_DASHBOARD\";\n BackOfficeHostingPlatforms2[\"FINANCIALS_INTERNAL_BO\"] = \"FINANCIALS_INTERNAL_BO\";\n BackOfficeHostingPlatforms2[\"FED_GUILD_POC\"] = \"FED_GUILD_POC\";\n BackOfficeHostingPlatforms2[\"STUDIO_DASHBOARD\"] = \"STUDIO_DASHBOARD\";\n BackOfficeHostingPlatforms2[\"CHANNELS\"] = \"CHANNELS\";\n BackOfficeHostingPlatforms2[\"DATA_TOOLS\"] = \"DATA_TOOLS\";\n BackOfficeHostingPlatforms2[\"PSP_BACKOFFICE\"] = \"PSP_BACKOFFICE\";\n BackOfficeHostingPlatforms2[\"RISE_PLATFORM_ACCOUNT_DASHBOARD\"] = \"RISE_PLATFORM_ACCOUNT_DASHBOARD\";\n BackOfficeHostingPlatforms2[\"DEMO_DASHBOARD_ENTERPRISE\"] = \"DEMO_DASHBOARD_ENTERPRISE\";\n BackOfficeHostingPlatforms2[\"AI_SCHEDULING_ASSISTANT_DASHBOARD\"] = \"AI_SCHEDULING_ASSISTANT_DASHBOARD\";\n BackOfficeHostingPlatforms2[\"GETTING_PAID\"] = \"GETTING_PAID\";\n BackOfficeHostingPlatforms2[\"DATA\"] = \"DATA\";\n BackOfficeHostingPlatforms2[\"LITE_DASHBOARD\"] = \"LITE_DASHBOARD\";\n BackOfficeHostingPlatforms2[\"PICASSO_EDITOR\"] = \"PICASSO_EDITOR\";\n})(BackOfficeHostingPlatforms || (BackOfficeHostingPlatforms = {}));\nvar DtsDefinitionType;\n(function(DtsDefinitionType2) {\n DtsDefinitionType2[\"UNKNOWN\"] = \"UNKNOWN\";\n DtsDefinitionType2[\"DTS_HTTP_LINK\"] = \"DTS_HTTP_LINK\";\n DtsDefinitionType2[\"DTS_CONTENT\"] = \"DTS_CONTENT\";\n})(DtsDefinitionType || (DtsDefinitionType = {}));\nvar SlotDataType;\n(function(SlotDataType2) {\n SlotDataType2[\"UNKNOWN\"] = \"UNKNOWN\";\n SlotDataType2[\"WIDGET\"] = \"WIDGET\";\n SlotDataType2[\"MENU\"] = \"MENU\";\n})(SlotDataType || (SlotDataType = {}));\nvar BackOfficeScriptAssetType;\n(function(BackOfficeScriptAssetType2) {\n BackOfficeScriptAssetType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n BackOfficeScriptAssetType2[\"MODULE\"] = \"MODULE\";\n})(BackOfficeScriptAssetType || (BackOfficeScriptAssetType = {}));\nvar ViewMode;\n(function(ViewMode2) {\n ViewMode2[\"PAGE\"] = \"PAGE\";\n ViewMode2[\"MODAL\"] = \"MODAL\";\n})(ViewMode || (ViewMode = {}));\nvar AlgorithmType;\n(function(AlgorithmType2) {\n AlgorithmType2[\"UNSPECIFIED\"] = \"UNSPECIFIED\";\n AlgorithmType2[\"RELATED_ITEMS\"] = \"RELATED_ITEMS\";\n AlgorithmType2[\"GLOBAL\"] = \"GLOBAL\";\n})(AlgorithmType || (AlgorithmType = {}));\nvar LockableOperation;\n(function(LockableOperation2) {\n LockableOperation2[\"UNSPECIFIED_LOCKABLE\"] = \"UNSPECIFIED_LOCKABLE\";\n LockableOperation2[\"LOCKED\"] = \"LOCKED\";\n LockableOperation2[\"UNLOCKED\"] = \"UNLOCKED\";\n})(LockableOperation || (LockableOperation = {}));\nvar RestrictedOperation;\n(function(RestrictedOperation2) {\n RestrictedOperation2[\"UNSPECIFIED_RESTRICTED\"] = \"UNSPECIFIED_RESTRICTED\";\n RestrictedOperation2[\"ALLOW\"] = \"ALLOW\";\n RestrictedOperation2[\"WARN\"] = \"WARN\";\n})(RestrictedOperation || (RestrictedOperation = {}));\nvar BlockType;\n(function(BlockType2) {\n BlockType2[\"UNKNOWN\"] = \"UNKNOWN\";\n BlockType2[\"OR\"] = \"OR\";\n BlockType2[\"AND\"] = \"AND\";\n})(BlockType || (BlockType = {}));\nvar Domain;\n(function(Domain2) {\n Domain2[\"USER\"] = \"USER\";\n Domain2[\"WIX\"] = \"WIX\";\n})(Domain || (Domain = {}));\nvar Status;\n(function(Status2) {\n Status2[\"ACTIVE\"] = \"ACTIVE\";\n Status2[\"INACTIVE\"] = \"INACTIVE\";\n})(Status || (Status = {}));\nvar TextInputDisplayType;\n(function(TextInputDisplayType2) {\n TextInputDisplayType2[\"TEXT\"] = \"TEXT\";\n TextInputDisplayType2[\"PASSWORD\"] = \"PASSWORD\";\n TextInputDisplayType2[\"CODE\"] = \"CODE\";\n})(TextInputDisplayType || (TextInputDisplayType = {}));\nvar ThumbnailType;\n(function(ThumbnailType2) {\n ThumbnailType2[\"UNKNOWN_THUMBNAIL_TYPE\"] = \"UNKNOWN_THUMBNAIL_TYPE\";\n ThumbnailType2[\"IMAGE\"] = \"IMAGE\";\n ThumbnailType2[\"AVATAR\"] = \"AVATAR\";\n})(ThumbnailType || (ThumbnailType = {}));\nvar ImageShape;\n(function(ImageShape2) {\n ImageShape2[\"UNKNOWN_SHAPE\"] = \"UNKNOWN_SHAPE\";\n ImageShape2[\"CIRCLE\"] = \"CIRCLE\";\n ImageShape2[\"SQUARE\"] = \"SQUARE\";\n ImageShape2[\"RECTANGLE\"] = \"RECTANGLE\";\n})(ImageShape || (ImageShape = {}));\nvar AvatarShape;\n(function(AvatarShape2) {\n AvatarShape2[\"UNKNOWN_SHAPE\"] = \"UNKNOWN_SHAPE\";\n AvatarShape2[\"CIRCLE\"] = \"CIRCLE\";\n AvatarShape2[\"SQUARE\"] = \"SQUARE\";\n})(AvatarShape || (AvatarShape = {}));\nvar Tag;\n(function(Tag2) {\n Tag2[\"UNKNOWN_TAG\"] = \"UNKNOWN_TAG\";\n Tag2[\"EMBEDDABLE\"] = \"EMBEDDABLE\";\n Tag2[\"ECOM_EDIT_ORDER\"] = \"ECOM_EDIT_ORDER\";\n Tag2[\"ECOM_CREATE_ORDER\"] = \"ECOM_CREATE_ORDER\";\n Tag2[\"INBOX\"] = \"INBOX\";\n Tag2[\"ECOM_CREATE_PAY_LINK\"] = \"ECOM_CREATE_PAY_LINK\";\n Tag2[\"ECOM_DELIVERY_PROFILES\"] = \"ECOM_DELIVERY_PROFILES\";\n Tag2[\"ADD_TO_CATEGORY\"] = \"ADD_TO_CATEGORY\";\n Tag2[\"MY_BUSINESS\"] = \"MY_BUSINESS\";\n})(Tag || (Tag = {}));\nvar FilterSelectionType;\n(function(FilterSelectionType2) {\n FilterSelectionType2[\"UNKNOWN_SELECTION\"] = \"UNKNOWN_SELECTION\";\n FilterSelectionType2[\"SINGLE_SELECTION\"] = \"SINGLE_SELECTION\";\n FilterSelectionType2[\"MULTIPLE_SELECTION\"] = \"MULTIPLE_SELECTION\";\n})(FilterSelectionType || (FilterSelectionType = {}));\nvar FilterOptionsType;\n(function(FilterOptionsType2) {\n FilterOptionsType2[\"UNKNOWN_FILTER_OPTIONS\"] = \"UNKNOWN_FILTER_OPTIONS\";\n FilterOptionsType2[\"STATIC\"] = \"STATIC\";\n FilterOptionsType2[\"PROVIDER\"] = \"PROVIDER\";\n})(FilterOptionsType || (FilterOptionsType = {}));\nvar PaginationMode;\n(function(PaginationMode2) {\n PaginationMode2[\"UNKNOWN_PAGINATION_MODE\"] = \"UNKNOWN_PAGINATION_MODE\";\n PaginationMode2[\"CURSOR\"] = \"CURSOR\";\n PaginationMode2[\"OFFSET\"] = \"OFFSET\";\n})(PaginationMode || (PaginationMode = {}));\nvar ChannelType;\n(function(ChannelType2) {\n ChannelType2[\"UNKNOWN_CHANNEL_TYPE\"] = \"UNKNOWN_CHANNEL_TYPE\";\n ChannelType2[\"DIRECT_MESSAGING\"] = \"DIRECT_MESSAGING\";\n ChannelType2[\"EMAIL\"] = \"EMAIL\";\n ChannelType2[\"SMS\"] = \"SMS\";\n})(ChannelType || (ChannelType = {}));\nvar AcceptedDirectMessageType;\n(function(AcceptedDirectMessageType2) {\n AcceptedDirectMessageType2[\"TEXT\"] = \"TEXT\";\n AcceptedDirectMessageType2[\"MEDIA\"] = \"MEDIA\";\n AcceptedDirectMessageType2[\"CARD\"] = \"CARD\";\n AcceptedDirectMessageType2[\"ANNOUNCEMENT\"] = \"ANNOUNCEMENT\";\n AcceptedDirectMessageType2[\"FORM\"] = \"FORM\";\n})(AcceptedDirectMessageType || (AcceptedDirectMessageType = {}));\nvar MediaMimeType;\n(function(MediaMimeType2) {\n MediaMimeType2[\"UNKNOWN_MIME_TYPE\"] = \"UNKNOWN_MIME_TYPE\";\n MediaMimeType2[\"IMAGE_JPEG\"] = \"IMAGE_JPEG\";\n MediaMimeType2[\"IMAGE_PNG\"] = \"IMAGE_PNG\";\n MediaMimeType2[\"IMAGE_WEBP\"] = \"IMAGE_WEBP\";\n MediaMimeType2[\"VIDEO_MPEG\"] = \"VIDEO_MPEG\";\n MediaMimeType2[\"VIDEO_MP4\"] = \"VIDEO_MP4\";\n MediaMimeType2[\"VIDEO_3GP\"] = \"VIDEO_3GP\";\n MediaMimeType2[\"AUDIO_AAC\"] = \"AUDIO_AAC\";\n MediaMimeType2[\"AUDIO_MP4\"] = \"AUDIO_MP4\";\n MediaMimeType2[\"AUDIO_MPEG\"] = \"AUDIO_MPEG\";\n MediaMimeType2[\"AUDIO_OGG\"] = \"AUDIO_OGG\";\n MediaMimeType2[\"AUDIO_OPUS\"] = \"AUDIO_OPUS\";\n MediaMimeType2[\"APPLICATION_PDF\"] = \"APPLICATION_PDF\";\n MediaMimeType2[\"APPLICATION_OCTET_STREAM\"] = \"APPLICATION_OCTET_STREAM\";\n})(MediaMimeType || (MediaMimeType = {}));\nvar AcceptedSmsMessageType;\n(function(AcceptedSmsMessageType2) {\n AcceptedSmsMessageType2[\"SMS\"] = \"SMS\";\n AcceptedSmsMessageType2[\"MMS\"] = \"MMS\";\n})(AcceptedSmsMessageType || (AcceptedSmsMessageType = {}));\nvar InitDirection;\n(function(InitDirection2) {\n InitDirection2[\"UNKNOWN_INIT_DIRECTION\"] = \"UNKNOWN_INIT_DIRECTION\";\n InitDirection2[\"BUSINESS\"] = \"BUSINESS\";\n InitDirection2[\"CUSTOMER\"] = \"CUSTOMER\";\n InitDirection2[\"BOTH\"] = \"BOTH\";\n})(InitDirection || (InitDirection = {}));\nvar NodeType;\n(function(NodeType2) {\n NodeType2[\"PARAGRAPH\"] = \"PARAGRAPH\";\n NodeType2[\"TEXT\"] = \"TEXT\";\n NodeType2[\"HEADING\"] = \"HEADING\";\n NodeType2[\"BULLETED_LIST\"] = \"BULLETED_LIST\";\n NodeType2[\"ORDERED_LIST\"] = \"ORDERED_LIST\";\n NodeType2[\"LIST_ITEM\"] = \"LIST_ITEM\";\n NodeType2[\"BLOCKQUOTE\"] = \"BLOCKQUOTE\";\n NodeType2[\"CODE_BLOCK\"] = \"CODE_BLOCK\";\n NodeType2[\"VIDEO\"] = \"VIDEO\";\n NodeType2[\"DIVIDER\"] = \"DIVIDER\";\n NodeType2[\"FILE\"] = \"FILE\";\n NodeType2[\"GALLERY\"] = \"GALLERY\";\n NodeType2[\"GIF\"] = \"GIF\";\n NodeType2[\"HTML\"] = \"HTML\";\n NodeType2[\"IMAGE\"] = \"IMAGE\";\n NodeType2[\"LINK_PREVIEW\"] = \"LINK_PREVIEW\";\n NodeType2[\"MAP\"] = \"MAP\";\n NodeType2[\"POLL\"] = \"POLL\";\n NodeType2[\"APP_EMBED\"] = \"APP_EMBED\";\n NodeType2[\"BUTTON\"] = \"BUTTON\";\n NodeType2[\"COLLAPSIBLE_LIST\"] = \"COLLAPSIBLE_LIST\";\n NodeType2[\"TABLE\"] = \"TABLE\";\n NodeType2[\"EMBED\"] = \"EMBED\";\n NodeType2[\"COLLAPSIBLE_ITEM\"] = \"COLLAPSIBLE_ITEM\";\n NodeType2[\"COLLAPSIBLE_ITEM_TITLE\"] = \"COLLAPSIBLE_ITEM_TITLE\";\n NodeType2[\"COLLAPSIBLE_ITEM_BODY\"] = \"COLLAPSIBLE_ITEM_BODY\";\n NodeType2[\"TABLE_CELL\"] = \"TABLE_CELL\";\n NodeType2[\"TABLE_ROW\"] = \"TABLE_ROW\";\n NodeType2[\"EXTERNAL\"] = \"EXTERNAL\";\n NodeType2[\"AUDIO\"] = \"AUDIO\";\n NodeType2[\"CAPTION\"] = \"CAPTION\";\n NodeType2[\"LAYOUT\"] = \"LAYOUT\";\n NodeType2[\"LAYOUT_CELL\"] = \"LAYOUT_CELL\";\n})(NodeType || (NodeType = {}));\nvar WidthType;\n(function(WidthType2) {\n WidthType2[\"CONTENT\"] = \"CONTENT\";\n WidthType2[\"SMALL\"] = \"SMALL\";\n WidthType2[\"ORIGINAL\"] = \"ORIGINAL\";\n WidthType2[\"FULL_WIDTH\"] = \"FULL_WIDTH\";\n})(WidthType || (WidthType = {}));\nvar PluginContainerDataAlignment;\n(function(PluginContainerDataAlignment2) {\n PluginContainerDataAlignment2[\"CENTER\"] = \"CENTER\";\n PluginContainerDataAlignment2[\"LEFT\"] = \"LEFT\";\n PluginContainerDataAlignment2[\"RIGHT\"] = \"RIGHT\";\n})(PluginContainerDataAlignment || (PluginContainerDataAlignment = {}));\nvar ButtonDataType;\n(function(ButtonDataType2) {\n ButtonDataType2[\"LINK\"] = \"LINK\";\n ButtonDataType2[\"ACTION\"] = \"ACTION\";\n})(ButtonDataType || (ButtonDataType = {}));\nvar LinkTarget;\n(function(LinkTarget2) {\n LinkTarget2[\"SELF\"] = \"SELF\";\n LinkTarget2[\"BLANK\"] = \"BLANK\";\n LinkTarget2[\"PARENT\"] = \"PARENT\";\n LinkTarget2[\"TOP\"] = \"TOP\";\n})(LinkTarget || (LinkTarget = {}));\nvar TextAlignment;\n(function(TextAlignment2) {\n TextAlignment2[\"AUTO\"] = \"AUTO\";\n TextAlignment2[\"LEFT\"] = \"LEFT\";\n TextAlignment2[\"RIGHT\"] = \"RIGHT\";\n TextAlignment2[\"CENTER\"] = \"CENTER\";\n TextAlignment2[\"JUSTIFY\"] = \"JUSTIFY\";\n})(TextAlignment || (TextAlignment = {}));\nvar LineStyle;\n(function(LineStyle2) {\n LineStyle2[\"SINGLE\"] = \"SINGLE\";\n LineStyle2[\"DOUBLE\"] = \"DOUBLE\";\n LineStyle2[\"DASHED\"] = \"DASHED\";\n LineStyle2[\"DOTTED\"] = \"DOTTED\";\n})(LineStyle || (LineStyle = {}));\nvar DividerDataWidth;\n(function(DividerDataWidth2) {\n DividerDataWidth2[\"LARGE\"] = \"LARGE\";\n DividerDataWidth2[\"MEDIUM\"] = \"MEDIUM\";\n DividerDataWidth2[\"SMALL\"] = \"SMALL\";\n})(DividerDataWidth || (DividerDataWidth = {}));\nvar Alignment;\n(function(Alignment2) {\n Alignment2[\"CENTER\"] = \"CENTER\";\n Alignment2[\"LEFT\"] = \"LEFT\";\n Alignment2[\"RIGHT\"] = \"RIGHT\";\n})(Alignment || (Alignment = {}));\nvar PDFSettingsViewMode;\n(function(PDFSettingsViewMode2) {\n PDFSettingsViewMode2[\"NONE\"] = \"NONE\";\n PDFSettingsViewMode2[\"FULL\"] = \"FULL\";\n PDFSettingsViewMode2[\"MINI\"] = \"MINI\";\n})(PDFSettingsViewMode || (PDFSettingsViewMode = {}));\nvar LayoutType;\n(function(LayoutType2) {\n LayoutType2[\"COLLAGE\"] = \"COLLAGE\";\n LayoutType2[\"MASONRY\"] = \"MASONRY\";\n LayoutType2[\"GRID\"] = \"GRID\";\n LayoutType2[\"THUMBNAIL\"] = \"THUMBNAIL\";\n LayoutType2[\"SLIDER\"] = \"SLIDER\";\n LayoutType2[\"SLIDESHOW\"] = \"SLIDESHOW\";\n LayoutType2[\"PANORAMA\"] = \"PANORAMA\";\n LayoutType2[\"COLUMN\"] = \"COLUMN\";\n LayoutType2[\"MAGIC\"] = \"MAGIC\";\n LayoutType2[\"FULLSIZE\"] = \"FULLSIZE\";\n})(LayoutType || (LayoutType = {}));\nvar Orientation;\n(function(Orientation2) {\n Orientation2[\"ROWS\"] = \"ROWS\";\n Orientation2[\"COLUMNS\"] = \"COLUMNS\";\n})(Orientation || (Orientation = {}));\nvar Crop;\n(function(Crop2) {\n Crop2[\"FILL\"] = \"FILL\";\n Crop2[\"FIT\"] = \"FIT\";\n})(Crop || (Crop = {}));\nvar ThumbnailsAlignment;\n(function(ThumbnailsAlignment2) {\n ThumbnailsAlignment2[\"TOP\"] = \"TOP\";\n ThumbnailsAlignment2[\"RIGHT\"] = \"RIGHT\";\n ThumbnailsAlignment2[\"BOTTOM\"] = \"BOTTOM\";\n ThumbnailsAlignment2[\"LEFT\"] = \"LEFT\";\n ThumbnailsAlignment2[\"NONE\"] = \"NONE\";\n})(ThumbnailsAlignment || (ThumbnailsAlignment = {}));\nvar GIFType;\n(function(GIFType2) {\n GIFType2[\"NORMAL\"] = \"NORMAL\";\n GIFType2[\"STICKER\"] = \"STICKER\";\n})(GIFType || (GIFType = {}));\nvar Source;\n(function(Source2) {\n Source2[\"HTML\"] = \"HTML\";\n Source2[\"ADSENSE\"] = \"ADSENSE\";\n})(Source || (Source = {}));\nvar StylesPosition;\n(function(StylesPosition2) {\n StylesPosition2[\"START\"] = \"START\";\n StylesPosition2[\"END\"] = \"END\";\n StylesPosition2[\"TOP\"] = \"TOP\";\n StylesPosition2[\"HIDDEN\"] = \"HIDDEN\";\n})(StylesPosition || (StylesPosition = {}));\nvar MapType;\n(function(MapType2) {\n MapType2[\"ROADMAP\"] = \"ROADMAP\";\n MapType2[\"SATELITE\"] = \"SATELITE\";\n MapType2[\"HYBRID\"] = \"HYBRID\";\n MapType2[\"TERRAIN\"] = \"TERRAIN\";\n})(MapType || (MapType = {}));\nvar ViewRole;\n(function(ViewRole2) {\n ViewRole2[\"CREATOR\"] = \"CREATOR\";\n ViewRole2[\"VOTERS\"] = \"VOTERS\";\n ViewRole2[\"EVERYONE\"] = \"EVERYONE\";\n})(ViewRole || (ViewRole = {}));\nvar VoteRole;\n(function(VoteRole2) {\n VoteRole2[\"SITE_MEMBERS\"] = \"SITE_MEMBERS\";\n VoteRole2[\"ALL\"] = \"ALL\";\n})(VoteRole || (VoteRole = {}));\nvar PollLayoutType;\n(function(PollLayoutType2) {\n PollLayoutType2[\"LIST\"] = \"LIST\";\n PollLayoutType2[\"GRID\"] = \"GRID\";\n})(PollLayoutType || (PollLayoutType = {}));\nvar PollLayoutDirection;\n(function(PollLayoutDirection2) {\n PollLayoutDirection2[\"LTR\"] = \"LTR\";\n PollLayoutDirection2[\"RTL\"] = \"RTL\";\n})(PollLayoutDirection || (PollLayoutDirection = {}));\nvar BackgroundType;\n(function(BackgroundType2) {\n BackgroundType2[\"COLOR\"] = \"COLOR\";\n BackgroundType2[\"IMAGE\"] = \"IMAGE\";\n BackgroundType2[\"GRADIENT\"] = \"GRADIENT\";\n})(BackgroundType || (BackgroundType = {}));\nvar DecorationType;\n(function(DecorationType2) {\n DecorationType2[\"BOLD\"] = \"BOLD\";\n DecorationType2[\"ITALIC\"] = \"ITALIC\";\n DecorationType2[\"UNDERLINE\"] = \"UNDERLINE\";\n DecorationType2[\"SPOILER\"] = \"SPOILER\";\n DecorationType2[\"ANCHOR\"] = \"ANCHOR\";\n DecorationType2[\"MENTION\"] = \"MENTION\";\n DecorationType2[\"LINK\"] = \"LINK\";\n DecorationType2[\"COLOR\"] = \"COLOR\";\n DecorationType2[\"FONT_SIZE\"] = \"FONT_SIZE\";\n DecorationType2[\"EXTERNAL\"] = \"EXTERNAL\";\n DecorationType2[\"STRIKETHROUGH\"] = \"STRIKETHROUGH\";\n DecorationType2[\"SUPERSCRIPT\"] = \"SUPERSCRIPT\";\n DecorationType2[\"SUBSCRIPT\"] = \"SUBSCRIPT\";\n})(DecorationType || (DecorationType = {}));\nvar FontType;\n(function(FontType2) {\n FontType2[\"PX\"] = \"PX\";\n FontType2[\"EM\"] = \"EM\";\n})(FontType || (FontType = {}));\nvar AppType;\n(function(AppType2) {\n AppType2[\"PRODUCT\"] = \"PRODUCT\";\n AppType2[\"EVENT\"] = \"EVENT\";\n AppType2[\"BOOKING\"] = \"BOOKING\";\n})(AppType || (AppType = {}));\nvar InitialExpandedItems;\n(function(InitialExpandedItems2) {\n InitialExpandedItems2[\"FIRST\"] = \"FIRST\";\n InitialExpandedItems2[\"ALL\"] = \"ALL\";\n InitialExpandedItems2[\"NONE\"] = \"NONE\";\n})(InitialExpandedItems || (InitialExpandedItems = {}));\nvar Direction;\n(function(Direction2) {\n Direction2[\"LTR\"] = \"LTR\";\n Direction2[\"RTL\"] = \"RTL\";\n})(Direction || (Direction = {}));\nvar VerticalAlignment;\n(function(VerticalAlignment2) {\n VerticalAlignment2[\"TOP\"] = \"TOP\";\n VerticalAlignment2[\"MIDDLE\"] = \"MIDDLE\";\n VerticalAlignment2[\"BOTTOM\"] = \"BOTTOM\";\n})(VerticalAlignment || (VerticalAlignment = {}));\nvar NullValue;\n(function(NullValue2) {\n NullValue2[\"NULL_VALUE\"] = \"NULL_VALUE\";\n})(NullValue || (NullValue = {}));\nvar CalendarType;\n(function(CalendarType2) {\n CalendarType2[\"UNDEFINED\"] = \"UNDEFINED\";\n CalendarType2[\"GOOGLE\"] = \"GOOGLE\";\n CalendarType2[\"I_CAL\"] = \"I_CAL\";\n CalendarType2[\"MICROSOFT\"] = \"MICROSOFT\";\n CalendarType2[\"OTHER\"] = \"OTHER\";\n})(CalendarType || (CalendarType = {}));\nvar ConnectMethod;\n(function(ConnectMethod2) {\n ConnectMethod2[\"OAUTH\"] = \"OAUTH\";\n ConnectMethod2[\"CREDENTIALS\"] = \"CREDENTIALS\";\n})(ConnectMethod || (ConnectMethod = {}));\nvar ListEventFromCalendars;\n(function(ListEventFromCalendars2) {\n ListEventFromCalendars2[\"LIST_NOT_SUPPORTED\"] = \"LIST_NOT_SUPPORTED\";\n ListEventFromCalendars2[\"LIST_FROM_PRIMARY_CALENDAR_ONLY\"] = \"LIST_FROM_PRIMARY_CALENDAR_ONLY\";\n ListEventFromCalendars2[\"LIST_FROM_SPECIFIC_CALENDARS\"] = \"LIST_FROM_SPECIFIC_CALENDARS\";\n})(ListEventFromCalendars || (ListEventFromCalendars = {}));\nvar SyncToCalendar;\n(function(SyncToCalendar2) {\n SyncToCalendar2[\"SYNC_NOT_SUPPORTED\"] = \"SYNC_NOT_SUPPORTED\";\n SyncToCalendar2[\"SYNC_TO_PRIMARY_CALENDAR_ONLY\"] = \"SYNC_TO_PRIMARY_CALENDAR_ONLY\";\n SyncToCalendar2[\"SYNC_TO_DEDICATED_CALENDAR\"] = \"SYNC_TO_DEDICATED_CALENDAR\";\n})(SyncToCalendar || (SyncToCalendar = {}));\nvar OAuthAppType;\n(function(OAuthAppType2) {\n OAuthAppType2[\"OAUTH_APP_TYPE_UNSPECIFIED\"] = \"OAUTH_APP_TYPE_UNSPECIFIED\";\n OAuthAppType2[\"WEB_APP\"] = \"WEB_APP\";\n OAuthAppType2[\"MOBILE\"] = \"MOBILE\";\n OAuthAppType2[\"OTHER\"] = \"OTHER\";\n})(OAuthAppType || (OAuthAppType = {}));\nvar OAuthTechnologies;\n(function(OAuthTechnologies2) {\n OAuthTechnologies2[\"OAUTH_TECHNOLOGY_UNSPECIFIED\"] = \"OAUTH_TECHNOLOGY_UNSPECIFIED\";\n OAuthTechnologies2[\"JAVASCRIPT\"] = \"JAVASCRIPT\";\n OAuthTechnologies2[\"ANGULAR\"] = \"ANGULAR\";\n OAuthTechnologies2[\"VUE\"] = \"VUE\";\n OAuthTechnologies2[\"REACT\"] = \"REACT\";\n OAuthTechnologies2[\"REACT_NATIVE\"] = \"REACT_NATIVE\";\n OAuthTechnologies2[\"IOS\"] = \"IOS\";\n OAuthTechnologies2[\"ANDROID\"] = \"ANDROID\";\n OAuthTechnologies2[\"OTHER_TECHNOLOGY\"] = \"OTHER_TECHNOLOGY\";\n})(OAuthTechnologies || (OAuthTechnologies = {}));\nvar NavigationType;\n(function(NavigationType2) {\n NavigationType2[\"NAVIGATE\"] = \"NAVIGATE\";\n NavigationType2[\"MODAL\"] = \"MODAL\";\n})(NavigationType || (NavigationType = {}));\nvar PingSettingsGroupComponentDataState;\n(function(PingSettingsGroupComponentDataState2) {\n PingSettingsGroupComponentDataState2[\"UNKNOWN_STATE\"] = \"UNKNOWN_STATE\";\n PingSettingsGroupComponentDataState2[\"DEFAULT_ON\"] = \"DEFAULT_ON\";\n PingSettingsGroupComponentDataState2[\"DEFAULT_OFF\"] = \"DEFAULT_OFF\";\n PingSettingsGroupComponentDataState2[\"ALWAYS_ON\"] = \"ALWAYS_ON\";\n})(PingSettingsGroupComponentDataState || (PingSettingsGroupComponentDataState = {}));\nvar State;\n(function(State2) {\n State2[\"UNKNOWN_STATE\"] = \"UNKNOWN_STATE\";\n State2[\"DEFAULT_ON\"] = \"DEFAULT_ON\";\n State2[\"DEFAULT_OFF\"] = \"DEFAULT_OFF\";\n State2[\"ALWAYS_ON\"] = \"ALWAYS_ON\";\n})(State || (State = {}));\nvar NotificationTopicType;\n(function(NotificationTopicType2) {\n NotificationTopicType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n NotificationTopicType2[\"PROMOTIONAL\"] = \"PROMOTIONAL\";\n NotificationTopicType2[\"TRANSACTIONAL\"] = \"TRANSACTIONAL\";\n})(NotificationTopicType || (NotificationTopicType = {}));\nvar RecipientType;\n(function(RecipientType2) {\n RecipientType2[\"UNKNOWN_RECIPIENT_TYPE\"] = \"UNKNOWN_RECIPIENT_TYPE\";\n RecipientType2[\"WIX_USER\"] = \"WIX_USER\";\n RecipientType2[\"CONTACT\"] = \"CONTACT\";\n})(RecipientType || (RecipientType = {}));\nvar PlanFormPricingOption;\n(function(PlanFormPricingOption2) {\n PlanFormPricingOption2[\"UNKNOWN_OPTION\"] = \"UNKNOWN_OPTION\";\n PlanFormPricingOption2[\"FREE\"] = \"FREE\";\n PlanFormPricingOption2[\"ONE_TIME\"] = \"ONE_TIME\";\n PlanFormPricingOption2[\"RECURRING\"] = \"RECURRING\";\n})(PlanFormPricingOption || (PlanFormPricingOption = {}));\nvar PlanFormDefaultSection;\n(function(PlanFormDefaultSection2) {\n PlanFormDefaultSection2[\"UNKNWON_PLAN_FORM_SECTION\"] = \"UNKNWON_PLAN_FORM_SECTION\";\n PlanFormDefaultSection2[\"INFO\"] = \"INFO\";\n PlanFormDefaultSection2[\"BENEFITS\"] = \"BENEFITS\";\n PlanFormDefaultSection2[\"PAGE_PERMISSIONS\"] = \"PAGE_PERMISSIONS\";\n PlanFormDefaultSection2[\"PRICING_AND_DURATION\"] = \"PRICING_AND_DURATION\";\n PlanFormDefaultSection2[\"ADVANCED_SETTINGS\"] = \"ADVANCED_SETTINGS\";\n})(PlanFormDefaultSection || (PlanFormDefaultSection = {}));\nvar PlanPeriodUnit;\n(function(PlanPeriodUnit2) {\n PlanPeriodUnit2[\"UNDEFINED\"] = \"UNDEFINED\";\n PlanPeriodUnit2[\"DAY\"] = \"DAY\";\n PlanPeriodUnit2[\"WEEK\"] = \"WEEK\";\n PlanPeriodUnit2[\"MONTH\"] = \"MONTH\";\n PlanPeriodUnit2[\"YEAR\"] = \"YEAR\";\n})(PlanPeriodUnit || (PlanPeriodUnit = {}));\nvar TypedDynamicParamType;\n(function(TypedDynamicParamType2) {\n TypedDynamicParamType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n TypedDynamicParamType2[\"STRING\"] = \"STRING\";\n TypedDynamicParamType2[\"ARRAY\"] = \"ARRAY\";\n})(TypedDynamicParamType || (TypedDynamicParamType = {}));\nvar UserNotificationDataRecipientFilterType;\n(function(UserNotificationDataRecipientFilterType2) {\n UserNotificationDataRecipientFilterType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n UserNotificationDataRecipientFilterType2[\"WIX_USERS\"] = \"WIX_USERS\";\n UserNotificationDataRecipientFilterType2[\"SITE_CONTRIBUTORS\"] = \"SITE_CONTRIBUTORS\";\n})(UserNotificationDataRecipientFilterType || (UserNotificationDataRecipientFilterType = {}));\nvar InitiatorType;\n(function(InitiatorType2) {\n InitiatorType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n InitiatorType2[\"WIX_USER\"] = \"WIX_USER\";\n InitiatorType2[\"WIX_APP\"] = \"WIX_APP\";\n})(InitiatorType || (InitiatorType = {}));\nvar Level;\n(function(Level2) {\n Level2[\"UNKNOWN_LEVEL\"] = \"UNKNOWN_LEVEL\";\n Level2[\"ACCOUNT\"] = \"ACCOUNT\";\n Level2[\"USER\"] = \"USER\";\n Level2[\"SITE\"] = \"SITE\";\n})(Level || (Level = {}));\nvar IconType;\n(function(IconType2) {\n IconType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n IconType2[\"URL\"] = \"URL\";\n IconType2[\"SPOUT\"] = \"SPOUT\";\n IconType2[\"INITIATOR\"] = \"INITIATOR\";\n})(IconType || (IconType = {}));\nvar MobileApplication;\n(function(MobileApplication2) {\n MobileApplication2[\"UNKNOWN_MOBILE_APPLICATION\"] = \"UNKNOWN_MOBILE_APPLICATION\";\n MobileApplication2[\"OWNER\"] = \"OWNER\";\n MobileApplication2[\"SPACES\"] = \"SPACES\";\n MobileApplication2[\"DINE\"] = \"DINE\";\n MobileApplication2[\"FITNESS\"] = \"FITNESS\";\n MobileApplication2[\"WIX_LIFE\"] = \"WIX_LIFE\";\n MobileApplication2[\"WIX_PARTNERS\"] = \"WIX_PARTNERS\";\n MobileApplication2[\"BRANDED\"] = \"BRANDED\";\n MobileApplication2[\"WIX_STUDIO\"] = \"WIX_STUDIO\";\n MobileApplication2[\"NO_SPECIFIC_TARGET_APP\"] = \"NO_SPECIFIC_TARGET_APP\";\n})(MobileApplication || (MobileApplication = {}));\nvar AndroidStyle;\n(function(AndroidStyle2) {\n AndroidStyle2[\"UNKNOWN_ANDROID_STYLE\"] = \"UNKNOWN_ANDROID_STYLE\";\n AndroidStyle2[\"BIG_TEXT\"] = \"BIG_TEXT\";\n AndroidStyle2[\"MESSAGING\"] = \"MESSAGING\";\n AndroidStyle2[\"INBOX\"] = \"INBOX\";\n})(AndroidStyle || (AndroidStyle = {}));\nvar ExposureRuleType;\n(function(ExposureRuleType2) {\n ExposureRuleType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n ExposureRuleType2[\"OPEN_TO_ALL\"] = \"OPEN_TO_ALL\";\n ExposureRuleType2[\"OPEN_TO_NONE\"] = \"OPEN_TO_NONE\";\n ExposureRuleType2[\"BOOLEAN_EXPERIMENT\"] = \"BOOLEAN_EXPERIMENT\";\n ExposureRuleType2[\"CUSTOM_EXPERIMENT\"] = \"CUSTOM_EXPERIMENT\";\n})(ExposureRuleType || (ExposureRuleType = {}));\nvar Intent;\n(function(Intent2) {\n Intent2[\"UNKNOWN_INTENT\"] = \"UNKNOWN_INTENT\";\n Intent2[\"MARKETING\"] = \"MARKETING\";\n Intent2[\"TRANSACTIONAL\"] = \"TRANSACTIONAL\";\n})(Intent || (Intent = {}));\nvar UserNotificationDataType;\n(function(UserNotificationDataType2) {\n UserNotificationDataType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n UserNotificationDataType2[\"REGULAR\"] = \"REGULAR\";\n UserNotificationDataType2[\"ALERT_WARNING\"] = \"ALERT_WARNING\";\n UserNotificationDataType2[\"ALERT_INFO\"] = \"ALERT_INFO\";\n})(UserNotificationDataType || (UserNotificationDataType = {}));\nvar RecipientFilterType;\n(function(RecipientFilterType2) {\n RecipientFilterType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n RecipientFilterType2[\"CONTACTS\"] = \"CONTACTS\";\n})(RecipientFilterType || (RecipientFilterType = {}));\nvar Type;\n(function(Type2) {\n Type2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n Type2[\"CONTACT\"] = \"CONTACT\";\n Type2[\"SITE_MEMBER\"] = \"SITE_MEMBER\";\n})(Type || (Type = {}));\nvar Environment;\n(function(Environment2) {\n Environment2[\"LIVE_SITE\"] = \"LIVE_SITE\";\n Environment2[\"BUSINESS_MANAGER\"] = \"BUSINESS_MANAGER\";\n})(Environment || (Environment = {}));\nvar SchemaScope;\n(function(SchemaScope2) {\n SchemaScope2[\"UNKNOWN_SCOPE\"] = \"UNKNOWN_SCOPE\";\n SchemaScope2[\"GLOBAL\"] = \"GLOBAL\";\n SchemaScope2[\"SITE\"] = \"SITE\";\n})(SchemaScope || (SchemaScope = {}));\nvar FieldType;\n(function(FieldType2) {\n FieldType2[\"UNDEFINED_TYPE\"] = \"UNDEFINED_TYPE\";\n FieldType2[\"SHORT_TEXT\"] = \"SHORT_TEXT\";\n FieldType2[\"LONG_TEXT\"] = \"LONG_TEXT\";\n FieldType2[\"HTML\"] = \"HTML\";\n FieldType2[\"RICH_CONTENT\"] = \"RICH_CONTENT\";\n FieldType2[\"IMAGE\"] = \"IMAGE\";\n FieldType2[\"IMAGE_LINK\"] = \"IMAGE_LINK\";\n FieldType2[\"JSON\"] = \"JSON\";\n FieldType2[\"VIDEO\"] = \"VIDEO\";\n FieldType2[\"DOCUMENT\"] = \"DOCUMENT\";\n})(FieldType || (FieldType = {}));\nvar CustomElementScriptType;\n(function(CustomElementScriptType2) {\n CustomElementScriptType2[\"NONE\"] = \"NONE\";\n CustomElementScriptType2[\"COMMON_JS\"] = \"COMMON_JS\";\n CustomElementScriptType2[\"ES_MODULE\"] = \"ES_MODULE\";\n})(CustomElementScriptType || (CustomElementScriptType = {}));\nvar HeightMode;\n(function(HeightMode2) {\n HeightMode2[\"UNKNOWN\"] = \"UNKNOWN\";\n HeightMode2[\"AUTO\"] = \"AUTO\";\n HeightMode2[\"FIXED\"] = \"FIXED\";\n})(HeightMode || (HeightMode = {}));\nvar FieldFieldType;\n(function(FieldFieldType2) {\n FieldFieldType2[\"UNKNOWN_FIELD_TYPE\"] = \"UNKNOWN_FIELD_TYPE\";\n FieldFieldType2[\"INPUT\"] = \"INPUT\";\n FieldFieldType2[\"DISPLAY\"] = \"DISPLAY\";\n})(FieldFieldType || (FieldFieldType = {}));\nvar Format;\n(function(Format2) {\n Format2[\"UNKNOWN_FORMAT\"] = \"UNKNOWN_FORMAT\";\n Format2[\"DATE\"] = \"DATE\";\n Format2[\"TIME\"] = \"TIME\";\n Format2[\"DATE_TIME\"] = \"DATE_TIME\";\n Format2[\"EMAIL\"] = \"EMAIL\";\n Format2[\"URL\"] = \"URL\";\n Format2[\"UUID\"] = \"UUID\";\n Format2[\"PHONE\"] = \"PHONE\";\n Format2[\"URI\"] = \"URI\";\n Format2[\"HOSTNAME\"] = \"HOSTNAME\";\n Format2[\"COLOR_HEX\"] = \"COLOR_HEX\";\n Format2[\"CURRENCY\"] = \"CURRENCY\";\n Format2[\"LANGUAGE\"] = \"LANGUAGE\";\n Format2[\"DATE_OPTIONAL_TIME\"] = \"DATE_OPTIONAL_TIME\";\n})(Format || (Format = {}));\nvar StringComponentType;\n(function(StringComponentType2) {\n StringComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n StringComponentType2[\"TEXT_INPUT\"] = \"TEXT_INPUT\";\n StringComponentType2[\"RADIO_GROUP\"] = \"RADIO_GROUP\";\n StringComponentType2[\"DROPDOWN\"] = \"DROPDOWN\";\n StringComponentType2[\"DATE_TIME\"] = \"DATE_TIME\";\n StringComponentType2[\"PHONE_INPUT\"] = \"PHONE_INPUT\";\n StringComponentType2[\"DATE_INPUT\"] = \"DATE_INPUT\";\n StringComponentType2[\"TIME_INPUT\"] = \"TIME_INPUT\";\n StringComponentType2[\"DATE_PICKER\"] = \"DATE_PICKER\";\n})(StringComponentType || (StringComponentType = {}));\nvar NumberOfColumns;\n(function(NumberOfColumns2) {\n NumberOfColumns2[\"UNKNOWN\"] = \"UNKNOWN\";\n NumberOfColumns2[\"ZERO\"] = \"ZERO\";\n NumberOfColumns2[\"ONE\"] = \"ONE\";\n NumberOfColumns2[\"TWO\"] = \"TWO\";\n NumberOfColumns2[\"THREE\"] = \"THREE\";\n})(NumberOfColumns || (NumberOfColumns = {}));\nvar FirstDayOfWeek;\n(function(FirstDayOfWeek2) {\n FirstDayOfWeek2[\"MONDAY\"] = \"MONDAY\";\n FirstDayOfWeek2[\"SUNDAY\"] = \"SUNDAY\";\n})(FirstDayOfWeek || (FirstDayOfWeek = {}));\nvar NumberComponentType;\n(function(NumberComponentType2) {\n NumberComponentType2[\"UNKNOWN\"] = \"UNKNOWN\";\n NumberComponentType2[\"NUMBER_INPUT\"] = \"NUMBER_INPUT\";\n NumberComponentType2[\"RATING_INPUT\"] = \"RATING_INPUT\";\n})(NumberComponentType || (NumberComponentType = {}));\nvar BooleanComponentType;\n(function(BooleanComponentType2) {\n BooleanComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n BooleanComponentType2[\"CHECKBOX\"] = \"CHECKBOX\";\n})(BooleanComponentType || (BooleanComponentType = {}));\nvar ItemType;\n(function(ItemType2) {\n ItemType2[\"UNKNOWN_ITEM_TYPE\"] = \"UNKNOWN_ITEM_TYPE\";\n ItemType2[\"STRING\"] = \"STRING\";\n ItemType2[\"NUMBER\"] = \"NUMBER\";\n ItemType2[\"BOOLEAN\"] = \"BOOLEAN\";\n ItemType2[\"INTEGER\"] = \"INTEGER\";\n ItemType2[\"OBJECT\"] = \"OBJECT\";\n})(ItemType || (ItemType = {}));\nvar PropertiesTypeEnum;\n(function(PropertiesTypeEnum2) {\n PropertiesTypeEnum2[\"UNKNOWN_PROPERTY_TYPE\"] = \"UNKNOWN_PROPERTY_TYPE\";\n PropertiesTypeEnum2[\"STRING\"] = \"STRING\";\n PropertiesTypeEnum2[\"NUMBER\"] = \"NUMBER\";\n PropertiesTypeEnum2[\"BOOLEAN\"] = \"BOOLEAN\";\n PropertiesTypeEnum2[\"INTEGER\"] = \"INTEGER\";\n PropertiesTypeEnum2[\"ARRAY\"] = \"ARRAY\";\n})(PropertiesTypeEnum || (PropertiesTypeEnum = {}));\nvar ArrayComponentType;\n(function(ArrayComponentType2) {\n ArrayComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n ArrayComponentType2[\"CHECKBOX_GROUP\"] = \"CHECKBOX_GROUP\";\n})(ArrayComponentType || (ArrayComponentType = {}));\nvar WixFileComponentType;\n(function(WixFileComponentType2) {\n WixFileComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n WixFileComponentType2[\"FILE_UPLOAD\"] = \"FILE_UPLOAD\";\n WixFileComponentType2[\"SIGNATURE\"] = \"SIGNATURE\";\n})(WixFileComponentType || (WixFileComponentType = {}));\nvar UploadFileFormat;\n(function(UploadFileFormat2) {\n UploadFileFormat2[\"UNDEFINED\"] = \"UNDEFINED\";\n UploadFileFormat2[\"VIDEO\"] = \"VIDEO\";\n UploadFileFormat2[\"IMAGE\"] = \"IMAGE\";\n UploadFileFormat2[\"AUDIO\"] = \"AUDIO\";\n UploadFileFormat2[\"DOCUMENT\"] = \"DOCUMENT\";\n UploadFileFormat2[\"ARCHIVE\"] = \"ARCHIVE\";\n})(UploadFileFormat || (UploadFileFormat = {}));\nvar PaymentComponentType;\n(function(PaymentComponentType2) {\n PaymentComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n PaymentComponentType2[\"CHECKBOX_GROUP\"] = \"CHECKBOX_GROUP\";\n PaymentComponentType2[\"DONATION_INPUT\"] = \"DONATION_INPUT\";\n})(PaymentComponentType || (PaymentComponentType = {}));\nvar ProductType;\n(function(ProductType2) {\n ProductType2[\"UNKNOWN\"] = \"UNKNOWN\";\n ProductType2[\"SHIPPABLE\"] = \"SHIPPABLE\";\n ProductType2[\"DIGITAL\"] = \"DIGITAL\";\n})(ProductType || (ProductType = {}));\nvar PriceType;\n(function(PriceType2) {\n PriceType2[\"UNKNOWN\"] = \"UNKNOWN\";\n PriceType2[\"FIXED_PRICE\"] = \"FIXED_PRICE\";\n PriceType2[\"DYNAMIC_PRICE\"] = \"DYNAMIC_PRICE\";\n})(PriceType || (PriceType = {}));\nvar ImageFit;\n(function(ImageFit2) {\n ImageFit2[\"UNKNOWN_IMAGE_FIT\"] = \"UNKNOWN_IMAGE_FIT\";\n ImageFit2[\"COVER\"] = \"COVER\";\n ImageFit2[\"CONTAIN\"] = \"CONTAIN\";\n})(ImageFit || (ImageFit = {}));\nvar MultilineAddressComponentType;\n(function(MultilineAddressComponentType2) {\n MultilineAddressComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n MultilineAddressComponentType2[\"MULTILINE_ADDRESS\"] = \"MULTILINE_ADDRESS\";\n})(MultilineAddressComponentType || (MultilineAddressComponentType = {}));\nvar DefaultCountryConfigType;\n(function(DefaultCountryConfigType2) {\n DefaultCountryConfigType2[\"UNKNOWN_DEFAULT_COUNTRY\"] = \"UNKNOWN_DEFAULT_COUNTRY\";\n DefaultCountryConfigType2[\"BY_IP\"] = \"BY_IP\";\n DefaultCountryConfigType2[\"COUNTRY\"] = \"COUNTRY\";\n})(DefaultCountryConfigType || (DefaultCountryConfigType = {}));\nvar InputType;\n(function(InputType2) {\n InputType2[\"UNKNOWN_INPUT_TYPE\"] = \"UNKNOWN_INPUT_TYPE\";\n InputType2[\"STRING\"] = \"STRING\";\n InputType2[\"NUMBER\"] = \"NUMBER\";\n InputType2[\"BOOLEAN\"] = \"BOOLEAN\";\n InputType2[\"ARRAY\"] = \"ARRAY\";\n InputType2[\"OBJECT\"] = \"OBJECT\";\n InputType2[\"WIX_FILE\"] = \"WIX_FILE\";\n InputType2[\"PAYMENT\"] = \"PAYMENT\";\n InputType2[\"MULTILINE_ADDRESS\"] = \"MULTILINE_ADDRESS\";\n})(InputType || (InputType = {}));\nvar EmailInfoTag;\n(function(EmailInfoTag2) {\n EmailInfoTag2[\"UNTAGGED\"] = \"UNTAGGED\";\n EmailInfoTag2[\"MAIN\"] = \"MAIN\";\n})(EmailInfoTag || (EmailInfoTag = {}));\nvar PhoneInfoTag;\n(function(PhoneInfoTag2) {\n PhoneInfoTag2[\"UNTAGGED\"] = \"UNTAGGED\";\n PhoneInfoTag2[\"MAIN\"] = \"MAIN\";\n})(PhoneInfoTag || (PhoneInfoTag = {}));\nvar AddressInfoTag;\n(function(AddressInfoTag2) {\n AddressInfoTag2[\"UNTAGGED\"] = \"UNTAGGED\";\n AddressInfoTag2[\"HOME\"] = \"HOME\";\n})(AddressInfoTag || (AddressInfoTag = {}));\nvar ConfirmationLevel;\n(function(ConfirmationLevel2) {\n ConfirmationLevel2[\"UNKNOWN_CONFIRMATION_LEVEL\"] = \"UNKNOWN_CONFIRMATION_LEVEL\";\n ConfirmationLevel2[\"SINGLE_CONFIRMATION\"] = \"SINGLE_CONFIRMATION\";\n ConfirmationLevel2[\"DOUBLE_CONFIRMATION\"] = \"DOUBLE_CONFIRMATION\";\n})(ConfirmationLevel || (ConfirmationLevel = {}));\nvar ContactField;\n(function(ContactField2) {\n ContactField2[\"UNKNOWN_CONTACT_FIELD\"] = \"UNKNOWN_CONTACT_FIELD\";\n ContactField2[\"FIRST_NAME\"] = \"FIRST_NAME\";\n ContactField2[\"LAST_NAME\"] = \"LAST_NAME\";\n ContactField2[\"COMPANY\"] = \"COMPANY\";\n ContactField2[\"POSITION\"] = \"POSITION\";\n ContactField2[\"EMAIL\"] = \"EMAIL\";\n ContactField2[\"PHONE\"] = \"PHONE\";\n ContactField2[\"ADDRESS\"] = \"ADDRESS\";\n ContactField2[\"BIRTHDATE\"] = \"BIRTHDATE\";\n ContactField2[\"CUSTOM_FIELD\"] = \"CUSTOM_FIELD\";\n ContactField2[\"SUBSCRIPTION\"] = \"SUBSCRIPTION\";\n ContactField2[\"VAT_ID\"] = \"VAT_ID\";\n})(ContactField || (ContactField = {}));\nvar DisplayFieldType;\n(function(DisplayFieldType2) {\n DisplayFieldType2[\"UNKNOWN_FIELD_TYPE\"] = \"UNKNOWN_FIELD_TYPE\";\n DisplayFieldType2[\"RICH_CONTENT\"] = \"RICH_CONTENT\";\n DisplayFieldType2[\"PAGE_NAVIGATION\"] = \"PAGE_NAVIGATION\";\n DisplayFieldType2[\"LOGIN_BAR\"] = \"LOGIN_BAR\";\n})(DisplayFieldType || (DisplayFieldType = {}));\nvar ChangeableProperty;\n(function(ChangeableProperty2) {\n ChangeableProperty2[\"UNKNOWN\"] = \"UNKNOWN\";\n ChangeableProperty2[\"REQUIRED\"] = \"REQUIRED\";\n ChangeableProperty2[\"HIDDEN\"] = \"HIDDEN\";\n ChangeableProperty2[\"ALLOWED_VALUES\"] = \"ALLOWED_VALUES\";\n})(ChangeableProperty || (ChangeableProperty = {}));\nvar OverrideEntityType;\n(function(OverrideEntityType2) {\n OverrideEntityType2[\"UNKNOWN\"] = \"UNKNOWN\";\n OverrideEntityType2[\"FIELD\"] = \"FIELD\";\n})(OverrideEntityType || (OverrideEntityType = {}));\nvar Operator;\n(function(Operator2) {\n Operator2[\"UNKNOWN\"] = \"UNKNOWN\";\n Operator2[\"EQUAL\"] = \"EQUAL\";\n Operator2[\"NOT_EQUAL\"] = \"NOT_EQUAL\";\n Operator2[\"EMPTY\"] = \"EMPTY\";\n Operator2[\"NOT_EMPTY\"] = \"NOT_EMPTY\";\n Operator2[\"CONTAINS\"] = \"CONTAINS\";\n Operator2[\"NOT_CONTAINS\"] = \"NOT_CONTAINS\";\n Operator2[\"LESS_THAN\"] = \"LESS_THAN\";\n Operator2[\"LESS_THAN_OR_EQUALS\"] = \"LESS_THAN_OR_EQUALS\";\n Operator2[\"GREATER_THAN\"] = \"GREATER_THAN\";\n Operator2[\"GREATER_THAN_OR_EQUALS\"] = \"GREATER_THAN_OR_EQUALS\";\n Operator2[\"BEFORE\"] = \"BEFORE\";\n Operator2[\"BEFORE_OR_EQUAL\"] = \"BEFORE_OR_EQUAL\";\n Operator2[\"AFTER\"] = \"AFTER\";\n Operator2[\"AFTER_OR_EQUAL\"] = \"AFTER_OR_EQUAL\";\n Operator2[\"BETWEEN\"] = \"BETWEEN\";\n Operator2[\"ANY\"] = \"ANY\";\n Operator2[\"ARRAY_EQUAL\"] = \"ARRAY_EQUAL\";\n Operator2[\"ARRAY_NOT_EQUAL\"] = \"ARRAY_NOT_EQUAL\";\n Operator2[\"CHECKED\"] = \"CHECKED\";\n Operator2[\"NOT_CHECKED\"] = \"NOT_CHECKED\";\n Operator2[\"IN\"] = \"IN\";\n Operator2[\"NOT_IN\"] = \"NOT_IN\";\n Operator2[\"IS_DATE_OLDER_THAN\"] = \"IS_DATE_OLDER_THAN\";\n Operator2[\"IS_DATE_OLDER_THAN_OR_EQUAL\"] = \"IS_DATE_OLDER_THAN_OR_EQUAL\";\n Operator2[\"IS_DATE_NEWER_THAN\"] = \"IS_DATE_NEWER_THAN\";\n Operator2[\"IS_DATE_NEWER_THAN_OR_EQUAL\"] = \"IS_DATE_NEWER_THAN_OR_EQUAL\";\n})(Operator || (Operator = {}));\nvar Target;\n(function(Target2) {\n Target2[\"UNKNOWN_TARGET\"] = \"UNKNOWN_TARGET\";\n Target2[\"SELF\"] = \"SELF\";\n Target2[\"BLANK\"] = \"BLANK\";\n})(Target || (Target = {}));\nvar SubmitSuccessAction;\n(function(SubmitSuccessAction2) {\n SubmitSuccessAction2[\"UNKNOWN_SUBMIT_SUCCESS_ACTION\"] = \"UNKNOWN_SUBMIT_SUCCESS_ACTION\";\n SubmitSuccessAction2[\"NO_ACTION\"] = \"NO_ACTION\";\n SubmitSuccessAction2[\"THANK_YOU_MESSAGE\"] = \"THANK_YOU_MESSAGE\";\n SubmitSuccessAction2[\"REDIRECT\"] = \"REDIRECT\";\n})(SubmitSuccessAction || (SubmitSuccessAction = {}));\nvar TemplateType;\n(function(TemplateType2) {\n TemplateType2[\"UNKNOWN\"] = \"UNKNOWN\";\n TemplateType2[\"EXTENDABLE\"] = \"EXTENDABLE\";\n TemplateType2[\"DEMO\"] = \"DEMO\";\n TemplateType2[\"FORM_INPUT\"] = \"FORM_INPUT\";\n})(TemplateType || (TemplateType = {}));\nvar CustomFieldsType;\n(function(CustomFieldsType2) {\n CustomFieldsType2[\"ANY\"] = \"ANY\";\n})(CustomFieldsType || (CustomFieldsType = {}));\nvar EditableProperties;\n(function(EditableProperties2) {\n EditableProperties2[\"UNKNOWN\"] = \"UNKNOWN\";\n EditableProperties2[\"REQUIRED\"] = \"REQUIRED\";\n EditableProperties2[\"HIDDEN\"] = \"HIDDEN\";\n EditableProperties2[\"LABEL\"] = \"LABEL\";\n EditableProperties2[\"PLACEHOLDER\"] = \"PLACEHOLDER\";\n EditableProperties2[\"DESCRIPTION\"] = \"DESCRIPTION\";\n EditableProperties2[\"INPUT_VALUE_LIMITS\"] = \"INPUT_VALUE_LIMITS\";\n EditableProperties2[\"DEFAULT_VALUE\"] = \"DEFAULT_VALUE\";\n})(EditableProperties || (EditableProperties = {}));\nvar RequiredIndicator;\n(function(RequiredIndicator2) {\n RequiredIndicator2[\"UNKNOWN_INDICATOR\"] = \"UNKNOWN_INDICATOR\";\n RequiredIndicator2[\"ASTERISK\"] = \"ASTERISK\";\n RequiredIndicator2[\"TEXT\"] = \"TEXT\";\n RequiredIndicator2[\"NONE\"] = \"NONE\";\n})(RequiredIndicator || (RequiredIndicator = {}));\nvar RequiredIndicatorPlacement;\n(function(RequiredIndicatorPlacement2) {\n RequiredIndicatorPlacement2[\"UNKNOWN_PLACEMENT\"] = \"UNKNOWN_PLACEMENT\";\n RequiredIndicatorPlacement2[\"AFTER_FIELD_TITLE\"] = \"AFTER_FIELD_TITLE\";\n RequiredIndicatorPlacement2[\"BEFORE_FIELD_TITLE\"] = \"BEFORE_FIELD_TITLE\";\n})(RequiredIndicatorPlacement || (RequiredIndicatorPlacement = {}));\nvar WixCodePublishTaskName;\n(function(WixCodePublishTaskName2) {\n WixCodePublishTaskName2[\"UNKNOWN\"] = \"UNKNOWN\";\n WixCodePublishTaskName2[\"USER_CODE_BUNDLE\"] = \"USER_CODE_BUNDLE\";\n WixCodePublishTaskName2[\"EXPORTED_FUNCTIONS_ANALYSIS\"] = \"EXPORTED_FUNCTIONS_ANALYSIS\";\n WixCodePublishTaskName2[\"IMPORTED_NAMESPACES_ANALYSIS\"] = \"IMPORTED_NAMESPACES_ANALYSIS\";\n WixCodePublishTaskName2[\"PAGE_DETAILS_ANALYSIS\"] = \"PAGE_DETAILS_ANALYSIS\";\n WixCodePublishTaskName2[\"USER_CODE_VALIDATION\"] = \"USER_CODE_VALIDATION\";\n WixCodePublishTaskName2[\"CODE_PACKAGES_REGISTRATION\"] = \"CODE_PACKAGES_REGISTRATION\";\n})(WixCodePublishTaskName || (WixCodePublishTaskName = {}));\nvar ChannelConfigurationChannelType;\n(function(ChannelConfigurationChannelType2) {\n ChannelConfigurationChannelType2[\"UNKNOWN_CHANNEL_TYPE\"] = \"UNKNOWN_CHANNEL_TYPE\";\n ChannelConfigurationChannelType2[\"DIRECT_MESSAGING\"] = \"DIRECT_MESSAGING\";\n ChannelConfigurationChannelType2[\"EMAIL\"] = \"EMAIL\";\n ChannelConfigurationChannelType2[\"SMS\"] = \"SMS\";\n})(ChannelConfigurationChannelType || (ChannelConfigurationChannelType = {}));\nvar AcceptedMessageTypesAcceptedDirectMessageType;\n(function(AcceptedMessageTypesAcceptedDirectMessageType2) {\n AcceptedMessageTypesAcceptedDirectMessageType2[\"UNKNOWN_DIRECT_MESSAGE_TYPE\"] = \"UNKNOWN_DIRECT_MESSAGE_TYPE\";\n AcceptedMessageTypesAcceptedDirectMessageType2[\"MEDIA\"] = \"MEDIA\";\n AcceptedMessageTypesAcceptedDirectMessageType2[\"CARD\"] = \"CARD\";\n AcceptedMessageTypesAcceptedDirectMessageType2[\"MINIMAL\"] = \"MINIMAL\";\n AcceptedMessageTypesAcceptedDirectMessageType2[\"FORM\"] = \"FORM\";\n AcceptedMessageTypesAcceptedDirectMessageType2[\"SYSTEM\"] = \"SYSTEM\";\n})(AcceptedMessageTypesAcceptedDirectMessageType || (AcceptedMessageTypesAcceptedDirectMessageType = {}));\nvar AcceptedMessageTypesAcceptedSmsMessageType;\n(function(AcceptedMessageTypesAcceptedSmsMessageType2) {\n AcceptedMessageTypesAcceptedSmsMessageType2[\"UNKNOWN_SMS_MESSAGE_TYPE\"] = \"UNKNOWN_SMS_MESSAGE_TYPE\";\n AcceptedMessageTypesAcceptedSmsMessageType2[\"SMS\"] = \"SMS\";\n AcceptedMessageTypesAcceptedSmsMessageType2[\"MMS\"] = \"MMS\";\n})(AcceptedMessageTypesAcceptedSmsMessageType || (AcceptedMessageTypesAcceptedSmsMessageType = {}));\nvar FactorType;\n(function(FactorType2) {\n FactorType2[\"UNKNOWN_FACTOR_TYPE\"] = \"UNKNOWN_FACTOR_TYPE\";\n FactorType2[\"PASSWORD\"] = \"PASSWORD\";\n FactorType2[\"SMS\"] = \"SMS\";\n FactorType2[\"CALL\"] = \"CALL\";\n FactorType2[\"EMAIL\"] = \"EMAIL\";\n FactorType2[\"TOTP\"] = \"TOTP\";\n FactorType2[\"PUSH\"] = \"PUSH\";\n FactorType2[\"WEBAUTHN\"] = \"WEBAUTHN\";\n})(FactorType || (FactorType = {}));\nvar MonitoringType;\n(function(MonitoringType2) {\n MonitoringType2[\"UNKNOWN_PROVIDER\"] = \"UNKNOWN_PROVIDER\";\n MonitoringType2[\"SENTRY\"] = \"SENTRY\";\n MonitoringType2[\"PANORAMA\"] = \"PANORAMA\";\n})(MonitoringType || (MonitoringType = {}));\nvar Escalation;\n(function(Escalation2) {\n Escalation2[\"BREAK_BUILD\"] = \"BREAK_BUILD\";\n Escalation2[\"BLOCK_ROLLOUT\"] = \"BLOCK_ROLLOUT\";\n Escalation2[\"BLOCK_FUTURE_ROLLOUT\"] = \"BLOCK_FUTURE_ROLLOUT\";\n Escalation2[\"OPEN_BUG_SLA\"] = \"OPEN_BUG_SLA\";\n Escalation2[\"VISIBILITY\"] = \"VISIBILITY\";\n})(Escalation || (Escalation = {}));\nvar ImportanceLevel;\n(function(ImportanceLevel2) {\n ImportanceLevel2[\"LOW\"] = \"LOW\";\n ImportanceLevel2[\"MEDIUM\"] = \"MEDIUM\";\n ImportanceLevel2[\"HIGH\"] = \"HIGH\";\n})(ImportanceLevel || (ImportanceLevel = {}));\nvar PanelSizeWidth;\n(function(PanelSizeWidth2) {\n PanelSizeWidth2[\"UNKNOWN_WIDTH\"] = \"UNKNOWN_WIDTH\";\n PanelSizeWidth2[\"SMALL\"] = \"SMALL\";\n PanelSizeWidth2[\"MEDIUM\"] = \"MEDIUM\";\n PanelSizeWidth2[\"LARGE\"] = \"LARGE\";\n})(PanelSizeWidth || (PanelSizeWidth = {}));\nvar PanelContentType;\n(function(PanelContentType2) {\n PanelContentType2[\"UNKNOWN_PanelContentType\"] = \"UNKNOWN_PanelContentType\";\n PanelContentType2[\"url\"] = \"url\";\n PanelContentType2[\"code\"] = \"code\";\n})(PanelContentType || (PanelContentType = {}));\nvar StorageType;\n(function(StorageType2) {\n StorageType2[\"UNKNOWN_STORAGE_TYPE\"] = \"UNKNOWN_STORAGE_TYPE\";\n StorageType2[\"COOKIE\"] = \"COOKIE\";\n StorageType2[\"LOCALSTORAGE\"] = \"LOCALSTORAGE\";\n StorageType2[\"SESSIONSTORAGE\"] = \"SESSIONSTORAGE\";\n StorageType2[\"INDEXDB\"] = \"INDEXDB\";\n})(StorageType || (StorageType = {}));\nvar ConsentCategory;\n(function(ConsentCategory2) {\n ConsentCategory2[\"UNKNOWN_CATEGORY\"] = \"UNKNOWN_CATEGORY\";\n ConsentCategory2[\"essential\"] = \"essential\";\n ConsentCategory2[\"functional\"] = \"functional\";\n ConsentCategory2[\"analytics\"] = \"analytics\";\n ConsentCategory2[\"advertising\"] = \"advertising\";\n})(ConsentCategory || (ConsentCategory = {}));\nvar StorageDomain;\n(function(StorageDomain2) {\n StorageDomain2[\"UNKNOWN_STORAGE_DOMAIN\"] = \"UNKNOWN_STORAGE_DOMAIN\";\n StorageDomain2[\"SITE_DOMAIN\"] = \"SITE_DOMAIN\";\n StorageDomain2[\"WIX_DOMAIN\"] = \"WIX_DOMAIN\";\n StorageDomain2[\"APP_DOMAIN\"] = \"APP_DOMAIN\";\n})(StorageDomain || (StorageDomain = {}));\nvar Method;\n(function(Method2) {\n Method2[\"CREATE\"] = \"CREATE\";\n Method2[\"UPDATE\"] = \"UPDATE\";\n Method2[\"CANCEL\"] = \"CANCEL\";\n})(Method || (Method = {}));\nvar ParticipantType;\n(function(ParticipantType2) {\n ParticipantType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n ParticipantType2[\"WIX_USER\"] = \"WIX_USER\";\n ParticipantType2[\"CONTACT\"] = \"CONTACT\";\n ParticipantType2[\"ANONYMOUS\"] = \"ANONYMOUS\";\n})(ParticipantType || (ParticipantType = {}));\nvar V1InterfaceConfigurationType;\n(function(V1InterfaceConfigurationType2) {\n V1InterfaceConfigurationType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n V1InterfaceConfigurationType2[\"WIDGET_COMPONENT\"] = \"WIDGET_COMPONENT\";\n V1InterfaceConfigurationType2[\"ITEM_SELECTION\"] = \"ITEM_SELECTION\";\n})(V1InterfaceConfigurationType || (V1InterfaceConfigurationType = {}));\nvar Scope;\n(function(Scope2) {\n Scope2[\"UNKNOWN_SCOPE\"] = \"UNKNOWN_SCOPE\";\n Scope2[\"SPECIFIC_SITE\"] = \"SPECIFIC_SITE\";\n Scope2[\"NON_SPECIFIC_SITE\"] = \"NON_SPECIFIC_SITE\";\n})(Scope || (Scope = {}));\nvar CssPropertyType;\n(function(CssPropertyType2) {\n CssPropertyType2[\"UNKNOWN_CssPropertyType\"] = \"UNKNOWN_CssPropertyType\";\n CssPropertyType2[\"background\"] = \"background\";\n CssPropertyType2[\"backgroundSize\"] = \"backgroundSize\";\n CssPropertyType2[\"backgroundColor\"] = \"backgroundColor\";\n CssPropertyType2[\"backgroundImage\"] = \"backgroundImage\";\n CssPropertyType2[\"backgroundClip\"] = \"backgroundClip\";\n CssPropertyType2[\"backgroundOrigin\"] = \"backgroundOrigin\";\n CssPropertyType2[\"backgroundPosition\"] = \"backgroundPosition\";\n CssPropertyType2[\"backgroundRepeat\"] = \"backgroundRepeat\";\n CssPropertyType2[\"backgroundAttachment\"] = \"backgroundAttachment\";\n CssPropertyType2[\"fill\"] = \"fill\";\n CssPropertyType2[\"fillOpacity\"] = \"fillOpacity\";\n CssPropertyType2[\"margin\"] = \"margin\";\n CssPropertyType2[\"marginTop\"] = \"marginTop\";\n CssPropertyType2[\"marginRight\"] = \"marginRight\";\n CssPropertyType2[\"marginBottom\"] = \"marginBottom\";\n CssPropertyType2[\"marginLeft\"] = \"marginLeft\";\n CssPropertyType2[\"marginInlineStart\"] = \"marginInlineStart\";\n CssPropertyType2[\"marginInlineEnd\"] = \"marginInlineEnd\";\n CssPropertyType2[\"padding\"] = \"padding\";\n CssPropertyType2[\"paddingTop\"] = \"paddingTop\";\n CssPropertyType2[\"paddingRight\"] = \"paddingRight\";\n CssPropertyType2[\"paddingBottom\"] = \"paddingBottom\";\n CssPropertyType2[\"paddingLeft\"] = \"paddingLeft\";\n CssPropertyType2[\"paddingInlineStart\"] = \"paddingInlineStart\";\n CssPropertyType2[\"paddingInlineEnd\"] = \"paddingInlineEnd\";\n CssPropertyType2[\"border\"] = \"border\";\n CssPropertyType2[\"borderWidth\"] = \"borderWidth\";\n CssPropertyType2[\"borderStyle\"] = \"borderStyle\";\n CssPropertyType2[\"borderColor\"] = \"borderColor\";\n CssPropertyType2[\"borderTop\"] = \"borderTop\";\n CssPropertyType2[\"borderTopColor\"] = \"borderTopColor\";\n CssPropertyType2[\"borderTopWidth\"] = \"borderTopWidth\";\n CssPropertyType2[\"borderTopStyle\"] = \"borderTopStyle\";\n CssPropertyType2[\"borderRight\"] = \"borderRight\";\n CssPropertyType2[\"borderRightColor\"] = \"borderRightColor\";\n CssPropertyType2[\"borderRightWidth\"] = \"borderRightWidth\";\n CssPropertyType2[\"borderRightStyle\"] = \"borderRightStyle\";\n CssPropertyType2[\"borderBottom\"] = \"borderBottom\";\n CssPropertyType2[\"borderBottomColor\"] = \"borderBottomColor\";\n CssPropertyType2[\"borderBottomWidth\"] = \"borderBottomWidth\";\n CssPropertyType2[\"borderBottomStyle\"] = \"borderBottomStyle\";\n CssPropertyType2[\"borderLeft\"] = \"borderLeft\";\n CssPropertyType2[\"borderLeftColor\"] = \"borderLeftColor\";\n CssPropertyType2[\"borderLeftWidth\"] = \"borderLeftWidth\";\n CssPropertyType2[\"borderLeftStyle\"] = \"borderLeftStyle\";\n CssPropertyType2[\"borderInlineStart\"] = \"borderInlineStart\";\n CssPropertyType2[\"borderInlineStartColor\"] = \"borderInlineStartColor\";\n CssPropertyType2[\"borderInlineStartWidth\"] = \"borderInlineStartWidth\";\n CssPropertyType2[\"borderInlineStartStyle\"] = \"borderInlineStartStyle\";\n CssPropertyType2[\"borderInlineEnd\"] = \"borderInlineEnd\";\n CssPropertyType2[\"borderInlineEndColor\"] = \"borderInlineEndColor\";\n CssPropertyType2[\"borderInlineEndWidth\"] = \"borderInlineEndWidth\";\n CssPropertyType2[\"borderInlineEndStyle\"] = \"borderInlineEndStyle\";\n CssPropertyType2[\"borderRadius\"] = \"borderRadius\";\n CssPropertyType2[\"borderTopLeftRadius\"] = \"borderTopLeftRadius\";\n CssPropertyType2[\"borderTopRightRadius\"] = \"borderTopRightRadius\";\n CssPropertyType2[\"borderBottomRightRadius\"] = \"borderBottomRightRadius\";\n CssPropertyType2[\"borderBottomLeftRadius\"] = \"borderBottomLeftRadius\";\n CssPropertyType2[\"borderStartStartRadius\"] = \"borderStartStartRadius\";\n CssPropertyType2[\"borderStartEndRadius\"] = \"borderStartEndRadius\";\n CssPropertyType2[\"borderEndStartRadius\"] = \"borderEndStartRadius\";\n CssPropertyType2[\"borderEndEndRadius\"] = \"borderEndEndRadius\";\n CssPropertyType2[\"font\"] = \"font\";\n CssPropertyType2[\"fontFamily\"] = \"fontFamily\";\n CssPropertyType2[\"fontSize\"] = \"fontSize\";\n CssPropertyType2[\"fontStretch\"] = \"fontStretch\";\n CssPropertyType2[\"fontStyle\"] = \"fontStyle\";\n CssPropertyType2[\"fontVariant\"] = \"fontVariant\";\n CssPropertyType2[\"fontWeight\"] = \"fontWeight\";\n CssPropertyType2[\"lineHeight\"] = \"lineHeight\";\n CssPropertyType2[\"color\"] = \"color\";\n CssPropertyType2[\"letterSpacing\"] = \"letterSpacing\";\n CssPropertyType2[\"writingMode\"] = \"writingMode\";\n CssPropertyType2[\"textAlign\"] = \"textAlign\";\n CssPropertyType2[\"textTransform\"] = \"textTransform\";\n CssPropertyType2[\"textShadow\"] = \"textShadow\";\n CssPropertyType2[\"textOverflow\"] = \"textOverflow\";\n CssPropertyType2[\"textDecoration\"] = \"textDecoration\";\n CssPropertyType2[\"textDecorationColor\"] = \"textDecorationColor\";\n CssPropertyType2[\"textDecorationLine\"] = \"textDecorationLine\";\n CssPropertyType2[\"textDecorationStyle\"] = \"textDecorationStyle\";\n CssPropertyType2[\"textDecorationThickness\"] = \"textDecorationThickness\";\n CssPropertyType2[\"boxShadow\"] = \"boxShadow\";\n CssPropertyType2[\"opacity\"] = \"opacity\";\n CssPropertyType2[\"overflow\"] = \"overflow\";\n CssPropertyType2[\"display\"] = \"display\";\n CssPropertyType2[\"alignSelf\"] = \"alignSelf\";\n CssPropertyType2[\"justifyContent\"] = \"justifyContent\";\n CssPropertyType2[\"alignItems\"] = \"alignItems\";\n CssPropertyType2[\"flexDirection\"] = \"flexDirection\";\n CssPropertyType2[\"gap\"] = \"gap\";\n CssPropertyType2[\"height\"] = \"height\";\n CssPropertyType2[\"width\"] = \"width\";\n CssPropertyType2[\"columnGap\"] = \"columnGap\";\n CssPropertyType2[\"rowGap\"] = \"rowGap\";\n CssPropertyType2[\"filter\"] = \"filter\";\n CssPropertyType2[\"backdropFilter\"] = \"backdropFilter\";\n CssPropertyType2[\"objectFit\"] = \"objectFit\";\n CssPropertyType2[\"objectPosition\"] = \"objectPosition\";\n CssPropertyType2[\"mixBlendMode\"] = \"mixBlendMode\";\n CssPropertyType2[\"isolation\"] = \"isolation\";\n CssPropertyType2[\"stroke\"] = \"stroke\";\n CssPropertyType2[\"strokeWidth\"] = \"strokeWidth\";\n CssPropertyType2[\"strokeOpacity\"] = \"strokeOpacity\";\n})(CssPropertyType || (CssPropertyType = {}));\nvar CssDataType;\n(function(CssDataType2) {\n CssDataType2[\"UNKNOWN_CssDataType\"] = \"UNKNOWN_CssDataType\";\n CssDataType2[\"number\"] = \"number\";\n CssDataType2[\"length\"] = \"length\";\n CssDataType2[\"color\"] = \"color\";\n CssDataType2[\"angle\"] = \"angle\";\n CssDataType2[\"percentage\"] = \"percentage\";\n CssDataType2[\"lengthPercentage\"] = \"lengthPercentage\";\n CssDataType2[\"blendMode\"] = \"blendMode\";\n CssDataType2[\"customEnum\"] = \"customEnum\";\n CssDataType2[\"string\"] = \"string\";\n CssDataType2[\"time\"] = \"time\";\n})(CssDataType || (CssDataType = {}));\nvar FilterFunction;\n(function(FilterFunction2) {\n FilterFunction2[\"UNKNOWN_FilterFunctions\"] = \"UNKNOWN_FilterFunctions\";\n FilterFunction2[\"blur\"] = \"blur\";\n FilterFunction2[\"brightness\"] = \"brightness\";\n FilterFunction2[\"contrast\"] = \"contrast\";\n FilterFunction2[\"drop_shadow\"] = \"drop_shadow\";\n FilterFunction2[\"grayscale\"] = \"grayscale\";\n FilterFunction2[\"hue_rotate\"] = \"hue_rotate\";\n FilterFunction2[\"invert\"] = \"invert\";\n FilterFunction2[\"opacity\"] = \"opacity\";\n FilterFunction2[\"sepia\"] = \"sepia\";\n FilterFunction2[\"saturate\"] = \"saturate\";\n})(FilterFunction || (FilterFunction = {}));\nvar DisplayValueEnumDisplayValue;\n(function(DisplayValueEnumDisplayValue2) {\n DisplayValueEnumDisplayValue2[\"UNKNOWN_DisplayValue\"] = \"UNKNOWN_DisplayValue\";\n DisplayValueEnumDisplayValue2[\"none\"] = \"none\";\n DisplayValueEnumDisplayValue2[\"block\"] = \"block\";\n DisplayValueEnumDisplayValue2[\"inline\"] = \"inline\";\n DisplayValueEnumDisplayValue2[\"flow\"] = \"flow\";\n DisplayValueEnumDisplayValue2[\"flowRoot\"] = \"flowRoot\";\n DisplayValueEnumDisplayValue2[\"table\"] = \"table\";\n DisplayValueEnumDisplayValue2[\"flex\"] = \"flex\";\n DisplayValueEnumDisplayValue2[\"grid\"] = \"grid\";\n DisplayValueEnumDisplayValue2[\"list_item\"] = \"list_item\";\n DisplayValueEnumDisplayValue2[\"contents\"] = \"contents\";\n DisplayValueEnumDisplayValue2[\"inline_block\"] = \"inline_block\";\n DisplayValueEnumDisplayValue2[\"inline_table\"] = \"inline_table\";\n DisplayValueEnumDisplayValue2[\"inline_flex\"] = \"inline_flex\";\n DisplayValueEnumDisplayValue2[\"inline_grid\"] = \"inline_grid\";\n})(DisplayValueEnumDisplayValue || (DisplayValueEnumDisplayValue = {}));\nvar WritingModeValue;\n(function(WritingModeValue2) {\n WritingModeValue2[\"UNKNOWN_WritingModeValue\"] = \"UNKNOWN_WritingModeValue\";\n WritingModeValue2[\"horizontalTb\"] = \"horizontalTb\";\n WritingModeValue2[\"verticalRl\"] = \"verticalRl\";\n WritingModeValue2[\"verticalLr\"] = \"verticalLr\";\n WritingModeValue2[\"sidewaysRl\"] = \"sidewaysRl\";\n WritingModeValue2[\"sidewaysLr\"] = \"sidewaysLr\";\n})(WritingModeValue || (WritingModeValue = {}));\nvar BackgroundModeEnum;\n(function(BackgroundModeEnum2) {\n BackgroundModeEnum2[\"UNKNOWN_BackgroundModeEnum\"] = \"UNKNOWN_BackgroundModeEnum\";\n BackgroundModeEnum2[\"shapeDividerSvg\"] = \"shapeDividerSvg\";\n})(BackgroundModeEnum || (BackgroundModeEnum = {}));\nvar DataType;\n(function(DataType2) {\n DataType2[\"UNKNOWN_DataType\"] = \"UNKNOWN_DataType\";\n DataType2[\"text\"] = \"text\";\n DataType2[\"textEnum\"] = \"textEnum\";\n DataType2[\"number\"] = \"number\";\n DataType2[\"booleanValue\"] = \"booleanValue\";\n DataType2[\"a11y\"] = \"a11y\";\n DataType2[\"link\"] = \"link\";\n DataType2[\"image\"] = \"image\";\n DataType2[\"video\"] = \"video\";\n DataType2[\"vectorArt\"] = \"vectorArt\";\n DataType2[\"audio\"] = \"audio\";\n DataType2[\"schema\"] = \"schema\";\n DataType2[\"localDate\"] = \"localDate\";\n DataType2[\"localTime\"] = \"localTime\";\n DataType2[\"localDateTime\"] = \"localDateTime\";\n DataType2[\"webUrl\"] = \"webUrl\";\n DataType2[\"email\"] = \"email\";\n DataType2[\"phone\"] = \"phone\";\n DataType2[\"hostname\"] = \"hostname\";\n DataType2[\"regex\"] = \"regex\";\n DataType2[\"guid\"] = \"guid\";\n DataType2[\"richText\"] = \"richText\";\n DataType2[\"container\"] = \"container\";\n DataType2[\"arrayItems\"] = \"arrayItems\";\n DataType2[\"direction\"] = \"direction\";\n DataType2[\"menuItems\"] = \"menuItems\";\n})(DataType || (DataType = {}));\nvar A11yAttributes;\n(function(A11yAttributes2) {\n A11yAttributes2[\"Unknown_AriaAttributes\"] = \"Unknown_AriaAttributes\";\n A11yAttributes2[\"tabIndex\"] = \"tabIndex\";\n A11yAttributes2[\"ariaLevel\"] = \"ariaLevel\";\n A11yAttributes2[\"ariaExpanded\"] = \"ariaExpanded\";\n A11yAttributes2[\"ariaDisabled\"] = \"ariaDisabled\";\n A11yAttributes2[\"ariaAtomic\"] = \"ariaAtomic\";\n A11yAttributes2[\"ariaHidden\"] = \"ariaHidden\";\n A11yAttributes2[\"ariaBusy\"] = \"ariaBusy\";\n A11yAttributes2[\"multiline\"] = \"multiline\";\n A11yAttributes2[\"ariaAutocomplete\"] = \"ariaAutocomplete\";\n A11yAttributes2[\"ariaPressed\"] = \"ariaPressed\";\n A11yAttributes2[\"ariaHaspopup\"] = \"ariaHaspopup\";\n A11yAttributes2[\"ariaRelevant\"] = \"ariaRelevant\";\n A11yAttributes2[\"role\"] = \"role\";\n A11yAttributes2[\"ariaLive\"] = \"ariaLive\";\n A11yAttributes2[\"ariaCurrent\"] = \"ariaCurrent\";\n A11yAttributes2[\"ariaLabel\"] = \"ariaLabel\";\n A11yAttributes2[\"ariaRoledescription\"] = \"ariaRoledescription\";\n A11yAttributes2[\"ariaDescribedby\"] = \"ariaDescribedby\";\n A11yAttributes2[\"ariaLabelledby\"] = \"ariaLabelledby\";\n A11yAttributes2[\"ariaErrormessage\"] = \"ariaErrormessage\";\n A11yAttributes2[\"ariaOwns\"] = \"ariaOwns\";\n A11yAttributes2[\"ariaControls\"] = \"ariaControls\";\n A11yAttributes2[\"tag\"] = \"tag\";\n A11yAttributes2[\"ariaMultiline\"] = \"ariaMultiline\";\n A11yAttributes2[\"ariaInvalid\"] = \"ariaInvalid\";\n})(A11yAttributes || (A11yAttributes = {}));\nvar LinkType;\n(function(LinkType2) {\n LinkType2[\"UNKNOWN_LinkType\"] = \"UNKNOWN_LinkType\";\n LinkType2[\"externalLink\"] = \"externalLink\";\n LinkType2[\"anchorLink\"] = \"anchorLink\";\n LinkType2[\"emailLink\"] = \"emailLink\";\n LinkType2[\"phoneLink\"] = \"phoneLink\";\n LinkType2[\"dynamicPageLink\"] = \"dynamicPageLink\";\n LinkType2[\"pageLink\"] = \"pageLink\";\n LinkType2[\"whatsAppLink\"] = \"whatsAppLink\";\n LinkType2[\"documentLink\"] = \"documentLink\";\n LinkType2[\"popupLink\"] = \"popupLink\";\n LinkType2[\"addressLink\"] = \"addressLink\";\n LinkType2[\"edgeAnchorLinks\"] = \"edgeAnchorLinks\";\n LinkType2[\"loginToWixLink\"] = \"loginToWixLink\";\n})(LinkType || (LinkType = {}));\nvar ContainerType;\n(function(ContainerType2) {\n ContainerType2[\"UNKNOWN_CONTAINER_TYPE\"] = \"UNKNOWN_CONTAINER_TYPE\";\n ContainerType2[\"simple\"] = \"simple\";\n ContainerType2[\"slot\"] = \"slot\";\n ContainerType2[\"placeholder\"] = \"placeholder\";\n ContainerType2[\"template\"] = \"template\";\n})(ContainerType || (ContainerType = {}));\nvar ElementTypeEnumElementType;\n(function(ElementTypeEnumElementType2) {\n ElementTypeEnumElementType2[\"UNKNOWN_ElementType\"] = \"UNKNOWN_ElementType\";\n ElementTypeEnumElementType2[\"inlineElement\"] = \"inlineElement\";\n ElementTypeEnumElementType2[\"refElement\"] = \"refElement\";\n})(ElementTypeEnumElementType || (ElementTypeEnumElementType = {}));\nvar ActionType;\n(function(ActionType2) {\n ActionType2[\"UNKNOWN_ActionType\"] = \"UNKNOWN_ActionType\";\n ActionType2[\"data\"] = \"data\";\n ActionType2[\"event\"] = \"event\";\n ActionType2[\"panel\"] = \"panel\";\n ActionType2[\"forward\"] = \"forward\";\n ActionType2[\"style\"] = \"style\";\n})(ActionType || (ActionType = {}));\nvar PanelType;\n(function(PanelType2) {\n PanelType2[\"UNKNOWN_PanelType\"] = \"UNKNOWN_PanelType\";\n PanelType2[\"panelId\"] = \"panelId\";\n PanelType2[\"inline\"] = \"inline\";\n})(PanelType || (PanelType = {}));\nvar ActionName;\n(function(ActionName2) {\n ActionName2[\"UNKNOWN_ActionName\"] = \"UNKNOWN_ActionName\";\n ActionName2[\"settings\"] = \"settings\";\n ActionName2[\"design\"] = \"design\";\n ActionName2[\"media\"] = \"media\";\n ActionName2[\"manageItems\"] = \"manageItems\";\n ActionName2[\"dashboard\"] = \"dashboard\";\n ActionName2[\"custom\"] = \"custom\";\n})(ActionName || (ActionName = {}));\nvar SizingType;\n(function(SizingType2) {\n SizingType2[\"UNKNOWN_SizingType\"] = \"UNKNOWN_SizingType\";\n SizingType2[\"content\"] = \"content\";\n SizingType2[\"stretched\"] = \"stretched\";\n SizingType2[\"pixels\"] = \"pixels\";\n})(SizingType || (SizingType = {}));\nvar Archetype;\n(function(Archetype2) {\n Archetype2[\"UNKNOWN_Archetype\"] = \"UNKNOWN_Archetype\";\n Archetype2[\"Button\"] = \"Button\";\n Archetype2[\"LoginButton\"] = \"LoginButton\";\n Archetype2[\"Image\"] = \"Image\";\n Archetype2[\"Gallery\"] = \"Gallery\";\n Archetype2[\"Video\"] = \"Video\";\n Archetype2[\"Audio\"] = \"Audio\";\n Archetype2[\"Text\"] = \"Text\";\n Archetype2[\"TextInput\"] = \"TextInput\";\n Archetype2[\"RichTextEditor\"] = \"RichTextEditor\";\n Archetype2[\"SignatureInput\"] = \"SignatureInput\";\n Archetype2[\"Checkbox\"] = \"Checkbox\";\n Archetype2[\"RadioGroup\"] = \"RadioGroup\";\n Archetype2[\"Switch\"] = \"Switch\";\n Archetype2[\"Dropdown\"] = \"Dropdown\";\n Archetype2[\"DatePicker\"] = \"DatePicker\";\n Archetype2[\"TimePicker\"] = \"TimePicker\";\n Archetype2[\"Ratings\"] = \"Ratings\";\n Archetype2[\"RatingInput\"] = \"RatingInput\";\n Archetype2[\"Menu\"] = \"Menu\";\n Archetype2[\"Pagination\"] = \"Pagination\";\n Archetype2[\"Slider\"] = \"Slider\";\n Archetype2[\"Container\"] = \"Container\";\n Archetype2[\"Carousel\"] = \"Carousel\";\n Archetype2[\"Accordion\"] = \"Accordion\";\n Archetype2[\"Tabs\"] = \"Tabs\";\n Archetype2[\"ProgressBar\"] = \"ProgressBar\";\n Archetype2[\"Upload\"] = \"Upload\";\n Archetype2[\"Social\"] = \"Social\";\n Archetype2[\"Breadcrumbs\"] = \"Breadcrumbs\";\n Archetype2[\"SearchBox\"] = \"SearchBox\";\n Archetype2[\"Map\"] = \"Map\";\n Archetype2[\"Line\"] = \"Line\";\n Archetype2[\"Logo\"] = \"Logo\";\n Archetype2[\"Avatar\"] = \"Avatar\";\n Archetype2[\"Captcha\"] = \"Captcha\";\n Archetype2[\"VectorArt\"] = \"VectorArt\";\n Archetype2[\"AnimatedGraphic\"] = \"AnimatedGraphic\";\n})(Archetype || (Archetype = {}));\nvar NativeStateType;\n(function(NativeStateType2) {\n NativeStateType2[\"UNKNOWN_NativeStateType\"] = \"UNKNOWN_NativeStateType\";\n NativeStateType2[\"hover\"] = \"hover\";\n NativeStateType2[\"focus\"] = \"focus\";\n NativeStateType2[\"disabled\"] = \"disabled\";\n NativeStateType2[\"invalid\"] = \"invalid\";\n})(NativeStateType || (NativeStateType = {}));\nvar ResizeDirection;\n(function(ResizeDirection2) {\n ResizeDirection2[\"UNKNOWN_ResizeDirection\"] = \"UNKNOWN_ResizeDirection\";\n ResizeDirection2[\"horizontal\"] = \"horizontal\";\n ResizeDirection2[\"vertical\"] = \"vertical\";\n ResizeDirection2[\"horizontalAndVertical\"] = \"horizontalAndVertical\";\n ResizeDirection2[\"aspectRatio\"] = \"aspectRatio\";\n ResizeDirection2[\"none\"] = \"none\";\n})(ResizeDirection || (ResizeDirection = {}));\nvar ContentResizeDirection;\n(function(ContentResizeDirection2) {\n ContentResizeDirection2[\"UNKNOWN_ContentResizeDirection\"] = \"UNKNOWN_ContentResizeDirection\";\n ContentResizeDirection2[\"horizontal\"] = \"horizontal\";\n ContentResizeDirection2[\"vertical\"] = \"vertical\";\n ContentResizeDirection2[\"horizontalAndVertical\"] = \"horizontalAndVertical\";\n ContentResizeDirection2[\"none\"] = \"none\";\n})(ContentResizeDirection || (ContentResizeDirection = {}));\nvar InteractionsTrigger;\n(function(InteractionsTrigger2) {\n InteractionsTrigger2[\"UNKNOWN_TRIGGER\"] = \"UNKNOWN_TRIGGER\";\n InteractionsTrigger2[\"hover\"] = \"hover\";\n InteractionsTrigger2[\"click\"] = \"click\";\n InteractionsTrigger2[\"viewEnter\"] = \"viewEnter\";\n InteractionsTrigger2[\"pageVisible\"] = \"pageVisible\";\n InteractionsTrigger2[\"viewProgress\"] = \"viewProgress\";\n InteractionsTrigger2[\"pointerMove\"] = \"pointerMove\";\n InteractionsTrigger2[\"animationEnd\"] = \"animationEnd\";\n})(InteractionsTrigger || (InteractionsTrigger = {}));\nvar RestrictionLevel;\n(function(RestrictionLevel2) {\n RestrictionLevel2[\"UNKNOWN_RESTRICTION_TYPE\"] = \"UNKNOWN_RESTRICTION_TYPE\";\n RestrictionLevel2[\"WARNING\"] = \"WARNING\";\n RestrictionLevel2[\"LOCKED\"] = \"LOCKED\";\n})(RestrictionLevel || (RestrictionLevel = {}));\nvar ElementDisplayOption;\n(function(ElementDisplayOption2) {\n ElementDisplayOption2[\"UNKNOWN_OPTION\"] = \"UNKNOWN_OPTION\";\n ElementDisplayOption2[\"REMOVE\"] = \"REMOVE\";\n ElementDisplayOption2[\"CUSTOMIZED\"] = \"CUSTOMIZED\";\n})(ElementDisplayOption || (ElementDisplayOption = {}));\nvar SidebarDataType;\n(function(SidebarDataType2) {\n SidebarDataType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n SidebarDataType2[\"CATEGORY\"] = \"CATEGORY\";\n SidebarDataType2[\"PAGE\"] = \"PAGE\";\n SidebarDataType2[\"SEPARATOR\"] = \"SEPARATOR\";\n})(SidebarDataType || (SidebarDataType = {}));\nvar SidebarEntityType;\n(function(SidebarEntityType2) {\n SidebarEntityType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n SidebarEntityType2[\"CATEGORY\"] = \"CATEGORY\";\n SidebarEntityType2[\"PAGE\"] = \"PAGE\";\n SidebarEntityType2[\"APP\"] = \"APP\";\n})(SidebarEntityType || (SidebarEntityType = {}));\n\n// src/schema/index.ts\nvar DATA = {\n DATA_TYPE: DataType,\n A11Y_ATTRIBUTES: A11yAttributes,\n LINK_TYPE: LinkType\n};\nvar STYLE = {\n CSS_PROPERTY_TYPE: CssPropertyType,\n CSS_VARIABLE_TYPE: CssDataType\n};\nvar ELEMENTS = {\n ELEMENT_TYPE: ElementTypeEnumElementType\n};\nvar ACTIONS = {\n ACTION_TYPE: ActionType,\n ACTION_NAME: ActionName,\n PANEL_TYPE: PanelType,\n PANEL_CONTENT_TYPE: PanelContentType\n};\nvar LAYOUT = {\n RESIZE_DIRECTION: ResizeDirection,\n CONTENT_RESIZE_DIRECTION: ContentResizeDirection\n};\n\nexport {\n __commonJS,\n __toESM,\n ContainerType,\n Archetype,\n DATA,\n STYLE,\n ELEMENTS,\n ACTIONS,\n LAYOUT\n};\n//# sourceMappingURL=chunk-EKFUKHAF.js.map\n","import { DATA } from '@wix/component-protocol/schema';\n\nexport const videoDataManifest: Record<string, any> = {\n videoMedia: {\n dataType: DATA.DATA_TYPE.video,\n },\n qualityPolicy: {\n dataType: DATA.DATA_TYPE.textEnum,\n [DATA.DATA_TYPE.textEnum]: {\n options: [\n { value: 'PROPORTIONAL', displayName: 'Proportional' },\n { value: 'HIGHEST', displayName: 'Highest' },\n { value: 'ADAPTIVE', displayName: 'Adaptive' },\n ],\n },\n },\n poster: {\n dataType: DATA.DATA_TYPE.image,\n },\n loop: {\n dataType: DATA.DATA_TYPE.booleanValue,\n },\n muted: {\n dataType: DATA.DATA_TYPE.booleanValue,\n },\n autoplay: {\n dataType: DATA.DATA_TYPE.booleanValue,\n },\n playbackRate: {\n dataType: DATA.DATA_TYPE.number,\n },\n posterEffect: {\n dataType: DATA.DATA_TYPE.textEnum,\n [DATA.DATA_TYPE.textEnum]: {\n options: [\n { value: 'FADE', displayName: 'Fade' },\n { value: 'NONE', displayName: 'None' },\n ],\n },\n },\n};\n","import Video from './Video';\nimport { initCustomElement } from './customElementInit';\nimport { videoDataManifest } from './dataManifest';\n\nexport { Video, initCustomElement, videoDataManifest };\nexport * from './types';\n"],"names":["STATIC_VIDEO_URL","STATIC_ADAPTIVE_VIDEO_URL","isAbsoluteUrl","url","startsWith","sortQualities","sources","sort","a","b","width","height","getCompleteUrl","staticVideoUrl","completeUrl","URL","href","getVideoQualityBySize","_ref","targetQuality","find","value","length","getScaleFactor","containerWidth","containerHeight","videoWidth","videoHeight","wScale","hScale","getVideoDimension","videoScale","scale","Math","min","round","setVideoFocalPoint","videoNode","focalPoint","focalX","x","focalY","y","style","setProperty","toString","getVideoSource","uri","qualityPolicy","adaptiveSources","duration","onError","hasProgressiveSources","hasAbsoluteUri","shouldSkipAdaptiveShortVideo","hlsSource","s","format","Hls","default","isSupported","videoSourceUrl","patchVideoSource","hls","loadSource","attachMedia","on","Events","ERROR","_","data","fatal","type","ErrorTypes","NETWORK_ERROR","startLoad","Error","details","MEDIA_ERROR","recoverMediaError","destroy","highestQuality","_highestQuality$types","types","src","load","_targetQuality$types$","parseInt","scaleFactor","videoScaledDimensions","measure","container","quality","offsetWidth","offsetHeight","needsSrcUpdate","shouldUpdateSrc","mutate","poster","autoplay","posterEffect","playbackRate","toggleAttribute","aspectRatio","handlePosterVisibility","newSrcUrl","hasError","networkState","NETWORK_NO_SOURCE","hasDiff","currentSrc","endsWith","Boolean","needsEventUpdate","posterNode","isPausedOrEmpty","paused","ontimeupdate","onseeked","onplay","muteState","muted","currentTime","removePoster","transition","opacity","videoLayout","wowVideoFactory","services","contextWindow","WowVideo","HTMLElement","constructor","_defineProperty","timeoutId","dispatchVideoError","error","dispatchEvent","CustomEvent","detail","bubbles","attributeChangedCallback","oldValue","reLayout","connectedCallback","_services$intersectio","intersectionService","observe","disconnectedCallback","unobserveIntersect","_services$intersectio2","unobserve","isPrefersReducedMotion","matchMedia","matches","dataset","videoInfo","JSON","parse","prefersReducedMotion","autoPlayAllowed","querySelector","mutationService","measures","observedAttributes","fastdom","init","window","elementName","customElements","get","undefined","intersectionObserver","IntersectionObserver","entries","map","entry","isIntersecting","target","rootMargin","define","initCustomElement","actualWindow","React","styles","Image","initImageCustomElement","document","readyState","addEventListener","once","Video","props","motionPart","videoRef","videoMedia","loop","id","wowVideoRef","useRef","videoInfoString","useMemo","sortedQualities","stringify","VideoPosterImage","createElement","_extends","displayMode","alt","name","handleVideoElementError","useCallback","event","_videoElement$error","videoElement","currentTarget","message","handleAdaptiveVideoError","_event$detail","useEffect","element","current","removeEventListener","ref","class","videoContainer","className","video","crossOrigin","playsInline","preload","DATA","videoDataManifest","dataType","DATA_TYPE","textEnum","options","displayName","image","booleanValue","number"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"video.umd.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;ACVA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY,MAAC,GAAG,CAAsC;;AAEtD;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,cAAc;AACd,GAAG;;AAEH;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;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,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA,cAAc,QAAQ;AACtB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;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;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY;;AAEhB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,GAAG;AACf,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4DAA4D;;AAE5D;AACA,IAAI,IAA6B,EAAE,mCAAO,aAAa,iBAAiB;AAAA,kGAAC;AACzE,KAAK,EAA0D;;AAE/D,CAAC;;;;;;;;;;;;ACnPD;;;;;;;;;;ACAA,oBAAoB,mBAAO,CAAC,4BAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACT7F;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA,0BAA0B;AAC1B;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,2BAA2B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACTtF,cAAc,wDAAiC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACXzF,cAAc,wDAAiC;AAC/C,kBAAkB,mBAAO,CAAC,2BAAkB;AAC5C;AACA;AACA;AACA;AACA,gCAAgC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACN3F;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,0BAA0B,yBAAyB,SAAS,yBAAyB;;;;;;UCTrF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;;;;;WCRA;WACA;WACA;WACA;WACA;;;;;WCJA;WACA;WACA;WACA;WACA;;;;;WCJA;;;;;WCAA;WACA;WACA;WACA;WACA,uBAAuB,4BAA4B;WACnD;WACA;WACA;WACA,iBAAiB,oBAAoB;WACrC;WACA,mGAAmG,YAAY;WAC/G;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,mEAAmE,iCAAiC;WACpG;WACA;WACA;WACA;;;;;WC5CA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;;;;WCAA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA,iCAAiC;;WAEjC;WACA;WACA;WACA,KAAK;WACL,eAAe;WACf;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrFA;AACA,mDAAe,CAAC,4HAA4H;;ACC5I,KAAM,CAAAA,gBAAgB,CAAG,8BAA8B,CACvD,KAAM,CAAAC,yBAAyB,CAAG,wBAAwB,CAE1D,KAAM,CAAAC,aAAa,CAAIC,GAAW,EAChCA,GAAG,CAACC,UAAU,CAAC,SAAS,CAAC,EAAID,GAAG,CAACC,UAAU,CAAC,UAAU,CAAC,CAElD,QAAS,CAAAC,aAAaA,CAACC,OAAsB,CAAE,CACpD,MAAO,CAAAA,OAAO,CAACC,IAAI,CAAC,CAACC,CAAC,CAAEC,CAAC,GAAKD,CAAC,CAACE,KAAK,CAAGF,CAAC,CAACG,MAAM,CAAGF,CAAC,CAACC,KAAK,CAAGD,CAAC,CAACE,MAAM,CAAC,CACxE,CAEA,QAAS,CAAAC,cAAcA,CAACT,GAAW,CAAEU,cAAuB,CAAU,CACpE,KAAM,CAAAC,WAAW,CAAGZ,aAAa,CAACC,GAAG,CAAC,CAClC,GAAI,CAAAY,GAAG,CAACZ,GAAG,CAAC,CACZ,GAAI,CAAAY,GAAG,CAACZ,GAAG,CAAEU,cAAc,CAAC,CAChC,MAAO,CAAAC,WAAW,CAACE,IAAI,CACzB,CAEA,QAAS,CAAAC,qBAAqBA,CAC5BX,OAAsB,CAAAY,IAAA,CAET,IADb,CAAER,KAAK,CAAEC,MAA0C,CAAC,CAAAO,IAAA,CAEpD,KAAM,CAAAC,aAAa,CAAGb,OAAO,CAACc,IAAI,CAC/BC,KAAK,EAAKA,KAAK,CAACX,KAAK,CAAGW,KAAK,CAACV,MAAM,CAAGD,KAAK,CAAGC,MAClD,CAAC,CAED,MAAO,CAAAQ,aAAa,EAAIb,OAAO,CAACA,OAAO,CAACgB,MAAM,CAAG,CAAC,CAAC,CACrD,CAEA,QAAS,CAAAC,cAAcA,CACrBC,cAAsB,CACtBC,eAAuB,CACvBC,UAAkB,CAClBC,WAAmB,CACiB,CACpC,MAAO,CACLC,MAAM,CAAEJ,cAAc,CAAGE,UAAU,CACnCG,MAAM,CAAEJ,eAAe,CAAGE,WAC5B,CAAC,CACH,CAEA,QAAS,CAAAG,iBAAiBA,CACxBC,UAA8C,CAC9CL,UAAkB,CAClBC,WAAmB,CACgB,CACnC,KAAM,CAAAK,KAAa,CAAGC,IAAI,CAACC,GAAG,CAACH,UAAU,CAACH,MAAM,CAAEG,UAAU,CAACF,MAAM,CAAC,CAEpE,MAAO,CACLnB,KAAK,CAAEuB,IAAI,CAACE,KAAK,CAACT,UAAU,CAAGM,KAAK,CAAC,CACrCrB,MAAM,CAAEsB,IAAI,CAACE,KAAK,CAACR,WAAW,CAAGK,KAAK,CACxC,CAAC,CACH,CAEO,QAAS,CAAAI,kBAAkBA,CAChCC,SAA2B,CAC3BC,UAAoC,CACpC,CACA,KAAM,CAAAC,aAAa,CAAGC,gBAAgB,CAACH,SAAS,CAAC,CACjD,KAAM,CAAAI,QAAQ,CAAGF,aAAa,CAACG,gBAAgB,CAAC,aAAa,CAAC,CAE9D,GAAID,QAAQ,GAAK,SAAS,CAAE,CAC1BJ,SAAS,CAACM,KAAK,CAACC,WAAW,CAAC,iBAAiB,CAAE,QAAQ,CAAC,CACxD,OACF,CAEAP,SAAS,CAACM,KAAK,CAACE,cAAc,CAAC,iBAAiB,CAAC,CACjD,KAAM,CAAAC,MAAM,CAAG,CAAAR,UAAU,cAAVA,UAAU,CAAES,CAAC,GAAI,EAAE,CAClC,KAAM,CAAAC,MAAM,CAAG,CAAAV,UAAU,cAAVA,UAAU,CAAEW,CAAC,GAAI,EAAE,CAClCZ,SAAS,CAACM,KAAK,CAACC,WAAW,CAAC,WAAW,CAAEE,MAAM,CAACI,QAAQ,CAAC,CAAC,CAAC,CAC3Db,SAAS,CAACM,KAAK,CAACC,WAAW,CAAC,WAAW,CAAEI,MAAM,CAACE,QAAQ,CAAC,CAAC,CAAC,CAC7D,CAEO,cAAe,CAAAC,cAAcA,CAClCzC,KAAa,CACbC,MAAc,CACdyC,GAAW,CACXC,aAA4B,CAC5B/C,OAAuB,CACvBgD,eAAuC,CACvCC,QAAiB,CACjBC,OAAgC,CAI/B,CACD,KAAM,CAAAC,qBAAqB,CAAGnD,OAAO,EAAIA,OAAO,CAACgB,MAAM,CAAG,CAAC,CAC3D,KAAM,CAAAoC,cAAc,CAAGN,GAAG,EAAIlD,aAAa,CAACkD,GAAG,CAAC,CAChD,KAAM,CAAAO,4BAA4B,CAAGJ,QAAQ,EAAIA,QAAQ,CAAG,EAAE,CAE9D,GACEF,aAAa,GAAK,UAAU,EAC5BC,eAAe,EACfA,eAAe,CAAChC,MAAM,CAAG,CAAC,EAC1B,CAACqC,4BAA4B,CAC7B,CACA,KAAM,CAAAC,SAAS,CAAGN,eAAe,CAAClC,IAAI,CAAEyC,CAAC,EAAKA,CAAC,CAACC,MAAM,GAAK,KAAK,CAAC,CACjE,KAAM,CAAAC,GAAG,CAAG,KAAM,kHAAgB,CAClC,GAAIH,SAAS,EAAIG,GAAG,EAAIA,GAAG,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC,CAAE,CACjD,KAAM,CAAAC,cAAc,CAAGtD,cAAc,CACnCgD,SAAS,CAACR,GAAG,CACbnD,yBACF,CAAC,CACD,KAAM,CAAAkE,gBAAgB,CAAI9B,SAA2B,EAAK,CACxD,KAAM,CAAA+B,GAAG,CAAG,GAAI,CAAAL,GAAG,CAACC,OAAO,CAAC,CAAC,CAC7BI,GAAG,CAACC,UAAU,CAACH,cAAc,CAAC,CAC9BE,GAAG,CAACE,WAAW,CAACjC,SAAS,CAAC,CAE1B+B,GAAG,CAACG,EAAE,CAACR,GAAG,CAACC,OAAO,CAACQ,MAAM,CAACC,KAAK,CAAE,CAACC,CAAC,CAAEC,IAAI,GAAK,CAC5C,GAAIA,IAAI,CAACC,KAAK,CAAE,CACd,OAAQD,IAAI,CAACE,IAAI,EACf,IAAK,CAAAd,GAAG,CAACC,OAAO,CAACc,UAAU,CAACC,aAAa,CACvCX,GAAG,CAACY,SAAS,CAAC,CAAC,CACf,GAAIxB,OAAO,CAAE,CACXA,OAAO,CACL,GAAI,CAAAyB,KAAK,CACP,sBAAsBN,IAAI,CAACO,OAAO,+BACpC,CACF,CAAC,CACH,CACA,MACF,IAAK,CAAAnB,GAAG,CAACC,OAAO,CAACc,UAAU,CAACK,WAAW,CACrCf,GAAG,CAACgB,iBAAiB,CAAC,CAAC,CACvB,GAAI5B,OAAO,CAAE,CACXA,OAAO,CACL,GAAI,CAAAyB,KAAK,CACP,oBAAoBN,IAAI,CAACO,OAAO,6BAClC,CACF,CAAC,CACH,CACA,MACF,QACEd,GAAG,CAACiB,OAAO,CAAC,CAAC,CACb,GAAI7B,OAAO,CAAE,CACXA,OAAO,CACL,GAAI,CAAAyB,KAAK,CACP,sBAAsBN,IAAI,CAACO,OAAO,iCACpC,CACF,CAAC,CACH,CACA,MACJ,CACF,CACF,CAAC,CAAC,CACJ,CAAC,CACD,MAAO,CAAEhB,cAAc,CAAEC,gBAAiB,CAAC,CAC7C,CACF,CACA,GAAIV,qBAAqB,CAAE,CACzB,KAAM,CAAA6B,cAAc,CAAGhF,OAAO,CAACA,OAAO,CAACgB,MAAM,CAAG,CAAC,CAAC,CAClD,GAAI+B,aAAa,GAAK,SAAS,CAAE,KAAAkC,qBAAA,CAC/B,KAAM,CAAApF,GAAG,EAAAoF,qBAAA,CAAGD,cAAc,CAACE,KAAK,CAACpE,IAAI,CAClCyD,IAAI,EAAKA,IAAI,CAACf,MAAM,GAAK,KAC5B,CAAC,eAFWyB,qBAAA,CAETnC,GAAG,CACN,GAAIjD,GAAG,CAAE,CACP,KAAM,CAAA+D,cAAc,CAAGtD,cAAc,CAACT,GAAG,CAAEH,gBAAgB,CAAC,CAC5D,MAAO,CACLkE,cAAc,CACdC,gBAAgB,CAAG9B,SAA2B,EAAK,CACjDA,SAAS,CAACoD,GAAG,CAAGvB,cAAc,CAC9B7B,SAAS,CAACqD,IAAI,CAAC,CAAC,CAClB,CACF,CAAC,CACH,CACF,CAAC,IAAM,KAAAC,qBAAA,CACL,KAAM,CAAAjE,UAAU,CAAGkE,QAAQ,CAACN,cAAc,CAAC5E,KAAK,CAACwC,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,CAChE,KAAM,CAAAvB,WAAW,CAAGiE,QAAQ,CAACN,cAAc,CAAC3E,MAAM,CAACuC,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,CAClE,KAAM,CAAA2C,WAAW,CAAGtE,cAAc,CAChCb,KAAK,CACLC,MAAM,CACNe,UAAU,CACVC,WACF,CAAC,CACD,KAAM,CAAAmE,qBAAqB,CAAGhE,iBAAiB,CAC7C+D,WAAW,CACXnE,UAAU,CACVC,WACF,CAAC,CACD,KAAM,CAAAR,aAAa,CAAGF,qBAAqB,CACzCX,OAAO,CACPwF,qBACF,CAAC,CACD,KAAM,CAAA3F,GAAG,EAAAwF,qBAAA,CAAGxE,aAAa,CAACqE,KAAK,CAACpE,IAAI,CACjCyD,IAAI,EAAKA,IAAI,CAACf,MAAM,GAAK,KAC5B,CAAC,eAFW6B,qBAAA,CAETvC,GAAG,CACN,GAAIjD,GAAG,CAAE,CACP,KAAM,CAAA+D,cAAc,CAAGtD,cAAc,CAACT,GAAG,CAAEH,gBAAgB,CAAC,CAC5D,MAAO,CACLkE,cAAc,CACdC,gBAAgB,CAAG9B,SAA2B,EAAK,CACjDA,SAAS,CAACoD,GAAG,CAAGvB,cAAc,CAC9B7B,SAAS,CAACqD,IAAI,CAAC,CAAC,CAClB,CACF,CAAC,CACH,CACF,CACF,CACA,GAAIhC,cAAc,CAAE,CAClB,MAAO,CACLQ,cAAc,CAAEd,GAAG,CACnBe,gBAAgB,CAAG9B,SAA2B,EAAK,CACjDA,SAAS,CAACoD,GAAG,CAAGrC,GAAG,CACnBf,SAAS,CAACqD,IAAI,CAAC,CAAC,CAClB,CACF,CAAC,CACH,CACA,MAAO,CACLxB,cAAc,CAAE,EAAE,CAClBC,gBAAgB,CAAEA,CAAA,GAAM,CAAC,CAC3B,CAAC,CACH;;;;;AChNA,kDAAe,CACb;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KACE,KAAM,CAAA4B,OAAOA,CACX1D,SAA2B,CAC3B2D,SAAsB,CACtBC,OAAsB,CACtB7C,GAAW,CACX9C,OAAuB,CACvBgD,eAAuC,CACvCC,QAAiB,CACjBC,OAAgC,CAChC,CACA,KAAM,CAAEU,cAAc,CAAEC,gBAAiB,CAAC,CAAG,KAAM,CAAAhB,cAAc,CAC/D6C,SAAS,CAACE,WAAW,CACrBF,SAAS,CAACG,YAAY,CACtB/C,GAAG,CACH6C,OAAO,CACP3F,OAAO,CACPgD,eAAe,CACfC,QAAQ,CACRC,OACF,CAAC,CACD,KAAM,CAAA4C,cAAc,CAAGC,eAAe,CAAChE,SAAS,CAAE6B,cAAc,CAAC,CACjE,MAAO,CACLkC,cAAc,CACdjC,gBACF,CAAC,CACH,CAAC,CACD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KACEmC,MAAMA,CACJC,MAAsB,CACtBlE,SAA2B,CAC3BmE,QAAiB,CACjBJ,cAAuB,CACvBK,YAAoB,CACpBC,YAAoB,CACpBvC,gBAAuD,CACvD7B,UAAoC,CACpChC,OAAuB,CACjB,CACN+B,SAAS,CAACsE,eAAe,CAAC,UAAU,CAAEH,QAAQ,CAAC,CAC/C,GAAIlG,OAAO,QAAPA,OAAO,CAAG,CAAC,CAAC,CAAE,CAChB,KAAM,CAAAoB,UAAU,CAAGpB,OAAO,CAAC,CAAC,CAAC,CAACI,KAAK,CACnC,KAAM,CAAAiB,WAAW,CAAGrB,OAAO,CAAC,CAAC,CAAC,CAACK,MAAM,CACrC,KAAM,CAAAiG,WAAW,CAAGlF,UAAU,CAAGC,WAAW,CAC5CU,SAAS,CAACM,KAAK,CAACC,WAAW,CAAC,gBAAgB,CAAEgE,WAAW,CAAC1D,QAAQ,CAAC,CAAC,CAAC,CACvE,CACAd,kBAAkB,CAACC,SAAS,CAAEC,UAAW,CAAC,CAE1CuE,sBAAsB,CACpBT,cAAc,CACd/D,SAAS,CACTkE,MAAM,CACNE,YAAY,CACZD,QACF,CAAC,CAED,GAAIJ,cAAc,CAAE,CAClBjC,gBAAgB,CAAC9B,SAAS,CAAC,CAC7B,CACAA,SAAS,CAACqE,YAAY,CAAGA,YAAY,CACvC,CACF,CAAC,EAED;AACA;AACA;AACA;AACA;AACA,GACA,QAAS,CAAAL,eAAeA,CACtBhE,SAA2B,CAC3ByE,SAAiB,CACR,CACT,KAAM,CAAAC,QAAQ,CAAG1E,SAAS,CAAC2E,YAAY,GAAK3E,SAAS,CAAC4E,iBAAiB,CACvE,KAAM,CAAAC,OAAO,CAAG,CAAC7E,SAAS,CAAC8E,UAAU,CAACC,QAAQ,CAACN,SAAS,CAAC,CACzD,MAAO,CAAAO,OAAO,CAACP,SAAS,GAAKI,OAAO,EAAIH,QAAQ,CAAC,CAAC,CACpD,CAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,QAAS,CAAAF,sBAAsBA,CAC7BS,gBAAyB,CACzBjF,SAA2B,CAC3BkF,UAA0B,CAC1Bd,YAAoB,CACpBD,QAAiB,CACX,CACN,KAAM,CAAAgB,eAAe,CAAGnF,SAAS,CAACoF,MAAM,EAAIpF,SAAS,CAAC8E,UAAU,GAAK,EAAE,CACvE,GAAIG,gBAAgB,EAAIE,eAAe,CAAE,CACvCnF,SAAS,CAACqF,YAAY,CAAG,IAAI,CAC7BrF,SAAS,CAACsF,QAAQ,CAAG,IAAI,CACzBtF,SAAS,CAACuF,MAAM,CAAG,IAAI,CACvB,GAAIpB,QAAQ,CAAE,CACZ,KAAM,CAAAqB,SAAS,CAAGxF,SAAS,CAACyF,KAAK,CACjCzF,SAAS,CAACqF,YAAY,CAAG,IAAM,CAC7B,GAAIrF,SAAS,CAAC0F,WAAW,CAAG,CAAC,CAAE,CAC7B1F,SAAS,CAACqF,YAAY,CAAG,IAAI,CAC7BrF,SAAS,CAACsF,QAAQ,CAAG,IAAM,CACzBtF,SAAS,CAACsF,QAAQ,CAAG,IAAI,CACzBtF,SAAS,CAACyF,KAAK,CAAGD,SAAS,CAC3BG,YAAY,CAAC3F,SAAS,CAAEkF,UAAU,CAAEd,YAAY,CAAC,CACnD,CAAC,CACDpE,SAAS,CAAC0F,WAAW,CAAG,CAAC,CAC3B,CACF,CAAC,CACH,CAAC,IAAM,CACL1F,SAAS,CAACuF,MAAM,CAAG,IAAM,CACvBvF,SAAS,CAACuF,MAAM,CAAG,IAAI,CACvBI,YAAY,CAAC3F,SAAS,CAAEkF,UAAU,CAAEd,YAAY,CAAC,CACnD,CAAC,CACH,CACF,CACF,CAEA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,QAAS,CAAAuB,YAAYA,CACnB3F,SAA2B,CAC3BkF,UAA0B,CAC1Bd,YAAoB,CACd,CACN,GAAIA,YAAY,GAAK,MAAM,CAAE,CAC3Bc,UAAU,CAAC5E,KAAK,CAACsF,UAAU,CAAG,uBAAuB,CACvD,CACAV,UAAU,CAAC5E,KAAK,CAACuF,OAAO,CAAG,GAAG,CAC9B7F,SAAS,CAACM,KAAK,CAACuF,OAAO,CAAG,GAAG,CAC/B;;AC9JA,QAAS,CAAAE,eAAeA,CACtBC,QAA0B,CAC1BC,aAAyC,CACpC,CACL,MAAO,MAAM,CAAAC,QAAQ,QAAS,CAAAD,aAAa,CAACE,WAAY,CAGtDC,WAAWA,CAAA,CAAG,CACZ,KAAK,CAAC,CAAC,CAACC,wBAAA,0BACR,IAAI,CAACC,SAAS,CAAG,IAAI,CACvB,CAEA;AACJ;AACA,OACIC,kBAAkBA,CAACC,KAAY,CAAE,CAC/B,IAAI,CAACC,aAAa,CAChB,GAAI,CAAAC,WAAW,CAAC,YAAY,CAAE,CAC5BC,MAAM,CAAE,CAAEH,KAAM,CAAC,CACjBI,OAAO,CAAE,IACX,CAAC,CACH,CAAC,CACH,CAEAC,wBAAwBA,CAACxE,CAAS,CAAEyE,QAAgB,CAAE,CACpD,GAAIA,QAAQ,CAAE,CACZ,IAAI,CAACC,QAAQ,CAAC,CAAC,CACjB,CACF,CAEAC,iBAAiBA,CAAA,CAAG,KAAAC,qBAAA,CAClB,CAAAA,qBAAA,CAAAjB,QAAQ,CAACkB,mBAAmB,SAA5BD,qBAAA,CAA8BE,OAAO,CAAC,IAAI,CAAC,CAC7C,CAEAC,oBAAoBA,CAAA,CAAG,CACrB,IAAI,CAACC,kBAAkB,CAAC,CAAC,CAC3B,CAEAA,kBAAkBA,CAAA,CAAG,KAAAC,sBAAA,CACnB,CAAAA,sBAAA,CAAAtB,QAAQ,CAACkB,mBAAmB,SAA5BI,sBAAA,CAA8BC,SAAS,CAAC,IAAI,CAAC,CAC/C,CAEA;AACJ;AACA;AACA;AACA,OACIC,sBAAsBA,CAAA,CAAY,CAChC,MAAO,CAAAvB,aAAa,CAACwB,UAAU,CAAC,kCAAkC,CAAC,CAChEC,OAAO,CACZ,CAEAX,QAAQA,CAAA,CAAG,CACT,GAAI,CAAC,IAAI,CAACY,OAAO,CAACC,SAAS,CAAE,CAC3B,OACF,CAEA,KAAM,CACJ7G,GAAG,CACH9C,OAAO,CACPgD,eAAe,CACfkD,QAAQ,CACRE,YAAY,CACZD,YAAY,CACZpD,aAAa,CACbf,UAAU,CACViB,QACF,CAAC,CAAG2G,IAAI,CAACC,KAAK,CAAC,IAAI,CAACH,OAAO,CAACC,SAAS,CAAC,CAEtC,KAAM,CAAAG,oBAAoB,CAAG,IAAI,CAACP,sBAAsB,CAAC,CAAC,CAC1D,KAAM,CAAAQ,eAAe,CAAG,CAACD,oBAAoB,EAAI5D,QAAQ,CAEzD,KAAM,CAAAnE,SAAS,CAAG,IAAI,CAACiI,aAAa,CAAC,OAAO,CAAqB,CACjE,KAAM,CAAA/D,MAAM,CAAG,IAAI,CAAC+D,aAAa,CAAC,KAAK,CAAqB,CAE5DjC,QAAQ,CAACkC,eAAe,CAACxE,OAAO,CAAC,SAAY,CAC3C,KAAM,CAAAyE,QAAQ,CAAG,KAAM,CAAArC,WAAW,CAACpC,OAAO,CACxC1D,SAAS,CACT,IAAI,CACJgB,aAAa,CACbD,GAAG,CACH9C,OAAO,CACPgD,eAAe,CACfC,QAAQ,CACPsF,KAAY,EAAK,IAAI,CAACD,kBAAkB,CAACC,KAAK,CACjD,CAAC,CAED,KAAM,CAAEzC,cAAc,CAAEjC,gBAAiB,CAAC,CAAGqG,QAAQ,CACrDnC,QAAQ,CAACkC,eAAe,CAACjE,MAAM,CAAC,IAAM,CACpC6B,WAAW,CAAC7B,MAAM,CAChBC,MAAM,CACNlE,SAAS,CACTgI,eAAe,CACfjE,cAAc,CACdK,YAAY,CACZC,YAAY,CACZvC,gBAAgB,CAChB7B,UAAU,CACVhC,OACF,CAAC,CACH,CAAC,CAAC,CACJ,CAAC,CAAC,CACJ,CAEA,UAAW,CAAAmK,kBAAkBA,CAAA,CAAG,CAC9B,MAAO,CAAC,iBAAiB,CAAC,CAC5B,CACF,CAAC,CACH,CAEA,8DAAerC,eAAe;;;;;ACxGvB,QAAS,CAAAuC,IAAIA,CAClBrC,aAAyC,CACzCD,QAA+B,CAC/B,CACAC,aAAa,CAAGA,aAAa,EAAIsC,MAAM,CACvC,KAAM,CAAAC,WAAW,CAAG,WAAW,CAE/B,GAAIvC,aAAa,CAACwC,cAAc,CAACC,GAAG,CAACF,WAAW,CAAC,GAAKG,SAAS,CAAE,CAC/D,GAAI,CAAAC,oBAAsD,CAE1D,GAAI3C,aAAa,CAAC4C,oBAAoB,CAAE,CACtCD,oBAAoB,CAAG,GAAI,CAAAC,oBAAoB,CAC5CC,OAAoC,EACnCA,OAAO,CAACC,GAAG,CAAEC,KAAK,EAAK,CACrB,GAAIA,KAAK,CAACC,cAAc,CAAE,CACxB,KAAM,CAAAC,MAAM,CAAGF,KAAK,CAACE,MAAkB,CACvCA,MAAM,CAAC7B,kBAAkB,CAAC,CAAC,CAC3B6B,MAAM,CAACnC,QAAQ,CAAC,CAAC,CACnB,CACA,MAAO,CAAAiC,KAAK,CACd,CAAC,CAAC,CACJ,CACEG,UAAU,CAAE,UACd,CACF,CAAC,CACH,CAEA,KAAM,CAAAjD,QAAQ,CAAGH,uBAAe,CAC9B,CACEmC,eAAe,CAAEG,mBAAO,CACxBnB,mBAAmB,CAAE0B,oBAAoB,CACzC,GAAG5C,QACL,CAAC,CACDC,aACF,CAAC,CACDA,aAAa,CAAEwC,cAAc,CAACW,MAAM,CAACZ,WAAW,CAAEtC,QAAQ,CAAC,CAC7D,CAEA,OACF;;AC7CA,QAAS,CAAAmD,iBAAiBA,CACxBpD,aAAkD,CAClDD,QAA+B,CAC/B,IAFAC,aAAkD,WAAlDA,aAAkD,CAAG,IAAI,KACzDD,QAA+B,WAA/BA,QAA+B,CAAG,CAAC,CAAC,EAEpC,KAAM,CAAAsD,YAAY,CAAGrD,aAAa,EAAIsC,MAAM,CAE5CD,IAAI,CAACgB,YAAY,CAAEtD,QAAQ,CAAC,CAC9B;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gBAAgB;AAC3C,6BAA6B,YAAY;AACzC,8BAA8B,cAAc;AAC5C,wBAAwB,cAAc;AACtC,gCAAgC,cAAc;AAC9C,iCAAiC,gBAAgB;AACjD,2BAA2B,gBAAgB;AAC3C,0BAA0B,gBAAgB;AAC1C,yBAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,qBAAqB;AACrB,KAAK;AACL;AACA,eAAe;AACf,qBAAqB;AACrB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyd;AACzd;;ACrOA;AACA;AACA,gCAAgC,KAAK;AACrC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AAC0B;AAC1B;;AC1BqR;AACtP;AAC/B;AACA,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ;AACA;AACA,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,sBAAsB,YAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wBAAM;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA,SAAS,wBAAM;AACf,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qDAAqD,KAAK;AAC1D;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,6CAA6C,uDAAuD;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,QAAQ;AACvB;AACA,aAAa,wBAAM;AACnB,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA,eAAe,QAAQ;AACvB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA,SAAS,gCAAc;AACvB;AACA,0BAA0B,cAAc;AACxC;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gCAAc;AAChC,0BAA0B,cAAc;AACxC;AACA;AACA;AACA;AACA,4CAA4C,qBAAqB;AACjE,+CAA+C,qBAAqB;AACpE;AACA;AACA;AACA,sBAAsB,gCAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa,sBAAsB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,6BAA6B;AACzC;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA,qDAAqD,UAAU;AAC/D,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA,aAAa,eAAe,kBAAkB;AAC9C,aAAa,iCAAiC;AAC9C,YAAY,qBAAqB,aAAa;AAC9C,WAAW,mCAAmC;AAC9C;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA,kDAAkD,sBAAsB;AACxE;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA,iCAAiC,aAAa;AAC9C,QAAQ,aAAa,CAAC,UAAU;AAChC;AACA;AACA;AACA,YAAY,qBAAqB,YAAY;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,8BAA8B,kBAAkB;AAChD,4BAA4B,oBAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,8BAA8B,kBAAkB;AAChD,4BAA4B,oBAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,8BAA8B,IAAI,CAAC,oBAAoB;AACvD,4BAA4B,oBAAoB;AAChD,oBAAoB,oBAAoB;AACxC,0BAA0B,IAAI,CAAC,oBAAoB;AACnD;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,WAAW,kBAAkB;AAC7B,WAAW,WAAW;AACtB,WAAW,kBAAkB;AAC7B;AACA,cAAc;AACd;AACA;AACA,YAAY,qDAAqD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,YAAY;AAC9C,eAAe,YAAY;AAC3B;AACA,oBAAoB,kBAAkB,CAAC,YAAY;AACnD,eAAe,YAAY;AAC3B;AACA,oBAAoB,kBAAkB,CAAC,YAAY;AACnD,eAAe,YAAY;AAC3B;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,wBAAwB,gCAAc;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,aAAa;AACb;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,YAAY,cAAc,yCAAyC,cAAc;AACjF;AACA;AACA,6BAA6B,wBAAM;AACnC,sCAAsC,QAAQ;AAC9C;AACiY;AACjY;;ACnmBA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkC;AAClC;;ACbgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,UAAU;AAClB;AACA;AACwC;AACxC;;ACb+E;AAC/E;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,yBAAyB;AACzB,SAAS;AACT;AACA,YAAY,MAAM;AAClB,YAAY,cAAc;AAC1B;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB,gEAAgE;AAChE;AACA,aAAa,UAAU;AACvB,8DAA8D;AAC9D;AACA,aAAa,UAAU;AACvB,+DAA+D;AAC/D;AACA,aAAa,UAAU;AACvB,6DAA6D;AAC7D;AACA,aAAa,UAAU;AACvB,gEAAgE;AAChE;AACA,aAAa,UAAU;AACvB,4DAA4D;AAC5D;AACA,aAAa,UAAU;AACvB,2DAA2D;AAC3D;AACA,aAAa,UAAU;AACvB,+DAA+D;AAC/D;AACA,aAAa,UAAU;AACvB,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACyB;AACzB;;ACjH+E;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,cAAc,iBAAiB;AAClD,SAAS,UAAU,eAAe,kBAAkB;AACpD,SAAS,UAAU,SAAS,gCAAgC;AAC5D,SAAS,UAAU,iBAAiB,oBAAoB;AACxD,SAAS,UAAU,kBAAkB,qBAAqB;AAC1D,SAAS,UAAU,YAAY,mCAAmC;AAClE,SAAS,UAAU,WAAW,+BAA+B;AAC7D,SAAS,UAAU,UAAU,8BAA8B;AAC3D,SAAS,UAAU;AACnB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA,SAAS,oBAAM;AACf;AACA;AACA,yBAAyB;AACzB,mBAAmB;AACnB,SAAS;AACT;AACA,YAAY,MAAM;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACyB;AACzB;;AClHgG;AACJ;AAC5F;AACA;AACA;AACA,WAAW,uBAAuB;AAClC,WAAW,uBAAuB;AAClC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,yBAAyB;AACzB,SAAS;AACT;AACA,yBAAyB;AACzB,mBAAmB;AACnB,SAAS;AACT;AACA,YAAY,YAAY;AACxB,YAAY,cAAc;AAC1B;AACA,YAAY,2CAA2C;AACvD;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,iBAAiB,0BAA0B;AAC3C,6BAA6B,YAAY,yDAAyD,cAAc;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;AAC7B;;AC/I2D;AACqB;AACd;AACA;AAClE;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,MAAoB;AAC/C;AACA,gCAAgC,OAAO;AACvC,2BAA2B,UAAa;AACxC;AACA;AACA,2BAA2B,oBAAa;AACxC;AACA;AACA;AACyB;AACzB;;ACzBgE;AAChE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW,UAAU;AACrB;AACoB;AACpB;;ACVuF;AACkD;AACzI;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA,4BAA4B,gBAAgB,oDAAoD,cAAc;AAC9G;AACA;AACA,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB;AACA;AACA;AACA;AACA;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;AACA,aAAa;AACb;AACA;AACA;AACA,4BAA4B,gBAAgB,oDAAoD,cAAc;AAC9G,uBAAuB,aAAa;AACpC;AACA,UAAU,cAAc;AACxB,UAAU,cAAc;AACxB;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,sBAAsB;AACjC;AACA,aAAa;AACb;AACA;AACA;AACA,wBAAwB,gCAAc,iFAAiF,cAAc;AACrI,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,uDAAuD;AACnE;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,cAAc;AACrC;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AAC6B;AAC7B;;ACxO+B;AAC8C;AACiB;AAC9F;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA,6CAA6C,QAAQ;AACrD,6CAA6C,QAAQ;AACrD,8CAA8C,QAAQ;AACtD,8CAA8C,QAAQ;AACtD;AACA;AACA,8BAA8B,IAAI;AAClC,+BAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,yCAAyC,YAAY;AACrD,gBAAgB,YAAY,2BAA2B,YAAY;AACnE;AACA;AACA,yCAAyC,YAAY;AACrD,gBAAgB,YAAY,6BAA6B,YAAY;AACrE;AACA;AACA,yCAAyC,YAAY;AACrD,gBAAgB,YAAY,6BAA6B,YAAY;AACrE;AACA;AACA,yCAAyC,YAAY;AACrD,gBAAgB,YAAY,sBAAsB,YAAY;AAC9D;AACA;AACA,yCAAyC,YAAY;AACrD,gBAAgB,YAAY,uBAAuB,YAAY;AAC/D;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC,oBAAoB,YAAY;AAChC,uBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA,WAAW,2BAA2B;AACtC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,IAAI;AAC9B;AACA;AACA;AACA;AACA,wCAAwC,cAAc;AACtD;AACA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC+B;AAC/B;;AClMyL;AAC7H;AACO;AACI;AAC8H;AACrM;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA,sBAAsB,QAAQ;AAC9B,qBAAqB,WAAW;AAChC,qBAAqB,WAAW;AAChC,6CAA6C,mBAAmB;AAChE,0BAA0B,gBAAgB;AAC1C;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA,uBAAuB;AACvB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB,QAAQ,mBAAmB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA;AACA,wBAAwB;AACxB,sBAAsB,QAAQ;AAC9B;AACA;AACA,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB,aAAa,YAAY;AACzB;AACA,kBAAkB,+BAA+B;AACjD,kBAAkB,8BAA8B;AAChD;AACA,kBAAkB,gCAAgC;AAClD,kBAAkB,+BAA+B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACmC;AACnC;;AC5F4C;AAC2E;AAClE;AACrD;AACA,oBAAoB,QAAQ,UAAU,QAAQ,KAAK,SAAS;AAC5D,qBAAqB,QAAQ,WAAW,QAAQ,KAAK,SAAS,MAAM,YAAY;AAChF,0BAA0B,QAAQ,WAAW,QAAQ,KAAK,SAAS,MAAM,cAAc,GAAG,cAAc;AACxG,qBAAqB,QAAQ,WAAW,IAAI,KAAK,IAAI,KAAK,QAAQ,KAAK,SAAS;AAChF;AACA,2BAA2B,QAAQ,WAAW,QAAQ,KAAK,SAAS,MAAM,YAAY;AACtF,2BAA2B,QAAQ,WAAW,QAAQ,KAAK,SAAS,MAAM,YAAY;AACtF;AACA,wBAAwB,QAAQ,QAAQ,qBAAqB;AAC7D;AACA,wBAAwB,QAAQ,OAAO,UAAU;AACjD,4BAA4B,QAAQ;AACpC,4BAA4B,QAAQ,SAAS,SAAS,GAAG,SAAS,GAAG,YAAY;AACjF,+BAA+B,QAAQ;AACvC,0BAA0B,QAAQ,QAAQ,YAAY;AACtD;AACA,KAAK,YAAY,YAAY,QAAQ,SAAS,WAAW;AACzD,KAAK,YAAY,cAAc,QAAQ,QAAQ,aAAa;AAC5D,KAAK,YAAY,cAAc,QAAQ,SAAS,aAAa;AAC7D,KAAK,YAAY,OAAO,QAAQ,SAAS,MAAM;AAC/C,KAAK,YAAY,QAAQ,QAAQ,UAAU,OAAO;AAClD;AACA,2BAA2B,QAAQ;AACnC,2BAA2B,QAAQ;AACnC,4BAA4B,QAAQ;AACpC,kCAAkC,QAAQ;AAC1C,qCAAqC,QAAQ;AAC7C;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;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;AACA;AACA,mCAAmC,QAAQ;AAC3C,uCAAuC,aAAa;AACpD;AACA;AACA;AACA,4CAA4C,aAAa;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,KAAK;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qBAAqB,GAAG,WAAW,CAAC,GAAG,cAAc,GAAG,uBAAuB,GAAG,iCAAiC;AACjI;AACuB;AACvB;;ACtI2F;AACvC;AACT;AAC3C;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA,sDAAsD;AACtD;AACA,QAAQ,0BAA0B;AAClC,YAAY,wBAAM,YAAY,MAAM;AACpC;AACA,oBAAoB,gCAAgC;AACpD,+BAA+B;AAC/B;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA,gCAAgC,YAAY;AAC5C;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACkB;AAClB;;AClC+B;AAC/B;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,kBAAkB,MAAM;AACxB;AACA;AACA,iBAAiB,YAAY;AAC7B,eAAe;AACf;AACA,kBAAkB,MAAM;AACxB;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACqB;AACrB;;ACrBmE;AACvB;AAC5C;AACA,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf,KAAK,UAAU;AACf;AACA;AACA;AACA;AACA,CAAC,IAAI;AACL;AACA,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB;AACA;AACA,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB;AACA,2CAA2C,2CAA2C;AACtF,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,aAAa,YAAY;AACzB;AACA,iDAAiD,eAAe;AAChE;AACA,iBAAiB;AACjB;AACA;AACA,yDAAyD,eAAe;AACxE;AACA;AACA;AACA;AACA,wCAAwC,KAAK;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA,mCAAmC,YAAY;AAC/C,8BAA8B,YAAY;AAC1C;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,aAAa,eAAe;AAC5B;AACA,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,WAAW,mCAAmC;AAC9C,YAAY,gBAAgB,kBAAkB;AAC9C,WAAW,mCAAmC;AAC9C,cAAc,IAAI,GAAG;AACrB;AACA;AACA;AACA,eAAe;AACf,qBAAqB;AACrB;AACA,wBAAwB,YAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,YAAY,uBAAuB,YAAY;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,UAAU,KAAK,WAAW;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,aAAa,WAAW;AACxB;AACA;AACA,wBAAwB,aAAa,IAAI,aAAa;AACtD;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,gBAAgB,iBAAiB;AAC5C,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA,YAAY,wBAAwB;AACpC,YAAY,wBAAwB;AACpC,YAAY,iBAAiB;AAC7B;AACA,kBAAkB,IAAI,IAAI,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,KAAK,IAAI,KAAK;AAC5B;AAC6H;AAC7H;;AC3MgE;AAC8B;AACrC;AACF;AACvB;AACM;AACkI;AACxK,wCAAwC;AACxC;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,oCAAoC;AAC/C,WAAW,uBAAuB;AAClC;AACA,aAAa;AACb;AACA,8DAA8D;AAC9D,YAAY,kGAAkG;AAC9G,SAAS,cAAc;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,8BAA8B,0BAA0B;AACxD;AACA;AACA;AACA;AACA;AACA,eAAe,WAAO;AACtB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,YAAY,qBAAqB;AACjC,uBAAuB,aAAa;AACpC,6BAA6B,mBAAmB;AAChD,iBAAiB,YAAY;AAC7B,iCAAiC,mBAAmB;AACpD,wBAAwB,eAAe;AACvC,YAAY,MAAM,EAAE,WAAO;AAC3B;AACA;AACA;AACA,KAAK;AACL;AACA,0BAA0B,OAAO,IAAI;AACrC;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,SAAS,QAAQ,EAAE,WAAO;AACtC;AACA;AACA;AACA,KAAK,IAAI;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,aAAa;AACb;AACA,SAAS,WAAO;AAChB;AACA;AACA,QAAQ,cAAc;AACtB;AACA,0BAA0B,SAAS;AACnC;AACA,6BAA6B,YAAY;AACzC,mBAAmB,MAAM;AACzB;AACA,0BAA0B,SAAS;AACnC;AACA;AACA,4BAA4B,aAAa;AACzC;AACA,SAAS;AACT;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACmC;AACnC;;AC7GyG;AACxC;AACmB;AAC7B;AACvB;AAChC;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC,WAAW,yBAAyB;AACpC;AACA,cAAc;AACd;AACA,SAAS,WAAO;AAChB;AACA,QAAQ,cAAc;AACtB;AACA,0BAA0B,SAAS;AACnC;AACA,6BAA6B,YAAY;AACzC;AACA,iBAAiB,MAAM,2CAA2C;AAClE;AACA;AACA,aAAa;AACb;AACqG;AACrG;;AC7ByE;AACa;AACtF;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,EAAE,IAAI;AACzB,SAAS,mBAAmB,EAAE,IAAI;AAClC;AACA;AACA,4BAA4B,YAAY,EAAE,IAAI;AAC9C;AACA;AACA,iBAAiB,WAAO,CAAC,YAAY;AACrC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,OAAO;AACxB,mBAAmB,UAAU;AAC7B;AACA,KAAK;AACL;AACA;AACA;AACA,iBAAiB,WAAO,CAAC,YAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,iBAAiB,OAAO;AACxB,mBAAmB,UAAU;AAC7B;AACA,KAAK;AACL;AACA;AACA;AACA,iBAAiB,WAAO,CAAC,YAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,iBAAiB,OAAO;AACxB,mBAAmB,UAAU;AAC7B;AACA,KAAK;AACL;AACA;AACwI;AACxI;;ACrEqJ;AACrJ,4BAA4B;AAC8E;AAC1G;;ACHuD;AACvD,MAAM,+BAAU;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oJAAoJ,+BAAU;AAC9J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,eAAe,6EAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,2BAA2B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gBAAgB;AACrC,qBAAqB,eAAe;AACpC,kCAAkC,MAAM;AACxC;AACA;AACA;AACA,KAAK;AACL;AACO;AACP,YAAY,uMAAuM;AACnN;AACA,gBAAgB,yBAAyB,yBAAyB,gDAAgD;AAClH;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qFAAqF,iBAAiB,EAAE,EAAE;AAC1G,+BAA+B,iBAAiB,EAAE,IAAI;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnImH;AACxC;AACS;AACpC;AACgE;AACnC;AAC7E,4BAA4B;AAC5B;AACA,yBAAyB;AACzB,0BAA0B;AAC1B,mBAAmB;AACnB;AAC4B;AAC5B,MAAM,oBAAgB,GAAG,kBAAkB;AAC8J;AACzM;;ACfwG;AAChE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,aAAa;AACxE,KAAK,IAAI;AACT;AACA;AACA;AACA,SAAS,MAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA,YAAY,YAAY;AACxB,yDAAyD,YAAY;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,6BAA6B,yBAAmB;AAChD,oGAAoG,mBAAmB;AACvH;AACA;AACA;AACA;AACA;AACA,kDAAkD,UAAU;AAC5D;AACA,oCAAoC,WAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,eAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,yBAAmB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,qBAAe,0BAA0B,gBAAgB,UAAU,QAAQ;AACjF,KAAK,gBAAgB,UAAU,QAAQ;AACvC;AACA;AACA;AACA,mCAAmC,kBAAkB,IAAI,MAAM;AAC/D;AACA;AAGyJ;AACzJ;;ACjH+G;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B;AACpD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,wCAAwC,0BAA0B;AAClE;AACA,KAAK;AACL;AACA;AACA,2CAA2C,8CAA8C;AACzF;AACA;AACA,yBAAyB,eAAe;AACxC;AACA;AACA;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,oCAAoC,0BAA0B;AAC9D;AACA;AACA,IAAI,QAAQ;AACZ;AACA,QAAQ,QAAQ;AAChB,oBAAoB,aAAa;AACjC,qBAAqB,cAAc;AACnC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,qBAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,kDAAe;AACf;AACA;AACA,CAAC,EAAC;AACF;;ACjNsC;AACE;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC,oBAAoB,eAAe;AACnC,oBAAoB,aAAa;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,2FAA2F,sBAAsB;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,oBAAoB,WAAW;AAC/B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,0CAA0C,WAAW;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,qDAAqD,iBAAiB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAAe,eAAe,EAAC;AAC/B;;AClJyC;AACX;AACf,SAAS,aAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,6BAA6B,uBAAe;AAC5C;AACA;AACA,iCAAiC,mBAAO;AACxC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AC5C6C;AAC7C,MAAM,qCAAmB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kCAAgB;AACtB;AACA,SAAS,mCAAiB,cAAc,sCAAsC;AAC9E;AACA;AACA;AACA;AACA,wBAAwB,kCAAgB;AACxC;AACA,uBAAuB;AACvB,0BAA0B,qCAAmB;AAC7C;AACA;AACA,mBAAmB,aAAI;AACvB;AACA;AACA;AACA;AAC6B;AAC7B;;AC5BA;AACA,mDAAe,CAAC,iBAAiB;;ACDF;AACU;AACE;AAC3C,QAAQ,mDAAgB,GAAG,EAAE,mBAAQ;AACrC,qBAAqB,oCAAoC;AACzD,wBAAwB,cAAuB;AAC/C;AACA;AACA,KAAK;AACL;AACA,6BAA6B,sBAAgB,CAAC,EAAE,gBAAgB;AAChE;AACA;AACA;AACA;AACA;AACA,YAAY,kMAAkM,4DAA4D,qBAAqB,qLAAqL;AACpd,qBAAqB,sBAAY;AACjC;AACA;AACA;AACA,yBAAyB,sBAAY;AACrC;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS;AAChC,wBAAwB,OAAO,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uBAAa;AACnC;AACA,6BAA6B,aAAa;AAC1C,2BAA2B,WAAW;AACtC,6BAA6B,mBAAmB;AAChD;AACA,gCAAgC,6BAA6B;AAC7D,iCAAiC,+BAA+B;AAChE,6BAA6B,aAAa;AAC1C,8BAA8B,cAAc;AAC5C,6BAA6B,aAAa;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS;AACtC,sCAAsC,kBAAkB;AACxD,gCAAgC,YAAY;AAC5C,0BAA0B,MAAM;AAChC,mCAAmC,eAAe;AAClD,SAAS;AACT,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,0BAA0B,YAAM,QAAQ,EAAE,UAAU;AACpD,IAAI,yBAAe;AACnB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA,iBAAiB,MAAM;AACvB;AACA,iBAAiB,YAAY;AAC7B;AACA,YAAY,6BAAmB,gBAAgB,uFAAuF,YAAY,qOAAqO,kCAAkC,MAAM;AAC/Z,QAAQ,6BAAmB,UAAU,8DAA8D,qCAAqC;AACxI;AACA,4DAA4D,sBAAgB,CAAC,EAAE,EAAE;AACjF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G,CACnC+B,KAAK,CAAExC,YAAM,CAACyC,cAAe,eAE7B1C,6BAAA,UACEwC,GAAG,CAAE7B,QAAS,CACdgC,SAAS,CAAE1C,YAAM,CAAC2C,KAAM,CACxBC,WAAW,CAAC,WAAW,CACvBC,WAAW,CAAE,IAAK,CAClB5G,KAAK,CAAEA,KAAM,CACb2E,IAAI,CAAEA,IAAK,CACXkC,OAAO,CAAC,MAAM,CACdnL,OAAO,CAAE+J,uBAAwB,CAClC,CAAC,CACDN,gBACQ,CAAC,CAEhB,CAAC,CAED,8CAAeb,KAAK;;ACpIpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,aAAa;AACxE;AACA;AACA;AACA;AACA;AACA,6BAA6B,4FAA4F;AACzH;AACA;AACA;AACA,mGAAmG;AACnG;AACA;AACA;AACA;AACA,yEAAyE,8BAA8B;AACvG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;AAC/D;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC,gEAAgE;AACjE;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gEAAgE;AACjE;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA,CAAC,8DAA8D;AAC/D;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kBAAkB;AACnB;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,oEAAoE;AACrE;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA,CAAC,oBAAoB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC,0BAA0B;AAC3B;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kFAAkF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA,CAAC,sDAAsD;AACvD;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sDAAsD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,sDAAsD;AACvD;AACA;AACA;AACA;AACA;AACA,CAAC,0FAA0F;AAC3F;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4DAA4D;AAC7D;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,oBAAoB;AACrB;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gDAAgD;AACjD;AACA;AACA;AACA;AACA,CAAC,gDAAgD;AACjD;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA,CAAC,sEAAsE;AACvE;AACA;AACA;AACA;AACA;AACA,CAAC,4DAA4D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gDAAgD;AACjD;AACA;AACA;AACA;AACA,CAAC,gDAAgD;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;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;AACrC;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gDAAgD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC,gEAAgE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0EAA0E;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sGAAsG;AACvG;AACA;AACA;AACA;AACA;AACA,CAAC,gGAAgG;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA,CAAC,wBAAwB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA,CAAC,oEAAoE;AACrE;AACA;AACA;AACA;AACA;AACA,CAAC,sBAAsB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kCAAkC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oEAAoE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA,CAAC,gDAAgD;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;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wCAAwC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,4BAA4B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA,CAAC,gEAAgE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gCAAgC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wDAAwD;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,kDAAkD;AACnD;AACA;AACA;AACA;AACA;AACA,CAAC,4CAA4C;AAC7C;AACA;AACA;AACA;AACA;AACA,CAAC,oDAAoD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0CAA0C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8CAA8C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYE;AACF;;;AC75DO,KAAM,CAAAyC,iBAAsC,CAAG,CACpDrC,UAAU,CAAE,CACVsC,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACP,KAC3B,CAAC,CACDnL,aAAa,CAAE,CACbyL,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACC,QAAQ,CACjC,CAACJ,IAAI,CAACG,SAAS,CAACC,QAAQ,EAAG,CACzBC,OAAO,CAAE,CACP,CAAE5N,KAAK,CAAE,cAAc,CAAE6N,WAAW,CAAE,cAAe,CAAC,CACtD,CAAE7N,KAAK,CAAE,SAAS,CAAE6N,WAAW,CAAE,SAAU,CAAC,CAC5C,CAAE7N,KAAK,CAAE,UAAU,CAAE6N,WAAW,CAAE,UAAW,CAAC,CAElD,CACF,CAAC,CACD3I,MAAM,CAAE,CACNuI,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACI,KAC3B,CAAC,CACD1C,IAAI,CAAE,CACJqC,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACK,YAC3B,CAAC,CACDtH,KAAK,CAAE,CACLgH,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACK,YAC3B,CAAC,CACD5I,QAAQ,CAAE,CACRsI,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACK,YAC3B,CAAC,CACD1I,YAAY,CAAE,CACZoI,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACM,MAC3B,CAAC,CACD5I,YAAY,CAAE,CACZqI,QAAQ,CAAEF,IAAI,CAACG,SAAS,CAACC,QAAQ,CACjC,CAACJ,IAAI,CAACG,SAAS,CAACC,QAAQ,EAAG,CACzBC,OAAO,CAAE,CACP,CAAE5N,KAAK,CAAE,MAAM,CAAE6N,WAAW,CAAE,MAAO,CAAC,CACtC,CAAE7N,KAAK,CAAE,MAAM,CAAE6N,WAAW,CAAE,MAAO,CAAC,CAE1C,CACF,CACF,CAAC","sources":["webpack://_wix_video/webpack/universalModuleDefinition","webpack://_wix_video/../../../node_modules/fastdom/fastdom.js","webpack://_wix_video/external umd \"React\"","webpack://_wix_video/../../../node_modules/@babel/runtime/helpers/defineProperty.js","webpack://_wix_video/../../../node_modules/@babel/runtime/helpers/extends.js","webpack://_wix_video/../../../node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://_wix_video/../../../node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://_wix_video/../../../node_modules/@babel/runtime/helpers/typeof.js","webpack://_wix_video/webpack/bootstrap","webpack://_wix_video/webpack/runtime/compat get default export","webpack://_wix_video/webpack/runtime/define property getters","webpack://_wix_video/webpack/runtime/ensure chunk","webpack://_wix_video/webpack/runtime/get javascript chunk filename","webpack://_wix_video/webpack/runtime/get mini-css chunk filename","webpack://_wix_video/webpack/runtime/hasOwnProperty shorthand","webpack://_wix_video/webpack/runtime/load script","webpack://_wix_video/webpack/runtime/make namespace object","webpack://_wix_video/webpack/runtime/publicPath","webpack://_wix_video/webpack/runtime/jsonp chunk loading","webpack://_wix_video/./Video.module.scss?65b4","webpack://_wix_video/./custom-element/utils.ts","webpack://_wix_video/./custom-element/videoLayout.ts","webpack://_wix_video/./custom-element/WowVideo.ts","webpack://_wix_video/./custom-element/registry.ts","webpack://_wix_video/./customElementInit.ts","webpack://_wix_video/../../image-kit/dist/esm/helpers/imageServiceConstants.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/utils.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/imageServiceUtils.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/imageServiceFeatureSupportObject.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/populateFeatureSupport.js","webpack://_wix_video/../../image-kit/dist/esm/engines/attributes/backgroundAttributes.js","webpack://_wix_video/../../image-kit/dist/esm/engines/attributes/imgAttributes.js","webpack://_wix_video/../../image-kit/dist/esm/engines/attributes/SVGAttributes.js","webpack://_wix_video/../../image-kit/dist/esm/engines/attributes.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/browserFeatureSupport.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/imageTransformParts.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/imageTransformOptions.js","webpack://_wix_video/../../image-kit/dist/esm/api/transform.js","webpack://_wix_video/../../image-kit/dist/esm/engines/transforms.js","webpack://_wix_video/../../image-kit/dist/esm/api/uri.js","webpack://_wix_video/../../image-kit/dist/esm/api/srcset.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/imagePlaceholderUtils.js","webpack://_wix_video/../../image-kit/dist/esm/api/max/api.js","webpack://_wix_video/../../image-kit/dist/esm/api/uri/index.js","webpack://_wix_video/../../image-kit/dist/esm/sdk/api.js","webpack://_wix_video/../../image-kit/dist/esm/sdk/index.js","webpack://_wix_video/../../image-kit/dist/esm/helpers/responsiveImageUtils.js","webpack://_wix_video/../../image-kit/dist/esm/api/max/index.js","webpack://_wix_video/../../image/dist/esm/custom-element/utils.js","webpack://_wix_video/../../image/dist/esm/custom-element/imageLayout.js","webpack://_wix_video/../../image/dist/esm/custom-element/WowImage.js","webpack://_wix_video/../../image/dist/esm/custom-element/registry.js","webpack://_wix_video/../../image/dist/esm/customElementInit.js","webpack://_wix_video/../../image/dist/esm/Image.module.scss?c1a3","webpack://_wix_video/../../image/dist/esm/Image.js","webpack://_wix_video/./Video.tsx","webpack://_wix_video/../../../node_modules/@wix/component-protocol/dist/esm/chunk-EKFUKHAF.js","webpack://_wix_video/./dataManifest.ts","webpack://_wix_video/./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(\"video\", [\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"video\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"video\"] = factory(root[\"React\"]);\n})((typeof self !== 'undefined' ? self : this), (__WEBPACK_EXTERNAL_MODULE__883__) => {\nreturn ","!(function(win) {\n\n/**\n * FastDom\n *\n * Eliminates layout thrashing\n * by batching DOM read/write\n * interactions.\n *\n * @author Wilson Page <wilsonpage@me.com>\n * @author Kornel Lesinski <kornel.lesinski@ft.com>\n */\n\n'use strict';\n\n/**\n * Mini logger\n *\n * @return {Function}\n */\nvar debug = 0 ? console.log.bind(console, '[fastdom]') : function() {};\n\n/**\n * Normalized rAF\n *\n * @type {Function}\n */\nvar raf = win.requestAnimationFrame\n || win.webkitRequestAnimationFrame\n || win.mozRequestAnimationFrame\n || win.msRequestAnimationFrame\n || function(cb) { return setTimeout(cb, 16); };\n\n/**\n * Initialize a `FastDom`.\n *\n * @constructor\n */\nfunction FastDom() {\n var self = this;\n self.reads = [];\n self.writes = [];\n self.raf = raf.bind(win); // test hook\n debug('initialized', self);\n}\n\nFastDom.prototype = {\n constructor: FastDom,\n\n /**\n * We run this inside a try catch\n * so that if any jobs error, we\n * are able to recover and continue\n * to flush the batch until it's empty.\n *\n * @param {Array} tasks\n */\n runTasks: function(tasks) {\n debug('run tasks');\n var task; while (task = tasks.shift()) task();\n },\n\n /**\n * Adds a job to the read batch and\n * schedules a new frame if need be.\n *\n * @param {Function} fn\n * @param {Object} ctx the context to be bound to `fn` (optional).\n * @public\n */\n measure: function(fn, ctx) {\n debug('measure');\n var task = !ctx ? fn : fn.bind(ctx);\n this.reads.push(task);\n scheduleFlush(this);\n return task;\n },\n\n /**\n * Adds a job to the\n * write batch and schedules\n * a new frame if need be.\n *\n * @param {Function} fn\n * @param {Object} ctx the context to be bound to `fn` (optional).\n * @public\n */\n mutate: function(fn, ctx) {\n debug('mutate');\n var task = !ctx ? fn : fn.bind(ctx);\n this.writes.push(task);\n scheduleFlush(this);\n return task;\n },\n\n /**\n * Clears a scheduled 'read' or 'write' task.\n *\n * @param {Object} task\n * @return {Boolean} success\n * @public\n */\n clear: function(task) {\n debug('clear', task);\n return remove(this.reads, task) || remove(this.writes, task);\n },\n\n /**\n * Extend this FastDom with some\n * custom functionality.\n *\n * Because fastdom must *always* be a\n * singleton, we're actually extending\n * the fastdom instance. This means tasks\n * scheduled by an extension still enter\n * fastdom's global task queue.\n *\n * The 'super' instance can be accessed\n * from `this.fastdom`.\n *\n * @example\n *\n * var myFastdom = fastdom.extend({\n * initialize: function() {\n * // runs on creation\n * },\n *\n * // override a method\n * measure: function(fn) {\n * // do extra stuff ...\n *\n * // then call the original\n * return this.fastdom.measure(fn);\n * },\n *\n * ...\n * });\n *\n * @param {Object} props properties to mixin\n * @return {FastDom}\n */\n extend: function(props) {\n debug('extend', props);\n if (typeof props != 'object') throw new Error('expected object');\n\n var child = Object.create(this);\n mixin(child, props);\n child.fastdom = this;\n\n // run optional creation hook\n if (child.initialize) child.initialize();\n\n return child;\n },\n\n // override this with a function\n // to prevent Errors in console\n // when tasks throw\n catch: null\n};\n\n/**\n * Schedules a new read/write\n * batch if one isn't pending.\n *\n * @private\n */\nfunction scheduleFlush(fastdom) {\n if (!fastdom.scheduled) {\n fastdom.scheduled = true;\n fastdom.raf(flush.bind(null, fastdom));\n debug('flush scheduled');\n }\n}\n\n/**\n * Runs queued `read` and `write` tasks.\n *\n * Errors are caught and thrown by default.\n * If a `.catch` function has been defined\n * it is called instead.\n *\n * @private\n */\nfunction flush(fastdom) {\n debug('flush');\n\n var writes = fastdom.writes;\n var reads = fastdom.reads;\n var error;\n\n try {\n debug('flushing reads', reads.length);\n fastdom.runTasks(reads);\n debug('flushing writes', writes.length);\n fastdom.runTasks(writes);\n } catch (e) { error = e; }\n\n fastdom.scheduled = false;\n\n // If the batch errored we may still have tasks queued\n if (reads.length || writes.length) scheduleFlush(fastdom);\n\n if (error) {\n debug('task errored', error.message);\n if (fastdom.catch) fastdom.catch(error);\n else throw error;\n }\n}\n\n/**\n * Remove an item from an Array.\n *\n * @param {Array} array\n * @param {*} item\n * @return {Boolean}\n */\nfunction remove(array, item) {\n var index = array.indexOf(item);\n return !!~index && !!array.splice(index, 1);\n}\n\n/**\n * Mixin own properties of source\n * object into the target.\n *\n * @param {Object} target\n * @param {Object} source\n */\nfunction mixin(target, source) {\n for (var key in source) {\n if (source.hasOwnProperty(key)) target[key] = source[key];\n }\n}\n\n// There should never be more than\n// one instance of `FastDom` in an app\nvar exports = win.fastdom = (win.fastdom || new FastDom()); // jshint ignore:line\n\n// Expose to CJS & AMD\nif ((typeof define) == 'function') define(function() { return exports; });\nelse if ((typeof module) == 'object') module.exports = exports;\n\n})( typeof window !== 'undefined' ? window : typeof this != 'undefined' ? this : globalThis);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__883__;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\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__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"_wix_video:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t\tif (script.src.indexOf(window.location.origin + '/') !== 0) {\n\t\t\tscript.crossOrigin = \"anonymous\";\n\t\t}\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// 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};","__webpack_require__.p = \"https://static.parastorage.com/services/video/8c89fba18ac82dfff4803c74686d3a861fa50653d377ea8c48e31e3b/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t180: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = (typeof self !== 'undefined' ? self : this)[\"webpackJsonp__wix_video\"] = (typeof self !== 'undefined' ? self : this)[\"webpackJsonp__wix_video\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// extracted by mini-css-extract-plugin\nexport default {\"video-container\":\"nhOWNx\",\"videoContainer\":\"nhOWNx\",\"video-poster-img\":\"Jy9J5J\",\"videoPosterImg\":\"Jy9J5J\",\"video\":\"b5Y937\"};","import { AdaptiveVideoSource, QualityPolicy, VideoSource } from '../types';\n\nconst STATIC_VIDEO_URL = 'https://video.wixstatic.com/';\nconst STATIC_ADAPTIVE_VIDEO_URL = 'https://files.wix.com/';\n\nconst isAbsoluteUrl = (url: string) =>\n url.startsWith('http://') || url.startsWith('https://');\n\nexport function sortQualities(sources: VideoSource[]) {\n return sources.sort((a, b) => a.width * a.height - b.width * b.height);\n}\n\nfunction getCompleteUrl(url: string, staticVideoUrl?: string): string {\n const completeUrl = isAbsoluteUrl(url)\n ? new URL(url)\n : new URL(url, staticVideoUrl);\n return completeUrl.href;\n}\n\nfunction getVideoQualityBySize(\n sources: VideoSource[],\n { width, height }: { width: number; height: number },\n): VideoSource {\n const targetQuality = sources.find(\n (value) => value.width * value.height > width * height,\n );\n\n return targetQuality || sources[sources.length - 1];\n}\n\nfunction getScaleFactor(\n containerWidth: number,\n containerHeight: number,\n videoWidth: number,\n videoHeight: number,\n): { wScale: number; hScale: number } {\n return {\n wScale: containerWidth / videoWidth,\n hScale: containerHeight / videoHeight,\n };\n}\n\nfunction getVideoDimension(\n videoScale: { wScale: number; hScale: number },\n videoWidth: number,\n videoHeight: number,\n): { width: number; height: number } {\n const scale: number = Math.min(videoScale.wScale, videoScale.hScale);\n\n return {\n width: Math.round(videoWidth * scale),\n height: Math.round(videoHeight * scale),\n };\n}\n\nexport function setVideoFocalPoint(\n videoNode: HTMLVideoElement,\n focalPoint: { x: number; y: number },\n) {\n const computedStyle = getComputedStyle(videoNode);\n const videoFit = computedStyle.getPropertyValue('--video-fit');\n\n if (videoFit === 'contain') {\n videoNode.style.setProperty('object-position', 'center');\n return;\n }\n\n videoNode.style.removeProperty('object-position');\n const focalX = focalPoint?.x ?? 50;\n const focalY = focalPoint?.y ?? 50;\n videoNode.style.setProperty('--focal-x', focalX.toString());\n videoNode.style.setProperty('--focal-y', focalY.toString());\n}\n\nexport async function getVideoSource(\n width: number,\n height: number,\n uri: string,\n qualityPolicy: QualityPolicy,\n sources?: VideoSource[],\n adaptiveSources?: AdaptiveVideoSource[],\n duration?: number,\n onError?: (error: Error) => void,\n): Promise<{\n videoSourceUrl: string;\n patchVideoSource: (videoNode: HTMLVideoElement) => void;\n}> {\n const hasProgressiveSources = sources && sources.length > 0;\n const hasAbsoluteUri = uri && isAbsoluteUrl(uri);\n const shouldSkipAdaptiveShortVideo = duration && duration < 40;\n\n if (\n qualityPolicy === 'adaptive' &&\n adaptiveSources &&\n adaptiveSources.length > 0 &&\n !shouldSkipAdaptiveShortVideo\n ) {\n const hlsSource = adaptiveSources.find((s) => s.format === 'hls');\n const Hls = await import('hls.js');\n if (hlsSource && Hls && Hls.default.isSupported()) {\n const videoSourceUrl = getCompleteUrl(\n hlsSource.uri,\n STATIC_ADAPTIVE_VIDEO_URL,\n );\n const patchVideoSource = (videoNode: HTMLVideoElement) => {\n const hls = new Hls.default();\n hls.loadSource(videoSourceUrl);\n hls.attachMedia(videoNode);\n\n hls.on(Hls.default.Events.ERROR, (_, data) => {\n if (data.fatal) {\n switch (data.type) {\n case Hls.default.ErrorTypes.NETWORK_ERROR:\n hls.startLoad();\n if (onError) {\n onError(\n new Error(\n `HLS Network Error: ${data.details}.\\nAttempting to reconnect...`,\n ),\n );\n }\n break;\n case Hls.default.ErrorTypes.MEDIA_ERROR:\n hls.recoverMediaError();\n if (onError) {\n onError(\n new Error(\n `HLS Media Error: ${data.details}.\\nAttempting to recover...`,\n ),\n );\n }\n break;\n default:\n hls.destroy();\n if (onError) {\n onError(\n new Error(\n `HLS Unknown Error: ${data.details}.\\nUnrecoverable playback error`,\n ),\n );\n }\n break;\n }\n }\n });\n };\n return { videoSourceUrl, patchVideoSource };\n }\n }\n if (hasProgressiveSources) {\n const highestQuality = sources[sources.length - 1];\n if (qualityPolicy === 'highest') {\n const url = highestQuality.types.find(\n (type) => type.format === 'mp4',\n )?.uri;\n if (url) {\n const videoSourceUrl = getCompleteUrl(url, STATIC_VIDEO_URL);\n return {\n videoSourceUrl,\n patchVideoSource: (videoNode: HTMLVideoElement) => {\n videoNode.src = videoSourceUrl;\n videoNode.load();\n },\n };\n }\n } else {\n const videoWidth = parseInt(highestQuality.width.toString(), 10);\n const videoHeight = parseInt(highestQuality.height.toString(), 10);\n const scaleFactor = getScaleFactor(\n width,\n height,\n videoWidth,\n videoHeight,\n );\n const videoScaledDimensions = getVideoDimension(\n scaleFactor,\n videoWidth,\n videoHeight,\n );\n const targetQuality = getVideoQualityBySize(\n sources,\n videoScaledDimensions,\n );\n const url = targetQuality.types.find(\n (type) => type.format === 'mp4',\n )?.uri;\n if (url) {\n const videoSourceUrl = getCompleteUrl(url, STATIC_VIDEO_URL);\n return {\n videoSourceUrl,\n patchVideoSource: (videoNode: HTMLVideoElement) => {\n videoNode.src = videoSourceUrl;\n videoNode.load();\n },\n };\n }\n }\n }\n if (hasAbsoluteUri) {\n return {\n videoSourceUrl: uri,\n patchVideoSource: (videoNode: HTMLVideoElement) => {\n videoNode.src = uri;\n videoNode.load();\n },\n };\n }\n return {\n videoSourceUrl: '',\n patchVideoSource: () => {},\n };\n}\n","import type { AdaptiveVideoSource, QualityPolicy, VideoSource } from '../types';\nimport { getVideoSource, setVideoFocalPoint } from './utils';\n\nexport default {\n /**\n * @param {HTMLVideoElement} videoNode\n * @param {HTMLElement} container\n * @param {QualityPolicy} quality\n * @param {string} uri\n * @param {Object[]} sources\n * @param {Object[]} adaptiveSources\n * @param {number} duration\n * @param {(error: Error) => void} onError\n * @return {{currentSrc: string, videoSourceUrl: string}}\n */\n async measure(\n videoNode: HTMLVideoElement,\n container: HTMLElement,\n quality: QualityPolicy,\n uri: string,\n sources?: VideoSource[],\n adaptiveSources?: AdaptiveVideoSource[],\n duration?: number,\n onError?: (error: Error) => void,\n ) {\n const { videoSourceUrl, patchVideoSource } = await getVideoSource(\n container.offsetWidth,\n container.offsetHeight,\n uri,\n quality,\n sources,\n adaptiveSources,\n duration,\n onError,\n );\n const needsSrcUpdate = shouldUpdateSrc(videoNode, videoSourceUrl);\n return {\n needsSrcUpdate,\n patchVideoSource,\n };\n },\n /**\n * @param {HTMLDivElement} poster\n * @param {HTMLVideoElement} videoNode\n * @param {boolean} autoplay\n * @param {boolean} needsSrcUpdate\n * @param {string} posterEffect\n * @param {number} playbackRate\n * @param {(videoNode: HTMLVideoElement) => void} patchVideoSource\n * @param {Object[]} sources\n * @param {Object} focalPoint\n */\n mutate(\n poster: HTMLDivElement,\n videoNode: HTMLVideoElement,\n autoplay: boolean,\n needsSrcUpdate: boolean,\n posterEffect: string,\n playbackRate: number,\n patchVideoSource: (videoNode: HTMLVideoElement) => void,\n focalPoint: { x: number; y: number },\n sources?: VideoSource[],\n ): void {\n videoNode.toggleAttribute('autoplay', autoplay);\n if (sources?.[0]) {\n const videoWidth = sources[0].width;\n const videoHeight = sources[0].height;\n const aspectRatio = videoWidth / videoHeight;\n videoNode.style.setProperty('--aspect-ratio', aspectRatio.toString());\n }\n setVideoFocalPoint(videoNode, focalPoint!);\n\n handlePosterVisibility(\n needsSrcUpdate,\n videoNode,\n poster,\n posterEffect,\n autoplay,\n );\n\n if (needsSrcUpdate) {\n patchVideoSource(videoNode);\n }\n videoNode.playbackRate = playbackRate;\n },\n};\n\n/**\n *\n * @param videoNode\n * @param newSrcUrl\n * @returns {*|boolean}\n */\nfunction shouldUpdateSrc(\n videoNode: HTMLVideoElement,\n newSrcUrl: string,\n): boolean {\n const hasError = videoNode.networkState === videoNode.NETWORK_NO_SOURCE;\n const hasDiff = !videoNode.currentSrc.endsWith(newSrcUrl);\n return Boolean(newSrcUrl && (hasDiff || hasError));\n}\n\n/**\n *\n * @param {boolean} needsEventUpdate\n * @param {HTMLVideoElement} videoNode\n * @param {HTMLDivElement} posterNode\n * @param {string} posterEffect\n * @param {boolean} autoplay\n */\nfunction handlePosterVisibility(\n needsEventUpdate: boolean,\n videoNode: HTMLVideoElement,\n posterNode: HTMLDivElement,\n posterEffect: string,\n autoplay: boolean,\n): void {\n const isPausedOrEmpty = videoNode.paused || videoNode.currentSrc === '';\n if (needsEventUpdate && isPausedOrEmpty) {\n videoNode.ontimeupdate = null;\n videoNode.onseeked = null;\n videoNode.onplay = null;\n if (autoplay) {\n const muteState = videoNode.muted;\n videoNode.ontimeupdate = () => {\n if (videoNode.currentTime > 0) {\n videoNode.ontimeupdate = null;\n videoNode.onseeked = () => {\n videoNode.onseeked = null;\n videoNode.muted = muteState;\n removePoster(videoNode, posterNode, posterEffect);\n };\n videoNode.currentTime = 0;\n }\n };\n } else {\n videoNode.onplay = () => {\n videoNode.onplay = null;\n removePoster(videoNode, posterNode, posterEffect);\n };\n }\n }\n}\n\n/**\n * Show video , hide poster\n *\n * @param videoNode\n * @param posterNode\n * @param posterEffect\n */\nfunction removePoster(\n videoNode: HTMLVideoElement,\n posterNode: HTMLDivElement,\n posterEffect: string,\n): void {\n if (posterEffect === 'fade') {\n posterNode.style.transition = 'opacity 1.6s ease-out';\n }\n posterNode.style.opacity = '0';\n videoNode.style.opacity = '1';\n}\n","import videoLayout from './videoLayout';\nimport type { WowVideoServices, Timeout } from '../types';\n\nfunction wowVideoFactory(\n services: WowVideoServices,\n contextWindow: Window & typeof globalThis,\n): any {\n return class WowVideo extends contextWindow.HTMLElement {\n timeoutId: Timeout | null;\n\n constructor() {\n super();\n this.timeoutId = null;\n }\n\n /**\n * Dispatch a custom error event that bubbles up\n */\n dispatchVideoError(error: Error) {\n this.dispatchEvent(\n new CustomEvent('videoerror', {\n detail: { error },\n bubbles: true,\n }),\n );\n }\n\n attributeChangedCallback(_: string, oldValue: string) {\n if (oldValue) {\n this.reLayout();\n }\n }\n\n connectedCallback() {\n services.intersectionService?.observe(this);\n }\n\n disconnectedCallback() {\n this.unobserveIntersect();\n }\n\n unobserveIntersect() {\n services.intersectionService?.unobserve(this);\n }\n\n /**\n * Check if the user prefers reduced motion\n *\n * @returns {boolean} True if reduced motion is preferred\n */\n isPrefersReducedMotion(): boolean {\n return contextWindow.matchMedia('(prefers-reduced-motion: reduce)')\n .matches;\n }\n\n reLayout() {\n if (!this.dataset.videoInfo) {\n return;\n }\n\n const {\n uri,\n sources,\n adaptiveSources,\n autoplay,\n playbackRate,\n posterEffect,\n qualityPolicy,\n focalPoint,\n duration,\n } = JSON.parse(this.dataset.videoInfo);\n\n const prefersReducedMotion = this.isPrefersReducedMotion();\n const autoPlayAllowed = !prefersReducedMotion && autoplay;\n\n const videoNode = this.querySelector('video') as HTMLVideoElement;\n const poster = this.querySelector('img') as HTMLImageElement;\n\n services.mutationService.measure(async () => {\n const measures = await videoLayout.measure(\n videoNode,\n this,\n qualityPolicy,\n uri,\n sources,\n adaptiveSources,\n duration,\n (error: Error) => this.dispatchVideoError(error),\n );\n\n const { needsSrcUpdate, patchVideoSource } = measures;\n services.mutationService.mutate(() => {\n videoLayout.mutate(\n poster,\n videoNode,\n autoPlayAllowed,\n needsSrcUpdate,\n posterEffect,\n playbackRate,\n patchVideoSource,\n focalPoint,\n sources,\n );\n });\n });\n }\n\n static get observedAttributes() {\n return ['data-video-info'];\n }\n };\n}\n\nexport default wowVideoFactory;\n","import wowVideoFactory from './WowVideo';\nimport fastdom from 'fastdom';\n\nimport type {\n CustomElementServices,\n WowVideo,\n WowVideoServices,\n} from '../types';\n\nexport function init(\n contextWindow: Window & typeof globalThis,\n services: CustomElementServices,\n) {\n contextWindow = contextWindow || window;\n const elementName = 'wow-video';\n\n if (contextWindow.customElements.get(elementName) === undefined) {\n let intersectionObserver: IntersectionObserver | undefined;\n\n if (contextWindow.IntersectionObserver) {\n intersectionObserver = new IntersectionObserver(\n (entries: IntersectionObserverEntry[]) =>\n entries.map((entry) => {\n if (entry.isIntersecting) {\n const target = entry.target as WowVideo;\n target.unobserveIntersect();\n target.reLayout();\n }\n return entry;\n }),\n {\n rootMargin: '50% 100%',\n },\n );\n }\n\n const WowVideo = wowVideoFactory(\n {\n mutationService: fastdom,\n intersectionService: intersectionObserver,\n ...services,\n } as WowVideoServices,\n contextWindow!,\n );\n contextWindow!.customElements.define(elementName, WowVideo);\n }\n\n return;\n}\n","import { init } from './custom-element/registry';\nimport { CustomElementServices } from './types';\n\nfunction initCustomElement(\n contextWindow: (Window & typeof globalThis) | null = null,\n services: CustomElementServices = {},\n) {\n const actualWindow = contextWindow || window;\n\n init(actualWindow, services);\n}\n\nexport { initCustomElement };\n","/**\n * image service api version\n */\nconst API_VERSION = 'v1';\n/**\nthe maximum retina factor\n */\nconst MAX_DEVICE_PIXEL_RATIO = 2;\n/**\n site BG legacy max width x height\n */\nconst DSKTP_MAX_BG_SITE_LEGACY_WIDTH = 1920;\nconst DSKTP_MAX_BG_SITE_LEGACY_HEIGHT = 1920;\nconst MOBILE_MAX_BG_SITE_LEGACY_WIDTH = 1000;\nconst MOBILE_MAX_BG_SITE_LEGACY_HEIGHT = 1000;\n/**\n * Enum string values of requested image fitting types\n * Note: TILE_HORIZONTAL, TILE_VERTICAL, FIT_AND_TILE are supported for legacy purposes but are not exposed\n * in the documentation because they should not be exposed for new features\n */\nconst fittingTypes = {\n SCALE_TO_FILL: 'fill',\n SCALE_TO_FIT: 'fit',\n STRETCH: 'stretch',\n ORIGINAL_SIZE: 'original_size',\n TILE: 'tile',\n TILE_HORIZONTAL: 'tile_horizontal',\n TILE_VERTICAL: 'tile_vertical',\n FIT_AND_TILE: 'fit_and_tile',\n LEGACY_STRIP_TILE: 'legacy_strip_tile',\n LEGACY_STRIP_TILE_HORIZONTAL: 'legacy_strip_tile_horizontal',\n LEGACY_STRIP_TILE_VERTICAL: 'legacy_strip_tile_vertical',\n LEGACY_STRIP_SCALE_TO_FILL: 'legacy_strip_fill',\n LEGACY_STRIP_SCALE_TO_FIT: 'legacy_strip_fit',\n LEGACY_STRIP_FIT_AND_TILE: 'legacy_strip_fit_and_tile',\n LEGACY_STRIP_ORIGINAL_SIZE: 'legacy_strip_original_size',\n LEGACY_ORIGINAL_SIZE: 'actual_size',\n LEGACY_FIT_WIDTH: 'fitWidth',\n LEGACY_FIT_HEIGHT: 'fitHeight',\n LEGACY_FULL: 'full',\n LEGACY_BG_FIT_AND_TILE: 'legacy_tile',\n LEGACY_BG_FIT_AND_TILE_HORIZONTAL: 'legacy_tile_horizontal',\n LEGACY_BG_FIT_AND_TILE_VERTICAL: 'legacy_tile_vertical',\n LEGACY_BG_NORMAL: 'legacy_normal',\n};\n/**\n * Enum string values of image transform types as passed to the image service api\n */\nconst transformTypes = {\n FIT: 'fit',\n FILL: 'fill',\n FILL_FOCAL: 'fill_focal',\n CROP: 'crop',\n LEGACY_CROP: 'legacy_crop',\n LEGACY_FILL: 'legacy_fill',\n};\n/**\n * Enum string values of requested image align types\n * @type {{CENTER: string, RIGHT: string, LEFT: string, TOP: string, BOTTOM: string, TOP_RIGHT: string, TOP_LEFT: string, BOTTOM_RIGHT: string, BOTTOM_LEFT: string}}\n */\nconst alignTypes = {\n CENTER: 'center',\n TOP: 'top',\n TOP_LEFT: 'top_left',\n TOP_RIGHT: 'top_right',\n BOTTOM: 'bottom',\n BOTTOM_LEFT: 'bottom_left',\n BOTTOM_RIGHT: 'bottom_right',\n LEFT: 'left',\n RIGHT: 'right',\n};\n/**\n * Enum 9Grid alignment to focal point\n */\nconst ALIGN_TYPE_TO_FOCAL_POINT = {\n [alignTypes.CENTER]: { x: 0.5, y: 0.5 },\n [alignTypes.TOP_LEFT]: { x: 0, y: 0 },\n [alignTypes.TOP_RIGHT]: { x: 1.0, y: 0 },\n [alignTypes.TOP]: { x: 0.5, y: 0 },\n [alignTypes.BOTTOM_LEFT]: { x: 0, y: 1.0 },\n [alignTypes.BOTTOM_RIGHT]: { x: 1.0, y: 1.0 },\n [alignTypes.BOTTOM]: { x: 0.5, y: 1.0 },\n [alignTypes.RIGHT]: { x: 1.0, y: 0.5 },\n [alignTypes.LEFT]: { x: 0, y: 0.5 },\n};\n/**\n * Enum string values of image align types as passed to the image service\n */\nconst alignTypesMap = {\n center: 'c',\n top: 't',\n top_left: 'tl',\n top_right: 'tr',\n bottom: 'b',\n bottom_left: 'bl',\n bottom_right: 'br',\n left: 'l',\n right: 'r',\n};\n/**\n * Enum string values of html tag used to construct the css or svg attributes\n * @type {{BG: string, IMG: string, SVG: string}}\n */\nconst htmlTag = {\n BG: 'bg',\n IMG: 'img',\n SVG: 'svg',\n};\n/**\n * Enum string values of upscale method\n * @type {{DEFAULT: string, SUPER: string}}\n */\nconst upscaleMethods = {\n AUTO: 'auto',\n CLASSIC: 'classic',\n SUPER: 'super',\n};\n/**\n * api values of upscale method\n * @type {{default: number, super: number}}\n */\nconst upscaleMethodsValues = {\n classic: 1,\n super: 2,\n};\n/**\n * default unsharp mask values\n * @type {{radius: number, amount: number, threshold: number}}\n */\nconst defaultUSM = {\n radius: '0.66',\n amount: '1.00',\n threshold: '0.01',\n};\n/**\n * default empty data\n */\nconst emptyData = {\n uri: '',\n css: {\n img: {},\n container: {},\n },\n attr: {\n img: {},\n container: {},\n },\n transformed: false,\n};\nconst MAX_TRANSFORMED_IMAGE_WIDTH = 5000;\nconst MAX_TRANSFORMED_IMAGE_HEIGHT = 5000;\nconst SAFE_TRANSFORMED_AREA = MAX_TRANSFORMED_IMAGE_WIDTH * MAX_TRANSFORMED_IMAGE_HEIGHT;\n/**\n * super res machine learning upscale factor models -\n * @type {number[]}\n */\nconst SUPER_UPSCALE_MODELS = [1.5, 2, 4];\n/**\n * image qualities\n */\nconst imageScaleDefaults = {\n HIGH: {\n size: 1400 * 1400,\n quality: 90,\n maxUpscale: 1,\n },\n MEDIUM: {\n size: 600 * 600,\n quality: 85,\n maxUpscale: 1,\n },\n LOW: {\n size: 400 * 400,\n quality: 80,\n maxUpscale: 1.2,\n },\n TINY: {\n size: 0,\n quality: 80,\n maxUpscale: 1.4,\n },\n};\n/**\n * image quality\n * @type {{HIGH: string, MEDIUM: string, LOW: string, TINY: string}}\n */\nconst imageQuality = {\n HIGH: 'HIGH',\n MEDIUM: 'MEDIUM',\n LOW: 'LOW',\n TINY: 'TINY',\n};\n/**\n * image filters\n * @type {{CONTRAST: string, BRIGHTNESS: string, SATURATION: string, HUE: string, BLUR: string}}\n */\nconst imageFilters = {\n CONTRAST: 'contrast',\n BRIGHTNESS: 'brightness',\n SATURATION: 'saturation',\n HUE: 'hue',\n BLUR: 'blur',\n};\nconst fileType = {\n JPG: 'jpg',\n JPEG: 'jpeg',\n JPE: 'jpe',\n PNG: 'png',\n WEBP: 'webp',\n WIX_ICO_MP: 'wix_ico_mp',\n WIX_MP: 'wix_mp',\n GIF: 'gif',\n SVG: 'svg',\n AVIF: 'avif',\n UNRECOGNIZED: 'unrecognized',\n};\nconst encodingTypes = {\n AVIF: 'AVIF',\n PAVIF: 'PAVIF',\n};\nconst supportedExtensions = [\n fileType.JPG,\n fileType.JPEG,\n fileType.JPE,\n fileType.PNG,\n fileType.GIF,\n fileType.WEBP,\n];\nexport { alignTypes, alignTypesMap, transformTypes, encodingTypes, fittingTypes, htmlTag, upscaleMethods, upscaleMethodsValues, defaultUSM, emptyData, imageQuality, imageFilters, imageScaleDefaults, fileType, supportedExtensions, DSKTP_MAX_BG_SITE_LEGACY_WIDTH, MOBILE_MAX_BG_SITE_LEGACY_WIDTH, DSKTP_MAX_BG_SITE_LEGACY_HEIGHT, MOBILE_MAX_BG_SITE_LEGACY_HEIGHT, SAFE_TRANSFORMED_AREA, SUPER_UPSCALE_MODELS, MAX_DEVICE_PIXEL_RATIO, ALIGN_TYPE_TO_FOCAL_POINT, API_VERSION, };\n//# sourceMappingURL=imageServiceConstants.js.map","/**\n * Simple templates.\n * Receives a string with es6 ${...} style template arguments and returns a transformed string.\n * @param string\n * @returns {Function}\n */\nfunction template(strings, ...keys) {\n return function (...values) {\n const dict = values[values.length - 1] || {};\n const result = [strings[0]];\n keys.forEach(function (key, i) {\n const value = Number.isInteger(key) ? values[key] : dict[key];\n result.push(value, strings[i + 1]);\n });\n return result.join('');\n };\n}\n/**\n * Get the last element in an array\n * @param array\n * @returns {*}\n */\nfunction last(array) {\n return array[array.length - 1];\n}\nexport { last, template };\n//# sourceMappingURL=utils.js.map","import { alignTypes, alignTypesMap, fileType, fittingTypes, imageQuality, imageScaleDefaults, transformTypes, upscaleMethods, upscaleMethodsValues, ALIGN_TYPE_TO_FOCAL_POINT, MAX_DEVICE_PIXEL_RATIO, SUPER_UPSCALE_MODELS, SAFE_TRANSFORMED_AREA, } from './imageServiceConstants';\nimport { last } from './utils';\nconst SUPPORTED_IMAGE_EXTENSIONS = [\n fileType.PNG,\n fileType.JPEG,\n fileType.JPG,\n fileType.JPE,\n fileType.WIX_ICO_MP,\n fileType.WIX_MP,\n fileType.WEBP,\n fileType.AVIF,\n];\nconst JPG_EXTENSIONS = [\n fileType.JPEG,\n fileType.JPG,\n fileType.JPE,\n];\n/**\n * checks if image type is supported\n * @param {string} uri image source uri\n *\n * @returns {boolean}\n */\nfunction isImageTypeSupported(uri) {\n return SUPPORTED_IMAGE_EXTENSIONS.includes(getFileExtension(uri));\n}\n/**\n * check request integrity\n * @param {FittingType} fittingType imageService.fittingTypes\n * @param {ImageTransformSource} src\n * @param {ImageTransformTarget} target\n *\n * @returns {boolean}\n */\nfunction isValidRequest(fittingType, src, target) {\n return (target &&\n src &&\n !isUrlEmptyOrNone(src.id) &&\n Object.values(fittingTypes).includes(fittingType));\n}\n/**\n * Returns true if animated WebP/AVIF images can be transformed.\n * These formats can only be transformed when explicitly allowed via allowAnimatedTransform.\n *\n * @param uri - Image URI to check\n * @param hasAnimation - Whether the image has animation metadata\n * @param allowAnimatedTransform - Whether animated transforms are allowed (used in placeholder flow)\n * @returns true if the image can be transformed\n */\nfunction canTransformAnimatedWebpOrAvif(uri, hasAnimation, allowAnimatedTransform) {\n const isAvifWebpFormat = isWEBP(uri) || isAVIF(uri);\n if (!isAvifWebpFormat || !hasAnimation) {\n return true;\n }\n return allowAnimatedTransform;\n}\n/**\n * Returns true if a GIF can be transformed.\n * GIFs can be transformed in two scenarios:\n * 1. In placeholder flow when allowAnimatedTransform is true\n * 2. In non-placeholder flow when allowFullGIFTransformation is true\n *\n * @param uri - Image URI to check\n * @param allowAnimatedTransform - Whether animated transforms are allowed (used in placeholder flow)\n * @param allowFullGIFTransformation - Whether full GIF transformation is allowed (used in non-placeholder flow)\n * @returns true if the GIF can be transformed\n */\nfunction canTransformGIF(uri, allowAnimatedTransform, allowFullGIFTransformation) {\n if (!isGIF(uri)) {\n return false;\n }\n return !!(allowAnimatedTransform || allowFullGIFTransformation);\n}\n/**\n * Check if image transform is supported for source image.\n * Returns true if:\n * - Image is a supported type (PNG, JPEG, WebP, AVIF, etc.), OR\n * - Image is a GIF that can be transformed (see canTransformGIF)\n *\n * @param uri - Image URI to check\n * @param hasAnimation - Whether the image has animation metadata\n * @param allowAnimatedTransform - Whether animated transforms are allowed (used in placeholder flow)\n * @param allowFullGIFTransformation - Whether full GIF transformation is allowed (used in non-placeholder flow)\n * @returns true if the image can be transformed\n */\nfunction isImageTransformApplicable(uri, hasAnimation, allowAnimatedTransform, allowFullGIFTransformation) {\n // External URLs cannot be transformed\n if (isExternalUrl(uri)) {\n return false;\n }\n // Check if animated webp/avif can be transformed\n if (!canTransformAnimatedWebpOrAvif(uri, hasAnimation, allowAnimatedTransform)) {\n return false;\n }\n // Check if image type is supported or if it's a transformable GIF\n const isSupportedImageType = isImageTypeSupported(uri);\n const isTransformableGif = canTransformGIF(uri, allowAnimatedTransform, allowFullGIFTransformation);\n return isSupportedImageType || isTransformableGif;\n}\n/**\n * returns true if image is of JPG type\n * @param {string} uri\n *\n * @returns {boolean}\n */\nfunction isJPG(uri) {\n return JPG_EXTENSIONS.includes(getFileExtension(uri));\n}\n/**\n * returns true if image is of PNG type\n * @param {string} uri\n *\n * @returns {boolean}\n */\nfunction isPNG(uri) {\n return getFileExtension(uri) === fileType.PNG;\n}\n/**\n * returns true if image is of webP type\n * @param {string} uri\n *\n * @returns {boolean}\n */\nfunction isWEBP(uri) {\n return getFileExtension(uri) === fileType.WEBP;\n}\n/**\n * returns true if image is of GIF type\n * @param {string} uri\n *\n * @returns {boolean}\n */\nfunction isGIF(uri) {\n return getFileExtension(uri) === fileType.GIF;\n}\n/**\n * returns true if image is of webP type\n * @param {string} uri\n *\n * @returns {boolean}\n */\nfunction isAVIF(uri) {\n return getFileExtension(uri) === fileType.AVIF;\n}\n/**\n * returns true if the url starts with http, https, // or data\n * @param {string} url\n *\n * @returns {boolean}\n */\nfunction isExternalUrl(url) {\n return /(^https?)|(^data)|(^\\/\\/)/.test(url);\n}\n/**\n * returns true if the url empty or none string\n * @param {string} url\n *\n * @returns {boolean}\n */\nfunction isUrlEmptyOrNone(url) {\n return !url || !url.trim() || url.toLowerCase() === 'none';\n}\n/**\n * returns search bot true or false as indicated in options\n * @param {ImageTransformOptions} options\n *\n * @returns {boolean}\n */\nfunction isSEOBot(options) {\n return options?.isSEOBot ?? false;\n}\n// https://jira.wixpress.com/browse/WEED-12667\n// const illegalChars = ['/', '\\\\', '#', '^', '?', '{', '}', '<', '>', '|', '`', '“', ':', '\"'].map(encodeURIComponent)\nconst ILLEGAL_CHARS = ['/', '\\\\', '?', '<', '>', '|', '“', ':', '\"'].map(encodeURIComponent);\nconst URL_SAFE_ILLEGAL_CHARS = ['\\\\.', '\\\\*'];\nconst ILLEGAL_CHARS_REPLACEMENT = '_';\n/**\n * returns source image file name (no extension)\n * @param {string} uri image source uri\n * @param {string} [name] optional image source name\n *\n * @returns {string}\n */\nfunction getFileName(uri, name) {\n const beforeLeadingSlashRegexp = /\\/(.*?)$/;\n const fileExtensionRegexp = /\\.([^.]*)$/;\n const illegalCharsRegex = new RegExp(`(${ILLEGAL_CHARS.concat(URL_SAFE_ILLEGAL_CHARS).join('|')})`, 'g');\n // if name is a non empty string, remove only supported extension if exists and url encode the string\n if (name && name.length) {\n let fileName = name;\n const extension = name.match(fileExtensionRegexp);\n if (extension &&\n SUPPORTED_IMAGE_EXTENSIONS.includes(extension[1])) {\n fileName = name.replace(fileExtensionRegexp, '');\n }\n return encodeURIComponent(fileName).replace(illegalCharsRegex, ILLEGAL_CHARS_REPLACEMENT);\n }\n // else, trim any preceding media structure from the uri string (like \"media/\" etc.) and remove extension\n const trimmed = uri.match(beforeLeadingSlashRegexp);\n const fileName = trimmed ? trimmed[1] : uri;\n return fileName.replace(fileExtensionRegexp, '');\n}\n/**\n * returns source image file name (no extension)\n * @param {string} uri image source uri\n *\n * @returns {FileType}\n */\nfunction getFileType(uri) {\n if (isJPG(uri)) {\n return fileType.JPG;\n }\n else if (isPNG(uri)) {\n return fileType.PNG;\n }\n else if (isWEBP(uri)) {\n return fileType.WEBP;\n }\n else if (isGIF(uri)) {\n return fileType.GIF;\n }\n else if (isAVIF(uri)) {\n return fileType.AVIF;\n }\n return fileType.UNRECOGNIZED;\n}\n/**\n * returns source image file extension\n * @param {string} uri image source uri\n *\n * @returns {string}\n */\nfunction getFileExtension(uri) {\n const splitURI = /[.]([^.]+)$/.exec(uri);\n return ((splitURI && /[.]([^.]+)$/.exec(uri)[1]) || '').toLowerCase();\n}\n/**\n * returns scale factor needed if FIT fitting\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {number} dWidth\n * @param {number} dHeight\n *\n * @returns {number}\n */\nfunction getFitScaleFactor(sWidth, sHeight, dWidth, dHeight) {\n return Math.min(dWidth / sWidth, dHeight / sHeight);\n}\n/**\n * returns scale factor needed if FILL fitting\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {number} dWidth\n * @param {number} dHeight\n *\n * @returns {number}\n */\nfunction getFillScaleFactor(sWidth, sHeight, dWidth, dHeight) {\n return Math.max(dWidth / sWidth, dHeight / sHeight);\n}\n/**\n * returns scale factor source target\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {number} dWidth\n * @param {number} dHeight\n * @param {string} transformType\n *\n * @returns {number}\n */\nfunction getScaleFactor(sWidth, sHeight, dWidth, dHeight, transformType) {\n let scaleFactor;\n if (transformType === transformTypes.FILL) {\n scaleFactor = getFillScaleFactor(sWidth, sHeight, dWidth, dHeight);\n }\n else if (transformType === transformTypes.FIT) {\n scaleFactor = getFitScaleFactor(sWidth, sHeight, dWidth, dHeight);\n }\n else {\n scaleFactor = 1;\n }\n return scaleFactor;\n}\n/**\n * get calculated scale factor , width and height while considering wixmp image transform dimension limits\n * @param sWidth\n * @param sHeight\n * @param dWidth\n * @param dHeight\n * @param transformType\n * @returns {{scaleFactor: *, width: *, height: *}}\n */\nfunction getSafeTransformData(sWidth, sHeight, dWidth, dHeight, transformType) {\n let scaleFactor;\n // defaults for FILL transform type\n let width = dWidth;\n let height = dHeight;\n // calculate safe image transformed area\n scaleFactor = getScaleFactor(sWidth, sHeight, dWidth, dHeight, transformType);\n if (transformType === transformTypes.FIT) {\n width = sWidth * scaleFactor;\n height = sHeight * scaleFactor;\n }\n // adjust target width & height & scaleFactor\n if (width && height && width * height > SAFE_TRANSFORMED_AREA) {\n const dimensionScaleFactor = Math.sqrt(SAFE_TRANSFORMED_AREA / (width * height));\n width *= dimensionScaleFactor;\n height *= dimensionScaleFactor;\n // get the new scale factor\n scaleFactor = getScaleFactor(sWidth, sHeight, width, height, transformType);\n }\n return {\n scaleFactor,\n width,\n height,\n };\n}\n/**\n * returns the destination rectangle\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {TransformType} transformType\n * @param {ImageTransformTarget} target\n * @param {number} dpr - device pixel ratio\n * @param {UpscaleMethod} upscaleMethod\n *\n * @returns {ImageTransformData & {upscaleMethodValue: number}}\n */\nfunction getTransformData(sWidth, sHeight, transformType, target, dpr, upscaleMethod) {\n // use target dimension is src not provided\n sWidth = sWidth || target.width;\n sHeight = sHeight || target.height;\n // adjust image transform values considering server side transform limitations and performance\n const { scaleFactor, width, height } = getSafeTransformData(sWidth, sHeight, target.width * dpr, target.height * dpr, transformType);\n // adjust image transform values to optimizing upsacle quality and payload\n return getOptimizedTransformData(sWidth, sHeight, width, height, upscaleMethod, scaleFactor, transformType);\n}\n/**\n * converts 9 grid alignment to Focal point position\n * @param {string} [alignment]\n *\n * @returns {x:number,y:number}\n */\nfunction getFocalPointFrom9GridAlignment(alignment = alignTypes.CENTER) {\n return ALIGN_TYPE_TO_FOCAL_POINT[alignment];\n}\n/**\n * returns overlapping rectangle where sRect\n * id aligned (according to alignment) within dRect\n * @param {{ width: number; height: number }} sRect rect 1\n * @param {{ width: number, height: number }} dRect rect 2\n * @param {{x: number, y: number}|undefined} sFP source image focal point\n * @param {string} alignment\n *\n * @returns {{x: number, y: number, width: number, height: number}}\n */\nfunction getAlignedRect(sRect, dRect, sFP, alignment) {\n const fp = getFocalPoint(sFP) ||\n getFocalPointFrom9GridAlignment(alignment);\n const x = Math.max(0, Math.min(sRect.width - dRect.width, fp.x * sRect.width - dRect.width / 2));\n const y = Math.max(0, Math.min(sRect.height - dRect.height, fp.y * sRect.height - dRect.height / 2));\n // rect\n return {\n x,\n y,\n width: Math.min(sRect.width, dRect.width),\n height: Math.min(sRect.height, dRect.height),\n };\n}\n/**\n * returns overlapping rectangle between sRect and dRect\n * @param {object} sRect rect 1\n * @param {object} dRect rect 2\n *\n * @returns {{x:number,y:number,width:number, height:number} || null}\n */\nfunction getOverlappingRect(sRect, dRect) {\n const width = Math.max(0, Math.min(sRect.width, dRect.x + dRect.width) - Math.max(0, dRect.x));\n const height = Math.max(0, Math.min(sRect.height, dRect.y + dRect.height) - Math.max(0, dRect.y));\n const isValidRect = width && height && (sRect.width !== width || sRect.height !== height);\n // return overlapping sRect/dRect rectangle(x, y, width, height)\n return isValidRect\n ? {\n x: Math.max(0, dRect.x),\n y: Math.max(0, dRect.y),\n width,\n height,\n }\n : null;\n}\n/**\n * returns pixel aspect ratio value\n * @param {ImageTransformTarget} target\n *\n * @returns {number}\n */\nfunction getDevicePixelRatio(target) {\n return Math.min(target.pixelAspectRatio || 1, MAX_DEVICE_PIXEL_RATIO);\n}\n/**\n * returns target alignment value\n * @param {ImageTransformTarget} target\n *\n * @returns {string}\n */\nfunction getAlignment(target) {\n return ((target.alignment && alignTypesMap[target.alignment]) ||\n alignTypesMap[alignTypes.CENTER]);\n}\n/**\n * returns the focal point value, if no focal point passed use alignment\n * @param {{x: number, y: number}|undefined} focalPoint\n */\nfunction getFocalPoint(focalPoint) {\n let fp;\n if (focalPoint &&\n typeof focalPoint.x === 'number' &&\n !isNaN(focalPoint.x) &&\n typeof focalPoint.y === 'number' &&\n !isNaN(focalPoint.y)) {\n fp = {\n x: roundToFixed(Math.max(0, Math.min(100, focalPoint.x)) / 100, 2),\n y: roundToFixed(Math.max(0, Math.min(100, focalPoint.y)) / 100, 2),\n };\n }\n return fp;\n}\n/**\n * returns preferred image quality value\n * @param {number} imageWidth\n * @param {number} imageHeight\n *\n * @returns {number}\n */\nfunction getPreferredImageQuality(imageWidth, imageHeight) {\n return imageScaleDefaults[getImageQualityKey(imageWidth, imageHeight)]\n .quality;\n}\n/**\n * returns the scale descriptor of CLASSIC upscale method\n * @param sWidth\n * @param sHeight\n * @returns {{optimizedScaleFactor: number, upscaleMethodValue: number, forceUSM: boolean}}\n */\nfunction getClassicScaleData(sWidth, sHeight) {\n const imageKey = getImageQualityKey(sWidth, sHeight);\n return {\n optimizedScaleFactor: imageScaleDefaults[imageKey].maxUpscale,\n upscaleMethodValue: upscaleMethodsValues.classic,\n forceUSM: false,\n };\n}\n/**\n * returns the scale descriptor of AUTO upscale method\n * @param sWidth\n * @param sHeight\n * @returns {{optimizedScaleFactor: number, upscaleMethodValue: number, forceUSM: boolean}}\n */\nfunction getAutoScaleData(sWidth, sHeight) {\n const imageKey = getImageQualityKey(sWidth, sHeight);\n return {\n optimizedScaleFactor: imageScaleDefaults[imageKey].maxUpscale,\n upscaleMethodValue: upscaleMethodsValues.classic,\n forceUSM: false,\n };\n}\n/**\n * returns the scale descriptor of SUPER upscale method\n * @param scaleFactor\n * @returns {{optimizedScaleFactor: number, upscaleMethodValue: number, forceUSM: boolean}}\n */\nfunction getSuperScaleData(scaleFactor) {\n return {\n optimizedScaleFactor: last(SUPER_UPSCALE_MODELS),\n upscaleMethodValue: upscaleMethodsValues.super,\n forceUSM: !(SUPER_UPSCALE_MODELS.includes(scaleFactor) ||\n scaleFactor > last(SUPER_UPSCALE_MODELS)),\n };\n}\n/**\n * returns upscale descriptor object\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {string} upscaleMethod\n * @param {number} scaleFactor\n *\n * @returns {{maxScale: number, upscaleMethodValue: number, forceUSM: boolean}}\n */\nfunction getOptimizedScaleData(sWidth, sHeight, scaleFactor, upscaleMethod) {\n if (upscaleMethod === 'auto') {\n return getAutoScaleData(sWidth, sHeight);\n }\n else if (upscaleMethod === 'super') {\n return getSuperScaleData(scaleFactor);\n }\n // assuming 'classic' method\n return getClassicScaleData(sWidth, sHeight);\n}\n/**\n * returns optimized upscale data, considering requested upscale method , optimize upscale for best quality and bandwidth\n * @param {number} sWidth\n * @param {number} sHeight\n * @param {number} tWidth\n * @param {number} tHeight\n * @param {UpscaleMethod} upscaleMethod\n * @param {number} scaleFactor\n * @param {TransformType} transformType\n *\n * @returns {ImageTransformData}\n */\nfunction getOptimizedTransformData(sWidth, sHeight, tWidth, tHeight, upscaleMethod, scaleFactor, transformType) {\n const { optimizedScaleFactor, upscaleMethodValue, forceUSM } = getOptimizedScaleData(sWidth, sHeight, scaleFactor, upscaleMethod);\n let width = tWidth;\n let height = tHeight;\n if (scaleFactor <= optimizedScaleFactor) {\n // target upscale within limits or downscale\n return {\n width,\n height,\n scaleFactor,\n upscaleMethodValue,\n forceUSM,\n cssUpscaleNeeded: false,\n };\n }\n // limited upscale\n switch (transformType) {\n case transformTypes.FILL:\n width = tWidth * (optimizedScaleFactor / scaleFactor);\n height = tHeight * (optimizedScaleFactor / scaleFactor);\n break;\n case transformTypes.FIT:\n width = sWidth * optimizedScaleFactor;\n height = sHeight * optimizedScaleFactor;\n break;\n default:\n break;\n }\n // adjust transform values\n return {\n width,\n height,\n scaleFactor: optimizedScaleFactor,\n upscaleMethodValue,\n forceUSM,\n cssUpscaleNeeded: true,\n };\n}\n/**\n * returns image quality key\n * @param {number} imageWidth\n * @param {number} imageHeight\n *\n * @returns {ImageQuality}\n */\nfunction getImageQualityKey(imageWidth, imageHeight) {\n const size = imageWidth * imageHeight;\n if (size > imageScaleDefaults[imageQuality.HIGH].size) {\n return imageQuality.HIGH;\n }\n else if (size > imageScaleDefaults[imageQuality.MEDIUM].size) {\n return imageQuality.MEDIUM;\n }\n else if (size > imageScaleDefaults[imageQuality.LOW].size) {\n return imageQuality.LOW;\n }\n return imageQuality.TINY;\n}\n/**\n * return the actual rounded dimension of a scaled rectangle\n * @param sWidth\n * @param sHeight\n * @param tWidth\n * @param tHeight\n * @param transformType\n * @returns {{width: number, height: number}}\n */\nfunction getDimension(sWidth, sHeight, tWidth, tHeight, transformType) {\n const scaleFactor = getScaleFactor(sWidth, sHeight, tWidth, tHeight, transformType);\n return {\n width: Math.round(sWidth * scaleFactor),\n height: Math.round(sHeight * scaleFactor),\n };\n}\n/**\n * rounds number n digit precision and converts to string\n * @param {number} value\n * @param {number} precision\n *\n * @returns {string}\n */\nfunction roundToFixed(value, precision) {\n const truncatePrecision = Math.pow(10, precision || 0);\n return ((value * truncatePrecision) / truncatePrecision).toFixed(precision);\n}\n/**\n * get normalize scale method\n * @param {ImageTransformOptions} [options]\n * @returns {UpscaleMethod}\n */\nfunction getUpscaleString(options) {\n if (!options || !options.upscaleMethod) {\n return upscaleMethods.AUTO;\n }\n return (upscaleMethods[options.upscaleMethod.toUpperCase()] || upscaleMethods.AUTO);\n}\nfunction imageIsAnimated(uri, hasAnimation) {\n const isAvifWebpFormat = isWEBP(uri) || isAVIF(uri);\n return (getFileExtension(uri) === fileType.GIF || (isAvifWebpFormat && hasAnimation));\n}\nexport { getAlignedRect, getAlignment, getDevicePixelRatio, getDimension, getFileExtension, getFileName, getFileType, getFocalPoint, getOverlappingRect, getPreferredImageQuality, getScaleFactor, getTransformData, getUpscaleString, imageIsAnimated, isExternalUrl, isImageTransformApplicable, isImageTypeSupported, isSEOBot, isValidRequest, isPNG, isWEBP, isGIF, isAVIF, roundToFixed, };\n//# sourceMappingURL=imageServiceUtils.js.map","const globalFeaturesSupportObj = {\n /**\n * @type {object<boolean>}\n */\n isMobile: false,\n};\nconst getFeature = function (feature) {\n return globalFeaturesSupportObj[feature];\n};\nconst setFeature = function (feature, value) {\n globalFeaturesSupportObj[feature] = value;\n};\nexport { getFeature, setFeature };\n//# sourceMappingURL=imageServiceFeatureSupportObject.js.map","import { setFeature } from './imageServiceFeatureSupportObject';\n/**\n * Populate the global feature support object with browser specific values\n */\nfunction populateGlobalFeatureSupport() {\n if (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n const isSmallScreen = window.matchMedia && window.matchMedia('(max-width: 767px)').matches;\n const isMobileAgent = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n // set is mobile\n setFeature('isMobile', isSmallScreen && isMobileAgent);\n }\n}\nexport { populateGlobalFeatureSupport };\n//# sourceMappingURL=populateFeatureSupport.js.map","import { alignTypes, fittingTypes } from '../../helpers/imageServiceConstants';\n/**\n * returns BG tag CSS data\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformTarget} target\n *\n * @returns {BackgroundImageAttributes}\n */\nfunction getCSS(transformsObj, target) {\n const attributes = {\n css: {\n container: {},\n },\n };\n const { css } = attributes;\n const { fittingType } = transformsObj;\n // set fitting\n switch (fittingType) {\n case fittingTypes.ORIGINAL_SIZE:\n case fittingTypes.LEGACY_ORIGINAL_SIZE:\n case fittingTypes.LEGACY_STRIP_ORIGINAL_SIZE:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'no-repeat';\n break;\n case fittingTypes.SCALE_TO_FIT:\n case fittingTypes.LEGACY_STRIP_SCALE_TO_FIT:\n css.container.backgroundSize = 'contain';\n css.container.backgroundRepeat = 'no-repeat';\n break;\n case fittingTypes.STRETCH:\n css.container.backgroundSize = '100% 100%';\n css.container.backgroundRepeat = 'no-repeat';\n break;\n case fittingTypes.SCALE_TO_FILL:\n case fittingTypes.LEGACY_STRIP_SCALE_TO_FILL:\n css.container.backgroundSize = 'cover';\n css.container.backgroundRepeat = 'no-repeat';\n break;\n case fittingTypes.TILE_HORIZONTAL:\n case fittingTypes.LEGACY_STRIP_TILE_HORIZONTAL:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat-x';\n break;\n case fittingTypes.TILE_VERTICAL:\n case fittingTypes.LEGACY_STRIP_TILE_VERTICAL:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat-y';\n break;\n case fittingTypes.TILE:\n case fittingTypes.LEGACY_STRIP_TILE:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat';\n break;\n case fittingTypes.LEGACY_STRIP_FIT_AND_TILE:\n css.container.backgroundSize = 'contain';\n css.container.backgroundRepeat = 'repeat';\n break;\n case fittingTypes.FIT_AND_TILE:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat';\n break;\n // Legacy old editor bg types.\n case fittingTypes.LEGACY_BG_FIT_AND_TILE:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat';\n break;\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_HORIZONTAL:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat-x';\n break;\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_VERTICAL:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'repeat-y';\n break;\n case fittingTypes.LEGACY_BG_NORMAL:\n css.container.backgroundSize = 'auto';\n css.container.backgroundRepeat = 'no-repeat';\n break;\n }\n // set alignment\n switch (target.alignment) {\n case alignTypes.CENTER:\n css.container.backgroundPosition = 'center center'; // 50% 50%\n break;\n case alignTypes.LEFT:\n css.container.backgroundPosition = 'left center'; // 0% 50%\n break;\n case alignTypes.RIGHT:\n css.container.backgroundPosition = 'right center'; // 100% 50%\n break;\n case alignTypes.TOP:\n css.container.backgroundPosition = 'center top'; // 50% 0%\n break;\n case alignTypes.BOTTOM:\n css.container.backgroundPosition = 'center bottom'; // 50% 100%\n break;\n case alignTypes.TOP_RIGHT:\n css.container.backgroundPosition = 'right top'; // 100% 0%\n break;\n case alignTypes.TOP_LEFT:\n css.container.backgroundPosition = 'left top'; // 0% 0%\n break;\n case alignTypes.BOTTOM_RIGHT:\n css.container.backgroundPosition = 'right bottom'; // 100% 100%\n break;\n case alignTypes.BOTTOM_LEFT:\n css.container.backgroundPosition = 'left bottom'; // 0% 100%\n break;\n }\n // return background CSS\n return attributes;\n}\nexport { getCSS as get };\n//# sourceMappingURL=backgroundAttributes.js.map","import { alignTypes, fittingTypes } from '../../helpers/imageServiceConstants';\n/**\n * align type to position\n * @param verticalMiddle\n * @param horizontalMiddle\n * @param target\n * @returns {{}}\n */\nfunction alignTypeToPosition(verticalMiddle, horizontalMiddle, target) {\n return {\n [alignTypes.TOP_LEFT]: { top: 0, left: 0 },\n [alignTypes.TOP_RIGHT]: { top: 0, right: 0 },\n [alignTypes.TOP]: { top: 0, left: horizontalMiddle },\n [alignTypes.BOTTOM_LEFT]: { bottom: 0, left: 0 },\n [alignTypes.BOTTOM_RIGHT]: { bottom: 0, right: 0 },\n [alignTypes.BOTTOM]: { bottom: 0, left: horizontalMiddle },\n [alignTypes.RIGHT]: { top: verticalMiddle, right: 0 },\n [alignTypes.LEFT]: { top: verticalMiddle, left: 0 },\n [alignTypes.CENTER]: {\n width: target.width,\n height: target.height,\n objectFit: 'none',\n },\n };\n}\nconst alignTypeToPositionStr = {\n [alignTypes.CENTER]: 'center',\n [alignTypes.TOP]: 'top',\n [alignTypes.TOP_LEFT]: 'top left',\n [alignTypes.TOP_RIGHT]: 'top right',\n [alignTypes.BOTTOM]: 'bottom',\n [alignTypes.BOTTOM_LEFT]: 'bottom left',\n [alignTypes.BOTTOM_RIGHT]: 'bottom right',\n [alignTypes.LEFT]: 'left',\n [alignTypes.RIGHT]: 'right',\n};\nconst aligmentDefaults = {\n position: 'absolute',\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto',\n};\n/**\n * returns image tag CSS data\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformTarget} target\n *\n * @returns {ImageAttributes}\n */\nfunction getCSS(transformsObj, target) {\n const attributes = {\n css: {\n container: {},\n img: {},\n },\n };\n const { css } = attributes;\n const { fittingType } = transformsObj;\n const alignType = target.alignment;\n css.container.position = 'relative';\n switch (fittingType) {\n case fittingTypes.ORIGINAL_SIZE:\n case fittingTypes.LEGACY_ORIGINAL_SIZE:\n if (transformsObj.parts && transformsObj.parts.length) {\n css.img.width = transformsObj.parts[0].width;\n css.img.height = transformsObj.parts[0].height;\n }\n else {\n css.img.width = transformsObj.src.width;\n css.img.height = transformsObj.src.height;\n }\n break;\n case fittingTypes.SCALE_TO_FIT:\n case fittingTypes.LEGACY_FIT_WIDTH:\n case fittingTypes.LEGACY_FIT_HEIGHT:\n case fittingTypes.LEGACY_FULL:\n css.img.width = target.width;\n css.img.height = target.height;\n css.img.objectFit = 'contain';\n css.img.objectPosition =\n alignTypeToPositionStr[alignType] || 'unset';\n break;\n // BG_NORMAL is a sitebackground legacy for original size fitting type.\n // target width and height were modified in transform.js\n case fittingTypes.LEGACY_BG_NORMAL:\n css.img.width = '100%';\n css.img.height = '100%';\n css.img.objectFit = 'none';\n css.img.objectPosition =\n alignTypeToPositionStr[alignType] || 'unset';\n break;\n case fittingTypes.STRETCH:\n css.img.width = target.width;\n css.img.height = target.height;\n css.img.objectFit = 'fill';\n break;\n case fittingTypes.SCALE_TO_FILL:\n css.img.width = target.width;\n css.img.height = target.height;\n css.img.objectFit = 'cover';\n break;\n }\n // set alignment in a private case where the image src is smaller than the image container,\n if (typeof css.img.width === 'number' &&\n typeof css.img.height === 'number' &&\n (css.img.width !== target.width || css.img.height !== target.height)) {\n const verticalMiddle = Math.round((target.height - css.img.height) / 2);\n const horizontalMiddle = Math.round((target.width - css.img.width) / 2);\n Object.assign(css.img, aligmentDefaults, alignTypeToPosition(verticalMiddle, horizontalMiddle, target)[alignType]);\n }\n return attributes;\n}\nexport { getCSS as get };\n//# sourceMappingURL=imgAttributes.js.map","import { fittingTypes, alignTypes, transformTypes, } from '../../helpers/imageServiceConstants';\nimport { getDimension, isImageTransformApplicable, } from '../../helpers/imageServiceUtils';\n/* eslint-disable indent */\n/**\n * get CSS or SVG attributes to be used in the browser\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformTarget} target\n *\n * @returns {SVGImageAttributes}\n */\nfunction getSvgAttr(transformsObj, target) {\n const attributes = {\n css: {\n container: {},\n },\n attr: {\n container: {},\n img: {},\n },\n };\n const { css, attr } = attributes;\n const { fittingType } = transformsObj;\n const alignType = target.alignment;\n const { width: sourceWidth, height: sourceHeight } = transformsObj.src;\n let imageScale;\n css.container.position = 'relative';\n // populate SVG attributes object\n // eslint-disable-line indent\n switch (fittingType) {\n case fittingTypes.ORIGINAL_SIZE:\n case fittingTypes.LEGACY_ORIGINAL_SIZE:\n case fittingTypes.TILE:\n if (transformsObj.parts && transformsObj.parts.length) {\n attr.img.width = transformsObj.parts[0].width;\n attr.img.height = transformsObj.parts[0].height;\n }\n else {\n attr.img.width = sourceWidth;\n attr.img.height = sourceHeight;\n }\n attr.img.preserveAspectRatio = 'xMidYMid slice';\n break;\n case fittingTypes.SCALE_TO_FIT:\n case fittingTypes.LEGACY_FIT_WIDTH:\n case fittingTypes.LEGACY_FIT_HEIGHT:\n case fittingTypes.LEGACY_FULL:\n attr.img.width = '100%';\n attr.img.height = '100%';\n attr.img.transform = '';\n attr.img.preserveAspectRatio = '';\n break;\n case fittingTypes.STRETCH:\n attr.img.width = target.width;\n attr.img.height = target.height;\n attr.img.x = 0;\n attr.img.y = 0;\n attr.img.transform = '';\n attr.img.preserveAspectRatio = 'none';\n break;\n case fittingTypes.SCALE_TO_FILL:\n if (!isImageTransformApplicable(transformsObj.src.id)) {\n imageScale = getDimension(sourceWidth, sourceHeight, target.width, target.height, transformTypes.FILL);\n attr.img.width = imageScale.width;\n attr.img.height = imageScale.height;\n }\n else {\n attr.img.width = target.width;\n attr.img.height = target.height;\n }\n attr.img.x = 0;\n attr.img.y = 0;\n attr.img.transform = '';\n attr.img.preserveAspectRatio = 'xMidYMid slice';\n break;\n }\n // set alignment for cases where the requested src is smaller or bigger than the target element,\n if (typeof attr.img.width === 'number' &&\n typeof attr.img.height === 'number' &&\n (attr.img.width !== target.width || attr.img.height !== target.height)) {\n // x and y to use in svg <pattern> element\n let x = 0;\n let y = 0;\n let right;\n let bottom;\n if (fittingType === fittingTypes.TILE) {\n right = target.width % attr.img.width;\n bottom = target.height % attr.img.height;\n }\n else {\n right = target.width - attr.img.width;\n bottom = target.height - attr.img.height;\n }\n const center = Math.round(right / 2);\n const middle = Math.round(bottom / 2);\n switch (alignType) {\n case alignTypes.TOP_LEFT:\n x = 0;\n y = 0;\n break;\n case alignTypes.TOP:\n x = center;\n y = 0;\n break;\n case alignTypes.TOP_RIGHT:\n x = right;\n y = 0;\n break;\n case alignTypes.LEFT:\n x = 0;\n y = middle;\n break;\n case alignTypes.CENTER:\n x = center;\n y = middle;\n break;\n case alignTypes.RIGHT:\n x = right;\n y = middle;\n break;\n case alignTypes.BOTTOM_LEFT:\n x = 0;\n y = bottom;\n break;\n case alignTypes.BOTTOM:\n x = center;\n y = bottom;\n break;\n case alignTypes.BOTTOM_RIGHT:\n x = right;\n y = bottom;\n break;\n }\n attr.img.x = x;\n attr.img.y = y;\n }\n attr.container.width = target.width;\n attr.container.height = target.height;\n attr.container.viewBox = [0, 0, target.width, target.height].join(' ');\n // return attributes object\n return attributes;\n}\n/* eslint-enable indent */\nexport { getSvgAttr as get };\n//# sourceMappingURL=SVGAttributes.js.map","import { htmlTag } from '../helpers/imageServiceConstants';\nimport { get as backgroundAttributes } from './attributes/backgroundAttributes';\nimport { get as imgAttributes } from './attributes/imgAttributes';\nimport { get as SVGAttributes } from './attributes/SVGAttributes';\n/**\n * get CSS or SVG attributes to be used in the browser\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformTarget} target\n *\n * @returns object\n */\nfunction getAttributes(transformsObj, target) {\n let attributesGetter;\n if (target.htmlTag === htmlTag.BG) {\n attributesGetter = backgroundAttributes;\n }\n else if (target.htmlTag === htmlTag.SVG) {\n attributesGetter = SVGAttributes;\n }\n else {\n attributesGetter = imgAttributes;\n }\n return attributesGetter(transformsObj, target);\n}\nexport { getAttributes };\n//# sourceMappingURL=attributes.js.map","import { getFeature } from './imageServiceFeatureSupportObject';\n/**\n * get a browser detection if running on mobile device\n *\n * @returns {boolean}\n */\nfunction isMobile() {\n return getFeature('isMobile');\n}\nexport { isMobile };\n//# sourceMappingURL=browserFeatureSupport.js.map","import { fittingTypes, transformTypes, alignTypesMap, } from './imageServiceConstants';\nimport { getAlignment, getScaleFactor, getOverlappingRect, getAlignedRect, getTransformData, getFocalPoint, } from './imageServiceUtils';\n/**\n * request analysis, returns parsed transforms object\n * @param {object} transformsObj\n * @param {ImageTransformSource} src\n * @param {ImageTransformTarget} target\n */\nfunction setTransformParts(transformsObj, src, target) {\n let rect;\n // crop source image if needed\n // set crop part and adjust source dimensions\n if (src.crop) {\n rect = getOverlappingRect(src, src.crop);\n if (rect) {\n transformsObj.src.width = rect.width;\n transformsObj.src.height = rect.height;\n transformsObj.src.isCropped = true;\n transformsObj.parts.push(getCropPart(rect));\n }\n }\n // set additional transform part\n switch (transformsObj.fittingType) {\n case fittingTypes.SCALE_TO_FIT:\n case fittingTypes.LEGACY_FIT_WIDTH:\n case fittingTypes.LEGACY_FIT_HEIGHT:\n case fittingTypes.LEGACY_FULL:\n case fittingTypes.FIT_AND_TILE:\n case fittingTypes.LEGACY_BG_FIT_AND_TILE:\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_HORIZONTAL:\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_VERTICAL:\n case fittingTypes.LEGACY_BG_NORMAL:\n // fit\n transformsObj.parts.push(getFitPart(transformsObj, target));\n break;\n case fittingTypes.SCALE_TO_FILL:\n // fill\n transformsObj.parts.push(getFillPart(transformsObj, target));\n break;\n case fittingTypes.STRETCH:\n // stretch\n transformsObj.parts.push(getStretchPart(transformsObj, target));\n break;\n case fittingTypes.TILE_HORIZONTAL:\n case fittingTypes.TILE_VERTICAL:\n case fittingTypes.TILE:\n case fittingTypes.LEGACY_ORIGINAL_SIZE:\n case fittingTypes.ORIGINAL_SIZE:\n // use crop transform\n // if crop of source image was requested adjust cropping rectangle\n rect = getAlignedRect(transformsObj.src, target, transformsObj.focalPoint, target.alignment);\n if (transformsObj.src.isCropped) {\n Object.assign(transformsObj.parts[0], rect);\n // update source width & height accordingly\n transformsObj.src.width = rect.width;\n transformsObj.src.height = rect.height;\n }\n else {\n transformsObj.parts.push(getCropPart(rect));\n }\n break;\n // ---------------------------------------------------------------------------------------\n // handles a legacy bug on bgImageStrip, background html tag\n // component Full Width Strip stored incorrect image source width and height\n // ---------------------------------------------------------------------------------------\n case fittingTypes.LEGACY_STRIP_TILE_HORIZONTAL:\n case fittingTypes.LEGACY_STRIP_TILE_VERTICAL:\n case fittingTypes.LEGACY_STRIP_TILE:\n case fittingTypes.LEGACY_STRIP_ORIGINAL_SIZE:\n // crop request of source image is not supported\n // use legacy crop\n transformsObj.parts.push(getLegacyCropPart(target));\n break;\n case fittingTypes.LEGACY_STRIP_SCALE_TO_FIT:\n case fittingTypes.LEGACY_STRIP_FIT_AND_TILE:\n // legacy fit\n transformsObj.parts.push(getLegacyFitPart(target));\n break;\n case fittingTypes.LEGACY_STRIP_SCALE_TO_FILL:\n // legacy fill\n transformsObj.parts.push(getLegacyFillPart(target));\n break;\n }\n}\n/**\n * returns fit part of the image transform uri\n * @param {object} transformsObj\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformFitPart}\n */\nfunction getFitPart(transformsObj, target) {\n // calculate the transformed image size needed\n const transformedData = getTransformData(transformsObj.src.width, transformsObj.src.height, transformTypes.FIT, target, transformsObj.devicePixelRatio, transformsObj.upscaleMethod);\n const isMissingSrcDimensions = !transformsObj.src.width || !transformsObj.src.height;\n const transformType = isMissingSrcDimensions\n ? transformTypes.FIT\n : transformTypes.FILL;\n // return fit transform data\n return {\n transformType,\n width: Math.round(transformedData.width),\n height: Math.round(transformedData.height),\n alignment: alignTypesMap.center,\n upscale: transformedData.scaleFactor > 1,\n forceUSM: transformedData.forceUSM,\n scaleFactor: transformedData.scaleFactor,\n cssUpscaleNeeded: transformedData.cssUpscaleNeeded,\n upscaleMethodValue: transformedData.upscaleMethodValue,\n };\n}\n/**\n * returns fill part of the image transform uri\n * @param {ImageTransformObject} transformsObj\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformFillPart}\n */\nfunction getFillPart(transformsObj, target) {\n // calculate the transformed image size needed\n const transformedData = getTransformData(transformsObj.src.width, transformsObj.src.height, transformTypes.FILL, target, transformsObj.devicePixelRatio, transformsObj.upscaleMethod);\n const focalPoint = getFocalPoint(transformsObj.focalPoint);\n const transformType = focalPoint\n ? transformTypes.FILL_FOCAL\n : transformTypes.FILL;\n return {\n transformType,\n width: Math.round(transformedData.width),\n height: Math.round(transformedData.height),\n alignment: getAlignment(target),\n focalPointX: focalPoint && focalPoint.x,\n focalPointY: focalPoint && focalPoint.y,\n upscale: transformedData.scaleFactor > 1,\n forceUSM: transformedData.forceUSM,\n scaleFactor: transformedData.scaleFactor,\n cssUpscaleNeeded: transformedData.cssUpscaleNeeded,\n upscaleMethodValue: transformedData.upscaleMethodValue,\n };\n}\n/**\n * returns fill part of the image transform uri\n * @param {ImageTransformObject} transformsObj\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformFitPart}\n */\nfunction getStretchPart(transformsObj, target) {\n // stretch data\n const scaleFactor = getScaleFactor(transformsObj.src.width, transformsObj.src.height, target.width, target.height, transformTypes.FILL);\n const clonedTarget = { ...target };\n clonedTarget.width = transformsObj.src.width * scaleFactor;\n clonedTarget.height = transformsObj.src.height * scaleFactor;\n // return stretch part\n return getFitPart(transformsObj, clonedTarget);\n}\n/**\n * returns crop part of the image transform uri\n * @param {{x: number, y: number, width: number, height: number}} rect x, y, width, height\n *\n * @returns {TransformCropPart}\n */\nfunction getCropPart(rect) {\n return {\n transformType: transformTypes.CROP,\n x: Math.round(rect.x),\n y: Math.round(rect.y),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n upscale: false,\n forceUSM: false,\n scaleFactor: 1,\n cssUpscaleNeeded: false,\n };\n}\n// ---------------------------------------------------------------------------------------\n// handles a legacy bug on bgImageStrip, background html tag\n// component Full Width Strip stored incorrect image source width and height\n// ---------------------------------------------------------------------------------------\n/**\n * returns fit part of the image transform uri\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformLegacyFitPart}\n */\nfunction getLegacyFitPart(target) {\n return {\n transformType: transformTypes.FIT,\n width: Math.round(target.width),\n height: Math.round(target.height),\n upscale: false,\n forceUSM: true,\n scaleFactor: 1,\n cssUpscaleNeeded: false,\n };\n}\n/**\n * returns fill part of the image transform uri\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformLegacyFillPart}\n */\nfunction getLegacyFillPart(target) {\n return {\n transformType: transformTypes.LEGACY_FILL,\n width: Math.round(target.width),\n height: Math.round(target.height),\n alignment: getAlignment(target),\n upscale: false,\n forceUSM: true,\n scaleFactor: 1,\n cssUpscaleNeeded: false,\n };\n}\n/**\n * returns legacy crop part of the image transform uri\n * @param {ImageTransformTarget} target\n *\n * @returns {TransformLegacyCropPart}\n */\nfunction getLegacyCropPart(target) {\n return {\n transformType: transformTypes.LEGACY_CROP,\n width: Math.round(target.width),\n height: Math.round(target.height),\n alignment: getAlignment(target),\n upscale: false,\n forceUSM: false,\n scaleFactor: 1,\n cssUpscaleNeeded: false,\n };\n}\nexport { setTransformParts };\n//# sourceMappingURL=imageTransformParts.js.map","import { last } from './utils';\nimport { getPreferredImageQuality, roundToFixed } from './imageServiceUtils';\nimport { defaultUSM, fileType, imageFilters, transformTypes, } from './imageServiceConstants';\n/**\n * returns image filters part of the image transform uri\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformOptions} [options]\n */\nfunction setTransformOptions(transformsObj, options) {\n options = options || {};\n // options - general\n transformsObj.quality = getQuality(transformsObj, options);\n transformsObj.progressive = getProgressive(options);\n transformsObj.watermark = getWatermark(options);\n transformsObj.autoEncode = options.autoEncode ?? true;\n transformsObj.encoding = options?.encoding;\n // options - filters & adjustments\n transformsObj.unsharpMask = getUnsharpMask(transformsObj, options);\n transformsObj.filters = getFilters(options);\n}\n/**\n *\n * @param {ImageTransformOptions} options\n * @returns {string}\n */\nfunction getWatermark(options) {\n return options.watermark;\n}\n/**\n * returns progressive if required\n * @param {ImageTransformOptions} options\n *\n * @returns {boolean}\n */\nfunction getProgressive(options) {\n return options.progressive !== false;\n}\n/**\n * returns image filters part of the image transform uri\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformOptions} options\n *\n * @returns {number}\n */\nfunction getQuality(transformsObj, options) {\n const isPNG = transformsObj.fileType === fileType.PNG;\n const isJPG = transformsObj.fileType === fileType.JPG;\n const isWEBP = transformsObj.fileType === fileType.WEBP;\n const isAVIF = transformsObj.fileType === fileType.AVIF;\n const isQualitySupported = isJPG || isPNG || isWEBP || isAVIF;\n if (isQualitySupported) {\n const transformData = last(transformsObj.parts);\n const defaultQuality = getPreferredImageQuality(transformData.width, transformData.height);\n let quality = options.quality && options.quality >= 5 && options.quality <= 90\n ? options.quality\n : defaultQuality;\n // increase quality by 5 for webp images\n quality = isPNG ? quality + 5 : quality;\n return quality;\n }\n // quality not supported\n return 0;\n}\n/**\n * returns the desired transformed image filters\n * @param {ImageTransformOptions} options\n *\n * @returns {object}\n */\nfunction getFilters(options) {\n const filterOptions = options.filters || {};\n const filters = {};\n // contrast\n if (isValidImageFilter(filterOptions[imageFilters.CONTRAST], -100, 100)) {\n filters[imageFilters.CONTRAST] = filterOptions[imageFilters.CONTRAST];\n }\n // brightness\n if (isValidImageFilter(filterOptions[imageFilters.BRIGHTNESS], -100, 100)) {\n filters[imageFilters.BRIGHTNESS] = filterOptions[imageFilters.BRIGHTNESS];\n }\n // saturation\n if (isValidImageFilter(filterOptions[imageFilters.SATURATION], -100, 100)) {\n filters[imageFilters.SATURATION] = filterOptions[imageFilters.SATURATION];\n }\n // hue\n if (isValidImageFilter(filterOptions[imageFilters.HUE], -180, 180)) {\n filters[imageFilters.HUE] = filterOptions[imageFilters.HUE];\n }\n // blur\n if (isValidImageFilter(filterOptions[imageFilters.BLUR], 0, 100)) {\n filters[imageFilters.BLUR] = filterOptions[imageFilters.BLUR];\n }\n return filters;\n}\n/**\n * indicates if requested filter value is valid\n * @param {number|undefined} filterValue filter's value\n * @param {number} minValue min range\n * @param {number} maxValue max range\n *\n * @returns {boolean}\n */\nfunction isValidImageFilter(filterValue, minValue, maxValue) {\n // check if filter name and filter values range valid\n return (typeof filterValue === 'number' &&\n !isNaN(filterValue) &&\n filterValue !== 0 &&\n filterValue >= minValue &&\n filterValue <= maxValue);\n}\n/**\n * returns the desired transformed image unSharpMask values\n * @param {ImageTransformObject} transformsObj transform parts object\n * @param {ImageTransformOptions} options\n *\n * @returns {object}\n */\nfunction getUnsharpMask(transformsObj, options) {\n // If options.unsharpMask is a valid value, use it\n if (isUSMValid(options.unsharpMask)) {\n // If we got usm, change values to have trailing zeros (.00), else return undefined\n return {\n radius: roundToFixed(options.unsharpMask?.radius, 2),\n amount: roundToFixed(options.unsharpMask?.amount, 2),\n threshold: roundToFixed(options.unsharpMask?.threshold, 2),\n };\n // if options.unsharpMask is not all zeros and not valid and usm should be used, use default\n }\n else if (!isZeroUSM(options.unsharpMask) && isUSMNeeded(transformsObj)) {\n return defaultUSM;\n }\n return;\n}\n/**\n * indicates if usm is needed\n * @param {ImageTransformObject} transformsObj transform parts object\n *\n * @returns {boolean}\n */\nfunction isUSMNeeded(transformsObj) {\n // ---------------------------------------------------------------------------------------\n // do not apply usm if transformed image width & height is same as source image or larger\n // and no force usm is desired\n // and transform type is not fit\n // ---------------------------------------------------------------------------------------\n const transformPart = last(transformsObj.parts);\n const upscale = transformPart.scaleFactor >= 1;\n // return if usm is needed\n return (!upscale ||\n transformPart.forceUSM ||\n transformPart.transformType === transformTypes.FIT);\n}\n/**\n * indicates if all usm values are presented and in range\n * @param {OptionUnsharpMask|undefined} usm unsharp mask\n *\n * @returns {boolean}\n */\nfunction isUSMValid(usm) {\n usm = usm || {};\n const radius = typeof usm.radius === 'number' &&\n !isNaN(usm.radius) &&\n usm.radius >= 0.1 &&\n usm.radius <= 500;\n const amount = typeof usm.amount === 'number' &&\n !isNaN(usm.amount) &&\n usm.amount >= 0 &&\n usm.amount <= 10;\n const threshold = typeof usm.threshold === 'number' &&\n !isNaN(usm.threshold) &&\n usm.threshold >= 0 &&\n usm.threshold <= 255;\n // return is a valid USM data\n return radius && amount && threshold;\n}\n/**\n * indicates if all usm values are presented and are zero. an explicit request to not apply usm\n * @param {OptionUnsharpMask|undefined} usm unsharp mask\n *\n * @returns {boolean}\n */\nfunction isZeroUSM(usm) {\n usm = usm || {};\n return (typeof usm.radius === 'number' &&\n !isNaN(usm.radius) &&\n usm.radius === 0 &&\n typeof usm.amount === 'number' &&\n !isNaN(usm.amount) &&\n usm.amount === 0 &&\n typeof usm.threshold === 'number' &&\n !isNaN(usm.threshold) &&\n usm.threshold === 0);\n}\nexport { setTransformOptions };\n//# sourceMappingURL=imageTransformOptions.js.map","import { isSEOBot, getFileType, getFileName, getFileExtension, getDevicePixelRatio, getUpscaleString, isImageTransformApplicable, imageIsAnimated, } from '../helpers/imageServiceUtils';\nimport { isMobile } from '../helpers/browserFeatureSupport';\nimport { setTransformParts } from '../helpers/imageTransformParts';\nimport { setTransformOptions } from '../helpers/imageTransformOptions';\nimport { MOBILE_MAX_BG_SITE_LEGACY_WIDTH, DSKTP_MAX_BG_SITE_LEGACY_WIDTH, MOBILE_MAX_BG_SITE_LEGACY_HEIGHT, DSKTP_MAX_BG_SITE_LEGACY_HEIGHT, fittingTypes, } from '../helpers/imageServiceConstants';\n/**\n * returns image transform data\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {ImageTransformTarget} target target component\n * @param {ImageTransformOptions} [options] transform options\n *\n * @returns {ImageTransformObject}\n */\nfunction getTransform(fittingType, src, target, options) {\n const _isSEOBot = isSEOBot(options);\n const fileType = getFileType(src.id);\n const fileName = getFileName(src.id, src.name);\n const devicePixelRatio = _isSEOBot ? 1 : getDevicePixelRatio(target);\n const fileExtension = getFileExtension(src.id);\n const preferredExtension = fileExtension;\n const canTransformImage = isImageTransformApplicable(src.id, options?.hasAnimation, options?.allowAnimatedTransform, options?.allowFullGIFTransformation);\n const transformsObj = {\n fileName,\n fileExtension,\n fileType,\n fittingType,\n preferredExtension,\n src: {\n id: src.id,\n width: src.width,\n height: src.height,\n isCropped: false,\n isAnimated: imageIsAnimated(src.id, options?.hasAnimation),\n },\n focalPoint: {\n x: src.focalPoint && src.focalPoint.x,\n y: src.focalPoint && src.focalPoint.y,\n },\n parts: [],\n // options - general\n devicePixelRatio,\n quality: 0,\n upscaleMethod: getUpscaleString(options),\n progressive: true,\n watermark: '',\n unsharpMask: {},\n filters: {},\n transformed: canTransformImage,\n allowFullGIFTransformation: options?.allowFullGIFTransformation,\n isPlaceholderFlow: options?.isPlaceholderFlow,\n };\n if (canTransformImage) {\n setTransformParts(transformsObj, src, target);\n setTransformOptions(transformsObj, options);\n }\n return transformsObj;\n}\n/**\n * returns target data\n * handle legacy BG site if needed\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {ImageTransformTarget} target target component\n *\n * @returns {Object}\n */\nfunction getTarget(fittingType, src, target) {\n const targetObj = { ...target };\n const _isMobile = isMobile();\n // handle site BG legacy fitting types (desktop & mobile)\n switch (fittingType) {\n case fittingTypes.LEGACY_BG_FIT_AND_TILE:\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_HORIZONTAL:\n case fittingTypes.LEGACY_BG_FIT_AND_TILE_VERTICAL:\n case fittingTypes.LEGACY_BG_NORMAL:\n const maxBGSiteLegacyWidth = _isMobile\n ? MOBILE_MAX_BG_SITE_LEGACY_WIDTH\n : DSKTP_MAX_BG_SITE_LEGACY_WIDTH;\n const maxBGSiteLegacyHeight = _isMobile\n ? MOBILE_MAX_BG_SITE_LEGACY_HEIGHT\n : DSKTP_MAX_BG_SITE_LEGACY_HEIGHT;\n targetObj.width = Math.min(maxBGSiteLegacyWidth, src.width);\n targetObj.height = Math.min(maxBGSiteLegacyHeight, Math.round(targetObj.width / (src.width / src.height)));\n // for legacy types force htmlTag='bg' and devicePixelRatio=1\n targetObj.pixelAspectRatio = 1;\n }\n return targetObj;\n}\nexport { getTransform, getTarget };\n//# sourceMappingURL=transform.js.map","import { template } from '../helpers/utils';\nimport { imageFilters, transformTypes, API_VERSION, fileType, encodingTypes, } from '../helpers/imageServiceConstants';\nimport { isGIF } from '../helpers/imageServiceUtils';\n// transform templates\nconst fitTemplate = template `fit/w_${'width'},h_${'height'}`;\nconst fillTemplate = template `fill/w_${'width'},h_${'height'},al_${'alignment'}`;\nconst fillFocalTemplate = template `fill/w_${'width'},h_${'height'},fp_${'focalPointX'}_${'focalPointY'}`;\nconst cropTemplate = template `crop/x_${'x'},y_${'y'},w_${'width'},h_${'height'}`;\n// legacy templates\nconst legacyCropTemplate = template `crop/w_${'width'},h_${'height'},al_${'alignment'}`;\nconst legacyFillTemplate = template `fill/w_${'width'},h_${'height'},al_${'alignment'}`;\n// upscale template\nconst upscaleTemplate = template `,lg_${'upscaleMethodValue'}`;\n// options templates\nconst qualityTemplate = template `,q_${'quality'}`;\nconst qualityAutoTemplate = template `,quality_auto`;\nconst unSharpMaskTemplate = template `,usm_${'radius'}_${'amount'}_${'threshold'}`;\nconst nonProgressiveTemplate = template `,bl`;\nconst watermarkTemplate = template `,wm_${'watermark'}`;\nconst filterTemplatesMap = {\n [imageFilters.CONTRAST]: template `,con_${'contrast'}`,\n [imageFilters.BRIGHTNESS]: template `,br_${'brightness'}`,\n [imageFilters.SATURATION]: template `,sat_${'saturation'}`,\n [imageFilters.HUE]: template `,hue_${'hue'}`,\n [imageFilters.BLUR]: template `,blur_${'blur'}`,\n};\nconst autoEncodeTemplate = template `,enc_auto`;\nconst AVIFEncodeTemplate = template `,enc_avif`;\nconst pAVIFEncodeTemplate = template `,enc_pavif`;\nconst animatedTransformTemplate = template `,pstr`;\nconst animatedGIFTransformTemplate = template `,anm_-1`;\n/**\n * returns image transform uri\n * @param {object} transformsObj\n *\n * @returns {string}\n */\nfunction getImageURI(transformsObj) {\n // construct image transforms\n const transformsObjStrArr = [];\n // construct transform\n transformsObj.parts.forEach((transformPart) => {\n switch (transformPart.transformType) {\n case transformTypes.CROP:\n transformsObjStrArr.push(cropTemplate(transformPart));\n break;\n case transformTypes.LEGACY_CROP:\n transformsObjStrArr.push(legacyCropTemplate(transformPart));\n break;\n case transformTypes.LEGACY_FILL:\n let legacyFillStr = legacyFillTemplate(transformPart);\n if (transformPart.upscale) {\n legacyFillStr += upscaleTemplate(transformPart);\n }\n transformsObjStrArr.push(legacyFillStr);\n break;\n case transformTypes.FIT:\n let fitStr = fitTemplate(transformPart);\n if (transformPart.upscale) {\n fitStr += upscaleTemplate(transformPart);\n }\n transformsObjStrArr.push(fitStr);\n break;\n case transformTypes.FILL:\n let fillStr = fillTemplate(transformPart);\n if (transformPart.upscale) {\n fillStr += upscaleTemplate(transformPart);\n }\n transformsObjStrArr.push(fillStr);\n break;\n case transformTypes.FILL_FOCAL:\n let fillFocalStr = fillFocalTemplate(transformPart);\n if (transformPart.upscale) {\n fillFocalStr += upscaleTemplate(transformPart);\n }\n transformsObjStrArr.push(fillFocalStr);\n break;\n }\n });\n let transformsStr = transformsObjStrArr.join('/');\n // construct transform options\n // quality\n if (transformsObj.quality) {\n transformsStr += qualityTemplate(transformsObj);\n }\n // un-sharp mask\n if (transformsObj.unsharpMask) {\n transformsStr += unSharpMaskTemplate(transformsObj.unsharpMask);\n }\n // progressive\n if (!transformsObj.progressive) {\n transformsStr += nonProgressiveTemplate(transformsObj);\n }\n // watermark\n if (transformsObj.watermark) {\n transformsStr += watermarkTemplate(transformsObj);\n }\n // filters\n if (transformsObj.filters) {\n transformsStr += Object.keys(transformsObj.filters)\n .map((filterName) => filterTemplatesMap[filterName](transformsObj.filters))\n .join('');\n }\n // encoding\n if (transformsObj.fileType !== fileType.GIF) {\n if (transformsObj.encoding === encodingTypes.AVIF) {\n transformsStr += AVIFEncodeTemplate(transformsObj);\n transformsStr += qualityAutoTemplate(transformsObj);\n }\n else if (transformsObj.encoding === encodingTypes.PAVIF) {\n transformsStr += pAVIFEncodeTemplate(transformsObj);\n transformsStr += qualityAutoTemplate(transformsObj);\n }\n else if (transformsObj.autoEncode) {\n transformsStr += autoEncodeTemplate(transformsObj);\n }\n }\n // animated images transforms\n if (transformsObj.src?.isAnimated && transformsObj.transformed) {\n const isGif = isGIF(transformsObj.src.id);\n const isPlaceholderFlow = transformsObj.isPlaceholderFlow === true;\n const allowFullGIFTransformation = transformsObj.allowFullGIFTransformation === true;\n if (isPlaceholderFlow) {\n transformsStr += animatedTransformTemplate(transformsObj);\n }\n else if (isGif && allowFullGIFTransformation) {\n // Non-placeholder flow + GIF + flag enabled: use anm_-1\n transformsStr += animatedGIFTransformTemplate(transformsObj);\n }\n }\n // image url string\n return `${transformsObj.src.id}/${API_VERSION}/${transformsStr}/${transformsObj.fileName}.${transformsObj.preferredExtension}`;\n}\nexport { getImageURI };\n//# sourceMappingURL=transforms.js.map","import { isAVIF, isImageTransformApplicable, isWEBP, } from '../helpers/imageServiceUtils';\nimport { getImageURI } from '../engines/transforms';\nimport { getTransform } from './transform';\n/**\n * returns image transform uri\n *\n * @param {string} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {ImageTransformTarget} target target component\n * @param {ImageTransformOptions} options transform options\n * @param {Object} [transformObj] transform data object to use\n *\n * @returns {string}\n */\nfunction getURI(fittingType, src, target, options = {}, transformObj) {\n // check if image transformation is applicable (e.g. .gif, .wix_mp)\n if (isImageTransformApplicable(src.id, options?.hasAnimation, options?.allowAnimatedTransform, options?.allowFullGIFTransformation)) {\n if (isWEBP(src.id) || isAVIF(src.id)) {\n // exclude alignment, focalPoint and crop from webp and avif transformation in order not to break webp or avif images before transformation was enabled\n const { alignment, ...transformTarget } = target;\n src.focalPoint = { x: undefined, y: undefined };\n delete src?.crop;\n transformObj = getTransform(fittingType, src, transformTarget, options);\n }\n else {\n transformObj =\n transformObj || getTransform(fittingType, src, target, options);\n }\n // set the uri property\n return getImageURI(transformObj);\n }\n return src.id;\n}\nexport { getURI };\n//# sourceMappingURL=uri.js.map","import { getURI } from './uri';\nfunction getSrcset(fittingType, src, target, options, data) {\n const dpr = target.pixelAspectRatio || 1;\n return {\n dpr: [\n `${dpr === 1\n ? data.uri\n : getURI(fittingType, src, {\n ...target,\n pixelAspectRatio: 1,\n }, options)} 1x`,\n `${dpr === 2\n ? data.uri\n : getURI(fittingType, src, {\n ...target,\n pixelAspectRatio: 2,\n }, options)} 2x`,\n ],\n };\n}\nexport { getSrcset };\n//# sourceMappingURL=srcset.js.map","import { alignTypes, fittingTypes } from './imageServiceConstants';\nimport { isPNG } from './imageServiceUtils';\nconst ALIGN_TYPE_TO_POSITION = {\n [alignTypes.CENTER]: '50% 50%',\n [alignTypes.TOP_LEFT]: '0% 0%',\n [alignTypes.TOP_RIGHT]: '100% 0%',\n [alignTypes.TOP]: '50% 0%',\n [alignTypes.BOTTOM_LEFT]: '0% 100%',\n [alignTypes.BOTTOM_RIGHT]: '100% 100%',\n [alignTypes.BOTTOM]: '50% 100%',\n [alignTypes.RIGHT]: '100% 50%',\n [alignTypes.LEFT]: '0% 50%',\n};\nconst POSITION_TO_ALIGN_TYPE = Object.entries(ALIGN_TYPE_TO_POSITION).reduce((acc, [align, position]) => {\n acc[position] = align;\n return acc;\n}, {});\nconst TILE_FITTING_TYPES = [\n fittingTypes.TILE,\n fittingTypes.TILE_HORIZONTAL,\n fittingTypes.TILE_VERTICAL,\n fittingTypes.LEGACY_BG_FIT_AND_TILE,\n fittingTypes.LEGACY_BG_FIT_AND_TILE_HORIZONTAL,\n fittingTypes.LEGACY_BG_FIT_AND_TILE_VERTICAL,\n];\nconst NON_SCALING_FITTING_TYPES = [\n fittingTypes.LEGACY_ORIGINAL_SIZE,\n fittingTypes.ORIGINAL_SIZE,\n fittingTypes.LEGACY_BG_NORMAL,\n];\nfunction getIsFakeTile(fittingType, src, { width: targetWidth, height: targetHeight, }) {\n return (fittingType === fittingTypes.TILE &&\n src.width > targetWidth &&\n src.height > targetHeight);\n}\n/**\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {Dimensions} target target container dimensions\n * @param {boolean} [isSEOBot=false] whether it is a render for a bot request\n * @returns {Dimensions} scaled dimensions\n */\nfunction getScaledDimensions(fittingType, src, { width, height }, isSEOBot = false) {\n if (isSEOBot) {\n return { width, height };\n }\n const isScalable = !NON_SCALING_FITTING_TYPES.includes(fittingType);\n const isFakeTile = getIsFakeTile(fittingType, src, { width, height });\n const isTile = !isFakeTile && TILE_FITTING_TYPES.includes(fittingType);\n const _width = isTile ? src.width : width;\n const _height = isTile ? src.height : height;\n const scaleFactor = isScalable\n ? getScaleFactorByWidth(_width, isPNG(src.id))\n : 1;\n return {\n width: isFakeTile ? 1920 : _width * scaleFactor,\n height: _height * scaleFactor,\n };\n}\n/**\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {boolean} isFakeTile\n * @returns {string} fittingType\n */\nfunction getConvertedFitting(fittingType, isFakeTile) {\n const isTile = TILE_FITTING_TYPES.includes(fittingType) && !isFakeTile;\n const isFill = fittingType === fittingTypes.SCALE_TO_FILL;\n return isFill || isTile ? fittingTypes.SCALE_TO_FIT : fittingType;\n}\n/**\n *\n * @param {ImageTransformSource} src source image\n * @param {number || ''} width\n * @param {number || ''} height\n * @returns {Dimensions} width, height\n */\nfunction validateTargetDimensions(src, { width, height }) {\n if (!width || !height) {\n const _width = width || Math.min(980, src.width);\n const heightRatio = _width / src.width;\n return {\n width: _width,\n height: height || src.height * heightRatio,\n };\n }\n return { width, height };\n}\n/**\n *\n * @param {number} width\n * @param {boolean} isHighQuality\n * @return {number}\n */\nfunction getScaleFactorByWidth(width, isHighQuality) {\n if (width > 900) {\n return isHighQuality ? 0.05 : 0.15;\n }\n else if (width > 500) {\n return isHighQuality ? 0.1 : 0.18;\n }\n else if (width > 200) {\n return 0.25;\n }\n return 1;\n}\n/**\n *\n * @param {number} width\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {boolean} isSEOBot\n * @return {number}\n */\nfunction getBlurValue(width, fittingType, isSEOBot) {\n if (isSEOBot) {\n return 0;\n }\n if (TILE_FITTING_TYPES.includes(fittingType)) {\n return 1;\n }\n if (width > 200) {\n return 2;\n }\n return 3;\n}\n/**\n *\n * @param {FittingType} fittingType\n * @param {ImageTransformSource} src source image\n * @param {{width?: number; height?: number}} target target element\n * @param {string} [alignment='center']\n * @returns {{img}, {container}}\n */\nfunction getCSSOverrides(fittingType, src, target, alignment = 'center') {\n const returnValue = {\n img: {},\n container: {},\n };\n if (fittingType === fittingTypes.SCALE_TO_FILL) {\n const alignTypeFromFocalPoint = src.focalPoint && convertFocalPointToAlignType(src.focalPoint);\n const alignType = alignTypeFromFocalPoint || alignment;\n if (src.focalPoint && !alignTypeFromFocalPoint) {\n returnValue.img = {\n objectPosition: convertFillFocalToPosition(src, target, src.focalPoint),\n };\n }\n else {\n returnValue.img = {\n objectPosition: ALIGN_TYPE_TO_POSITION[alignType],\n };\n }\n }\n else if ([fittingTypes.LEGACY_ORIGINAL_SIZE, fittingTypes.ORIGINAL_SIZE].includes(fittingType)) {\n returnValue.img = {\n objectFit: 'none',\n top: 'auto',\n left: 'auto',\n right: 'auto',\n bottom: 'auto',\n };\n }\n else if (TILE_FITTING_TYPES.includes(fittingType)) {\n returnValue.container = {\n backgroundSize: `${src.width}px ${src.height}px`,\n };\n }\n return returnValue;\n}\n/**\n * Try to convert focal point value to 9 grid alignment value\n *\n * @param {Point} focalPoint\n * @returns {AlignType} align type\n */\nfunction convertFocalPointToAlignType(focalPoint) {\n const position = `${focalPoint.x}% ${focalPoint.y}%`;\n return POSITION_TO_ALIGN_TYPE[position] || '';\n}\n/**\n *\n * @param {Dimensions} src source dimensions\n * @param {width?: number; height?: number} target target dimensions\n * @param {Point} focalPoint x/y as 0-100 percentages\n * @returns {string} in 'x% y%' format\n */\nfunction convertFillFocalToPosition(src, target, focalPoint) {\n const { width: sW, height: sH } = src;\n const { width: tW, height: tH } = target;\n const { x: fpX, y: fpY } = focalPoint;\n if (!tW || !tH) {\n return `${fpX}% ${fpY}%`;\n }\n const fillScaleFactor = Math.max(tW / sW, tH / sH);\n const imgScaledW = sW * fillScaleFactor;\n const imgScaledH = sH * fillScaleFactor;\n const x = Math.max(0, Math.min(imgScaledW - tW, imgScaledW * (fpX / 100) - tW / 2));\n const y = Math.max(0, Math.min(imgScaledH - tH, imgScaledH * (fpY / 100) - tH / 2));\n const posX = x && Math.floor((x / (imgScaledW - tW)) * 100);\n const posY = y && Math.floor((y / (imgScaledH - tH)) * 100);\n return `${posX}% ${posY}%`;\n}\nexport { getBlurValue, getConvertedFitting, getCSSOverrides, getIsFakeTile, getScaledDimensions, validateTargetDimensions, };\n//# sourceMappingURL=imagePlaceholderUtils.js.map","import { emptyData } from '../../helpers/imageServiceConstants';\nimport { isImageTransformApplicable, isValidRequest, } from '../../helpers/imageServiceUtils';\nimport { getAttributes } from '../../engines/attributes';\nimport { getTransform, getTarget } from '../transform';\nimport { getURI } from '../uri';\nimport { getSrcset } from '../srcset';\nimport { getScaledDimensions, getBlurValue, getCSSOverrides, validateTargetDimensions, getIsFakeTile, getConvertedFitting, } from '../../helpers/imagePlaceholderUtils';\nconst PLACEHOLDER_IMG_CSS_OVERRIDES = { width: '100%', height: '100%' };\n/**\n * returns image _placeholder_ transform uri and the\n * needed css for alignment and positioning\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src image\n * @param {ImagePlaceholderTransformTarget} target target dimensions\n * @param {ImageTransformOptions} [options] environment / transformation options\n *\n * @returns {ImageDataAttributes}\n */\nfunction getPlaceholder(fittingType, src, target, options = {}) {\n const { autoEncode = true, isSEOBot, shouldLoadHQImage, hasAnimation, allowAnimatedTransform, encoding, } = options;\n if (!isValidRequest(fittingType, src, target)) {\n return emptyData;\n }\n const IS_IN_PLACEHOLDER_FLOW = true;\n // In placeholder flow, allow animated transforms by default unless explicitly disabled\n const shouldAllowAnimatedTransformInPlaceholder = allowAnimatedTransform ?? IS_IN_PLACEHOLDER_FLOW;\n const canTransformImage = isImageTransformApplicable(src.id, hasAnimation, shouldAllowAnimatedTransformInPlaceholder);\n if (!canTransformImage || shouldLoadHQImage) {\n /* Either:\n * 1. Transform isn't applicable so target is original size applied with fluid CSS\n * 2. User asked for an HQ image, so they must have supplied target size (width/height)\n */\n return getData(fittingType, src, target, {\n ...options,\n autoEncode,\n useSrcset: canTransformImage,\n });\n }\n // If there aren't dimensions, we make them up\n const newTarget = {\n ...target,\n ...validateTargetDimensions(src, target),\n };\n const { alignment, htmlTag } = newTarget;\n const isFakeTile = getIsFakeTile(fittingType, src, newTarget);\n const scaledDimensions = getScaledDimensions(fittingType, src, newTarget, isSEOBot);\n const blur = getBlurValue(newTarget.width, fittingType, isSEOBot);\n const convertedFittingType = getConvertedFitting(fittingType, isFakeTile);\n const overrideCSS = getCSSOverrides(fittingType, src, target, alignment);\n const { uri } = getData(convertedFittingType, src, {\n ...scaledDimensions,\n alignment,\n htmlTag,\n }, {\n autoEncode,\n filters: blur ? { blur } : {},\n hasAnimation,\n allowAnimatedTransform: shouldAllowAnimatedTransformInPlaceholder,\n encoding,\n isPlaceholderFlow: IS_IN_PLACEHOLDER_FLOW,\n });\n const { attr = {}, css } = getData(fittingType, src, {\n ...newTarget,\n alignment,\n htmlTag,\n }, {});\n css.img = css.img || {};\n css.container = css.container || {};\n Object.assign(css.img, overrideCSS.img, PLACEHOLDER_IMG_CSS_OVERRIDES);\n Object.assign(css.container, overrideCSS.container);\n return { uri, css, attr, transformed: true };\n}\n/**\n * returns image transform uri and the\n * needed css for alignment and positioning\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {ImageTransformTarget} target target component\n * @param {ImageTransformOptions} [options] transform options\n *\n * @returns {ImageDataAttributes}\n */\nfunction getData(fittingType, src, target, options) {\n let data = {};\n // check if valid request\n if (isValidRequest(fittingType, src, target)) {\n // handle site BG legacy fitting types if needed\n const targetObj = getTarget(fittingType, src, target);\n // parse request and create working OBJ\n const transformObj = getTransform(fittingType, src, targetObj, options);\n data.uri = getURI(fittingType, src, targetObj, options, transformObj);\n if (options?.useSrcset) {\n data.srcset = getSrcset(fittingType, src, targetObj, options, data);\n }\n // set the CSS or the SVG property\n Object.assign(data, getAttributes(transformObj, targetObj), {\n transformed: transformObj.transformed,\n });\n }\n else {\n // empty data\n data = emptyData;\n }\n // return data to be used in html\n return data;\n}\nexport { getData, getPlaceholder };\n//# sourceMappingURL=api.js.map","import { fittingTypes, alignTypes, htmlTag, upscaleMethods, } from '../../helpers/imageServiceConstants';\nimport { isValidRequest } from '../../helpers/imageServiceUtils';\nimport { populateGlobalFeatureSupport } from '../../helpers/populateFeatureSupport';\nimport { getTarget, getTransform } from '../transform';\nimport { getURI } from '../uri';\n/**\n * returns image transform uri\n *\n * @param {FittingType} fittingType imageServicesTypes.fittingTypes\n * @param {ImageTransformSource} src source image\n * @param {ImageTransformTarget} target target component\n * @param {ImageTransformOptions} [options] transform options\n *\n * @returns {{uri: string}}\n */\nfunction getData(fittingType, src, target, options) {\n // check if valid request\n if (isValidRequest(fittingType, src, target)) {\n // handle site BG legacy fitting types\n const targetObj = getTarget(fittingType, src, target);\n // parse request and create working OBJ\n const transformObj = getTransform(fittingType, src, targetObj, options);\n return {\n uri: getURI(fittingType, src, targetObj, options || {}, transformObj),\n };\n }\n return { uri: '' };\n}\nexport { populateGlobalFeatureSupport, getData, fittingTypes, alignTypes, htmlTag, upscaleMethods, };\n//# sourceMappingURL=index.js.map","import { getData, populateGlobalFeatureSupport } from '../api/uri/index';\nimport { fittingTypes, htmlTag, alignTypes, } from '../helpers/imageServiceConstants';\nconst wixStatic = 'https://static.wixstatic.com/';\nconst wixStaticWithMedia = 'https://static.wixstatic.com/media/';\nconst HAS_MEDIA_PREFIX_RE = /^media\\//i;\nconst devicePixelRatio = typeof window !== 'undefined' ? window.devicePixelRatio : 1;\nconst getWixStaticURL = (uri) => HAS_MEDIA_PREFIX_RE.test(uri)\n ? `${wixStatic}${uri}`\n : `${wixStaticWithMedia}${uri}`;\nconst getURL = (uri, options) => {\n const baseHostURL = options && options.baseHostURL;\n return baseHostURL ? `${baseHostURL}${uri}` : getWixStaticURL(uri);\n};\nfunction getScaleToFitImageURL(relativeUrl, sourceWidth, sourceHeight, targetWidth, targetHeight, options) {\n const data = getData(fittingTypes.SCALE_TO_FIT, {\n id: relativeUrl,\n width: sourceWidth,\n height: sourceHeight,\n name: options && options.name,\n }, {\n width: targetWidth,\n height: targetHeight,\n htmlTag: htmlTag.IMG,\n alignment: alignTypes.CENTER,\n pixelAspectRatio: options?.devicePixelRatio ?? devicePixelRatio,\n }, options);\n return getURL(data.uri, options);\n}\nfunction getScaleToFillImageURL(relativeUrl, sourceWidth, sourceHeight, targetWidth, targetHeight, options) {\n const data = getData(fittingTypes.SCALE_TO_FILL, {\n id: relativeUrl,\n width: sourceWidth,\n height: sourceHeight,\n name: options && options.name,\n focalPoint: {\n x: options && options.focalPoint && options.focalPoint.x,\n y: options && options.focalPoint && options.focalPoint.y,\n },\n }, {\n width: targetWidth,\n height: targetHeight,\n htmlTag: htmlTag.IMG,\n alignment: alignTypes.CENTER,\n pixelAspectRatio: options?.devicePixelRatio ?? devicePixelRatio,\n }, options);\n return getURL(data.uri, options);\n}\nfunction getCropImageURL(relativeUrl, sourceWidth, sourceHeight, cropX, cropY, cropWidth, cropHeight, targetWidth, targetHeight, options) {\n const data = getData(fittingTypes.SCALE_TO_FILL, {\n id: relativeUrl,\n width: sourceWidth,\n height: sourceHeight,\n name: options && options.name,\n crop: {\n x: cropX,\n y: cropY,\n width: cropWidth,\n height: cropHeight,\n },\n }, {\n width: targetWidth,\n height: targetHeight,\n htmlTag: htmlTag.IMG,\n alignment: alignTypes.CENTER,\n pixelAspectRatio: options?.devicePixelRatio ?? devicePixelRatio,\n }, options);\n return getURL(data.uri, options);\n}\nexport { populateGlobalFeatureSupport, getScaleToFitImageURL, getScaleToFillImageURL, getCropImageURL, wixStatic, wixStaticWithMedia, };\n//# sourceMappingURL=api.js.map","import { populateGlobalFeatureSupport, getScaleToFitImageURL, getScaleToFillImageURL, getCropImageURL, wixStatic, wixStaticWithMedia, } from './api';\npopulateGlobalFeatureSupport();\nexport { getScaleToFitImageURL, getScaleToFillImageURL, getCropImageURL, wixStatic, wixStaticWithMedia, };\n//# sourceMappingURL=index.js.map","import { getData, STATIC_MEDIA_URL } from '../api/max';\nconst alignTypes = {\n CENTER: 'center',\n TOP: 'top',\n TOP_LEFT: 'top_left',\n TOP_RIGHT: 'top_right',\n BOTTOM: 'bottom',\n BOTTOM_LEFT: 'bottom_left',\n BOTTOM_RIGHT: 'bottom_right',\n LEFT: 'left',\n RIGHT: 'right',\n};\nconst getCropDataWithAlign = (targetAspectRatio, originalAspectRatio, originalHeight, originalWidth, targetHeight, lowerWidth, bpWidth, alignType = alignTypes.CENTER) => {\n if (targetAspectRatio > originalAspectRatio) {\n // Image needs vertical cropping\n const width = originalWidth;\n const height = Math.round(originalWidth / (lowerWidth / targetHeight));\n let y = Math.round(originalHeight / 2 - height / 2);\n const x = 0;\n if (alignType.includes('top')) {\n y = 0;\n }\n else if (alignType.includes('bottom')) {\n y = originalHeight - height;\n }\n return { width, height, x, y };\n }\n else {\n // Image needs horizontal cropping\n const width = Math.round(originalHeight / (targetHeight / bpWidth));\n const height = originalHeight;\n let x = Math.round(originalWidth / 2 - width / 2);\n const y = 0;\n if (alignType.includes('left')) {\n x = 0;\n }\n else if (alignType.includes('right')) {\n x = originalWidth - width;\n }\n return { width, height, x, y };\n }\n};\nconst WIDTHS = [1920, 1536, 1366, 1280, 980];\nconst getSources = (widthProportion, originalWidth, originalHeight, targetHeight, targetWidth, uri, quality, name, alignType, hasAnimation, upscaleMethod, focalPoint, crop, encoding, siteMargin, displayMode, allowFullGIFTransformation) => {\n const hasOriginalSizeDisplayMode = displayMode === 'original_size';\n const originalAspectRatio = originalWidth / originalHeight;\n return WIDTHS.map((width, index) => {\n const isLowestBreakpoint = width === 980;\n const getWidth = (w) => {\n if (isLowestBreakpoint) {\n return targetWidth;\n }\n return (w - 2 * (siteMargin || 0)) * (widthProportion / 100);\n };\n const lowerBpWidth = getWidth(WIDTHS[index + 1]);\n const currentBpWidth = getWidth(width);\n const targetAspectRatio = lowerBpWidth / targetHeight;\n const useManualCrop = !(hasOriginalSizeDisplayMode || isLowestBreakpoint);\n const manualCrop = useManualCrop &&\n getCropDataWithAlign(targetAspectRatio, originalAspectRatio, originalHeight, originalWidth, targetHeight, lowerBpWidth, currentBpWidth, alignType);\n const { srcset, fallbackSrc, css } = getResponsiveImageProps({\n displayMode: hasOriginalSizeDisplayMode\n ? 'original_size'\n : isLowestBreakpoint\n ? 'fill'\n : 'fit',\n uri,\n width: originalWidth,\n height: originalHeight,\n crop: crop || manualCrop,\n name,\n focalPoint,\n alignType,\n quality,\n upscaleMethod,\n hasAnimation,\n encoding,\n allowFullGIFTransformation,\n }, currentBpWidth, targetHeight);\n if (hasOriginalSizeDisplayMode && css) {\n css.img.objectFit = 'cover';\n }\n return {\n srcset: srcset || '',\n sizes: isLowestBreakpoint\n ? `${widthProportion}vw`\n : `${currentBpWidth}px`,\n media: `(max-width: ${width}px)`,\n fallbackSrc,\n imgStyle: css?.img,\n };\n });\n};\nexport const getResponsiveImageProps = (imageProps, targetWidth, targetHeight) => {\n const { displayMode, uri, width, height, name, crop, focalPoint, alignType, quality, upscaleMethod, hasAnimation, allowAnimatedTransform, encoding, siteMargin, widthProportion, allowFullGIFTransformation, } = imageProps;\n if (!widthProportion) {\n const { srcset, css, uri: src, } = getData(displayMode, { id: uri, width, height, name, crop, focalPoint }, {\n width: targetWidth,\n height: targetHeight,\n alignment: alignType,\n }, {\n focalPoint,\n name,\n quality: quality?.quality,\n upscaleMethod,\n hasAnimation,\n allowAnimatedTransform,\n useSrcset: true,\n encoding,\n allowFullGIFTransformation,\n });\n const srcsetWithPrefix = srcset?.dpr?.map((s) => /^[a-z]+:/.test(s) ? s : `${STATIC_MEDIA_URL}${s}`);\n const fallbackSrc = `${STATIC_MEDIA_URL}${src}`;\n const srcsetString = srcsetWithPrefix?.join(', ') || '';\n return {\n fallbackSrc,\n srcset: srcsetString,\n css,\n };\n }\n else {\n const sources = getSources(widthProportion, width, height, targetHeight, targetWidth, uri, quality, name, alignType, hasAnimation, upscaleMethod, focalPoint, crop, encoding, siteMargin, displayMode, allowFullGIFTransformation)\n .filter(Boolean)\n .reverse();\n return {\n fallbackSrc: sources[0].fallbackSrc,\n sources,\n css: sources[0].imgStyle,\n };\n }\n};\n//# sourceMappingURL=responsiveImageUtils.js.map","import { alignTypes, fittingTypes, htmlTag, upscaleMethods, fileType, } from '../../helpers/imageServiceConstants';\nimport { isWEBP, getFileExtension } from '../../helpers/imageServiceUtils';\nimport { populateGlobalFeatureSupport } from '../../helpers/populateFeatureSupport';\nimport { getData, getPlaceholder } from './api';\nimport { getScaleToFitImageURL, getScaleToFillImageURL, getCropImageURL, wixStaticWithMedia, } from '../../sdk';\nimport { getResponsiveImageProps } from '../../helpers/responsiveImageUtils';\npopulateGlobalFeatureSupport();\nconst sdk = {\n getScaleToFitImageURL,\n getScaleToFillImageURL,\n getCropImageURL,\n};\nexport * from '../../types';\nconst STATIC_MEDIA_URL = wixStaticWithMedia;\nexport { STATIC_MEDIA_URL, alignTypes, fittingTypes, getData, getPlaceholder, htmlTag, populateGlobalFeatureSupport, sdk, upscaleMethods, isWEBP, getFileExtension, fileType, getResponsiveImageProps, };\n//# sourceMappingURL=index.js.map","import { alignTypes, fittingTypes, getData, isWEBP, getFileExtension, fileType, } from '@wix/image-kit';\nimport { camelToKebab } from '../utils';\nconst CSS_NUMERIC_VALUES = {\n columnCount: 1,\n columns: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n zIndex: 1,\n zoom: 1,\n};\nconst pick = (obj, props) => {\n const propsArr = Array.isArray(props) ? props : [props];\n return propsArr.reduce((subObj, prop) => {\n const val = obj[prop];\n return val !== undefined ? Object.assign(subObj, { [prop]: val }) : subObj;\n }, {});\n};\nconst addDefaultUnitIfNeeded = (prop, value) => typeof value === 'number' &&\n !CSS_NUMERIC_VALUES[prop]\n ? `${value}px`\n : value.toString();\nconst setStyle = (node, styleProperties) => node &&\n styleProperties &&\n Object.keys(styleProperties).forEach((prop) => {\n const styleProp = prop;\n const propValue = styleProperties[styleProp];\n if (propValue !== undefined) {\n node.style[styleProp] = addDefaultUnitIfNeeded(styleProp, propValue);\n }\n else {\n node.style.removeProperty(styleProp);\n }\n });\nconst getScreenHeight = (heightOverride) => heightOverride ||\n document.documentElement.clientHeight ||\n window.innerHeight ||\n 0;\nconst getImageComputedProperties = (extendedImageInfo, envConsts, htmlTag) => {\n // todo: CLNT-5323 , wixapp sildergallery proxy is generating image data without uri\n if (!extendedImageInfo.targetWidth ||\n !extendedImageInfo.targetHeight ||\n !extendedImageInfo.imageData.uri) {\n return { uri: '', css: {}, transformed: false };\n }\n const { imageData } = extendedImageInfo;\n const fittingType = extendedImageInfo.displayMode || fittingTypes.SCALE_TO_FILL;\n const imageOptions = Object.assign(pick(imageData, ['upscaleMethod']), pick(extendedImageInfo, [\n 'filters',\n 'encoding',\n 'allowFullGIFTransformation',\n ]), extendedImageInfo.quality || imageData.quality, {\n hasAnimation: extendedImageInfo?.hasAnimation || imageData?.hasAnimation,\n });\n const devicePixelRatioFromData = extendedImageInfo.imageData.devicePixelRatio || envConsts.devicePixelRatio;\n const devicePixelRatio = getDevicePixelRatio(devicePixelRatioFromData);\n const src = Object.assign(pick(imageData, ['width', 'height', 'crop', 'name', 'focalPoint']), { id: imageData.uri });\n const target = {\n width: extendedImageInfo.targetWidth,\n height: extendedImageInfo.targetHeight,\n htmlTag: (htmlTag || 'img'),\n pixelAspectRatio: devicePixelRatio,\n alignment: extendedImageInfo.alignType || alignTypes.CENTER,\n };\n const imageComputedProperties = getData(fittingType, src, target, imageOptions);\n imageComputedProperties.uri = getMediaUrlByContext(imageComputedProperties.uri, envConsts.staticMediaUrl, envConsts.mediaRootUrl);\n return imageComputedProperties;\n};\nconst getMediaUrlByContext = (imageUri, staticMediaUrl, mediaRootUrl) => {\n const isExternalUrl = /(^https?)|(^data)|(^blob)|(^\\/\\/)/.test(imageUri);\n if (isExternalUrl) {\n return imageUri;\n }\n let path = `${staticMediaUrl}/`;\n if (imageUri) {\n if (/^micons\\//.test(imageUri)) {\n path = mediaRootUrl;\n }\n else if (/[^.]+$/.exec(imageUri)?.[0] === 'ico') {\n // if the image is an icon then it's taken from a slightly different place\n path = path.replace('media', 'ficons');\n }\n }\n return path + imageUri;\n};\nconst getDevicePixelRatio = (devicePixelRatio) => {\n // we should be able to force devicePixelRatio from url by using the query param -\n const queryParams = window.location.search\n .split('&')\n .map((query) => query.split('='));\n const devicePixelRatioQueryParam = queryParams.find((query) => query[0]?.toLowerCase().includes('devicepixelratio'));\n const devicePixelRatioValueForceFromUrl = devicePixelRatioQueryParam?.[1]\n ? Number(devicePixelRatioQueryParam[1])\n : null;\n return devicePixelRatioValueForceFromUrl || devicePixelRatio || 1;\n};\nconst getImageSrc = (imageNode) => imageNode.getAttribute('src');\nconst isTransformedWEBP = (imageNode, imageUri) => {\n const src = getImageSrc(imageNode) || '';\n const isTransformed = !!src.match(/.webp\\/v1\\//);\n return isWEBP(imageUri) && isTransformed;\n};\nconst imageIsAnimated = (uri, hasAnimation) => getFileExtension(uri) === fileType.GIF ||\n (getFileExtension(uri) === fileType.WEBP && hasAnimation);\nconst getMediaSizeQueryString = (media) => {\n return Object.entries(media)\n .filter(([_, value]) => value || value === 0)\n .map(([key, value]) => `(${camelToKebab(key)}: ${value}px)`)\n .join(' and ');\n};\nexport { \n// TODO(ameerabuf) - move methods that are not custom-element logic to a more general image util lib\ngetMediaSizeQueryString, getMediaUrlByContext, getScreenHeight, setStyle, getImageComputedProperties, getImageSrc, isTransformedWEBP, imageIsAnimated, };\n//# sourceMappingURL=utils.js.map","import { getScreenHeight, setStyle, getImageComputedProperties, getImageSrc, imageIsAnimated, } from './utils';\nconst MOBILE_SAFE_ADDRESSBAR_HEIGHT = 80;\nfunction getHeightOverride(height, mediaHeightOverrideType) {\n // on mobile, documentElement.clientHeight changes when scrolling, because of address bar collapsing.\n // avoiding re-fetching image by returning the same height\n return mediaHeightOverrideType === 'fixed' ||\n mediaHeightOverrideType === 'viewport'\n ? document.documentElement.clientHeight + MOBILE_SAFE_ADDRESSBAR_HEIGHT\n : height;\n}\nfunction computeScaleOverrides(imageStyle, targetScale = 1) {\n return targetScale !== 1\n ? {\n ...imageStyle,\n width: '100%',\n height: '100%',\n }\n : imageStyle;\n}\n/**\n * compute specific overrides\n */\nfunction computeStyleOverrides(mediaHeightOverrideType, imageStyle, displayMode, targetScale, isResponsive) {\n // image scaling override\n const styleWithScale = computeScaleOverrides(imageStyle, targetScale);\n if (isResponsive) {\n delete styleWithScale.height;\n styleWithScale.width = '100%';\n }\n if (!mediaHeightOverrideType) {\n return styleWithScale;\n }\n // siteBackground on mobile\n const style = { ...styleWithScale };\n if (displayMode === 'fill') {\n style.position = 'absolute';\n style.top = '0';\n }\n else if (displayMode === 'fit') {\n style.height = '100%';\n }\n if (mediaHeightOverrideType === 'fixed') {\n // eliminates white gap when address bar is collapsing\n style['will-change'] = 'transform';\n }\n // force image alignment to include top\n if (style.objectPosition) {\n style.objectPosition = imageStyle.objectPosition.replace(/(center|bottom)$/, 'top');\n }\n return style;\n}\nfunction getSourceSetsTargetHeightByEffect(sourceSets, offsetWidth, offsetHeight, screenHeight, services) {\n const sourceSetsTargetHeights = {};\n sourceSets.forEach(({ mediaQuery, scrollEffect }) => {\n sourceSetsTargetHeights[mediaQuery] =\n services.getMediaDimensionsByEffect?.(scrollEffect, offsetWidth, offsetHeight, screenHeight).height || offsetHeight;\n });\n return sourceSetsTargetHeights;\n}\nfunction computeSrcSets(measures, imageInfo, envConsts) {\n const { sourceSets } = imageInfo;\n if (!sourceSets || !sourceSets.length) {\n return;\n }\n const mediaToUri = {};\n sourceSets.forEach(({ mediaQuery, crop, focalPoint }) => {\n const imageInfoClone = {\n ...imageInfo,\n targetHeight: (measures.sourceSetsTargetHeights || {})[mediaQuery] || 0,\n imageData: {\n ...imageInfo.imageData,\n crop,\n focalPoint,\n },\n };\n const imageComputedProperties = getImageComputedProperties(imageInfoClone, envConsts, 'img');\n mediaToUri[mediaQuery] = imageComputedProperties.uri || '';\n });\n return mediaToUri;\n}\nfunction measure(id, measures, domNodes, { containerElm, bgEffect = 'none', sourceSets, }, services) {\n const innerImage = domNodes.image;\n const wixImage = domNodes[id];\n const screenHeight = getScreenHeight(services.getScreenHeightOverride?.());\n // override positioning and scaling of image (SiteBackground mobile override behaviour)\n const mediaHeightOverrideType = containerElm?.dataset\n .mediaHeightOverrideType;\n const hasBgEffect = (bgEffect && bgEffect !== 'none') ||\n (sourceSets && sourceSets.some((srcset) => srcset.scrollEffect));\n const sourceOfDimensions = (containerElm && hasBgEffect ? containerElm : wixImage); // default to self\n const cssBgEffect = window\n .getComputedStyle(wixImage)\n .getPropertyValue('--bg-scrub-effect');\n const { width, height } = services.getMediaDimensionsByEffect?.(cssBgEffect || bgEffect, sourceOfDimensions.offsetWidth, sourceOfDimensions.offsetHeight, screenHeight) || {\n width: wixImage.offsetWidth,\n height: wixImage.offsetHeight,\n };\n if (sourceSets) {\n measures.sourceSetsTargetHeights = getSourceSetsTargetHeightByEffect(sourceSets, sourceOfDimensions.offsetWidth, sourceOfDimensions.offsetHeight, screenHeight, services);\n }\n if (!innerImage) {\n return;\n }\n const imgSrc = getImageSrc(innerImage);\n if (cssBgEffect) {\n measures.top = 0.5 * (wixImage.offsetHeight - height);\n measures.left = 0.5 * (wixImage.offsetWidth - width);\n }\n measures.width = width;\n measures.height = getHeightOverride(height, mediaHeightOverrideType);\n measures.screenHeight = screenHeight;\n measures.imgSrc = imgSrc;\n measures.boundingRect = wixImage.getBoundingClientRect();\n measures.mediaHeightOverrideType = mediaHeightOverrideType;\n measures.srcset = innerImage.srcset;\n}\nfunction patch(id, measures, domNodes, imageInfo, services, envConsts, loadImage, isResponsive, bgEffect, loadImageImmediately) {\n if (!Object.keys(measures).length) {\n return;\n }\n const { imageData } = imageInfo;\n const wixImageNode = domNodes[id];\n const image = domNodes.image;\n // no retina scaling for background scroll effects\n if (bgEffect) {\n imageData.devicePixelRatio = 1;\n }\n const targetScale = imageInfo.targetScale || 1;\n const allowFullGIFTransformation = services.isExperimentOpen?.('specs.thunderbolt.allowFullGIFTransformation');\n const extendedImageInfo = {\n ...imageInfo,\n ...(!imageInfo.skipMeasure && {\n targetWidth: (measures.width || 0) * targetScale,\n targetHeight: (measures.height || 0) * targetScale,\n }),\n displayMode: imageData.displayMode,\n allowFullGIFTransformation,\n };\n const imageComputedProperties = getImageComputedProperties(extendedImageInfo, envConsts, 'img');\n const computedStyle = imageComputedProperties?.css?.img || {};\n const imageStyle = computeStyleOverrides(measures.mediaHeightOverrideType, computedStyle, imageData.displayMode, targetScale, isResponsive);\n setStyle(image, imageStyle);\n if (measures.top || measures.left) {\n setStyle(wixImageNode, {\n top: `${measures.top}px`,\n left: `${measures.left}px`,\n });\n }\n const src = imageComputedProperties?.uri || '';\n const hasAnimation = imageData?.hasAnimation || imageInfo?.hasAnimation;\n const mediaToUri = computeSrcSets(measures, extendedImageInfo, envConsts);\n if (loadImageImmediately) {\n // flag that this image has been processed\n image.dataset.ssrSrcDone = 'true';\n }\n if (imageInfo.isLQIP &&\n imageInfo.lqipTransition &&\n !('transitioned' in wixImageNode.dataset)) {\n wixImageNode.dataset.transitioned = '';\n if (image.complete) {\n image.onload = function () {\n image.dataset.loadDone = '';\n };\n }\n else {\n image.onload = function () {\n if (image.complete) {\n image.dataset.loadDone = '';\n }\n else {\n image.onload = function () {\n image.dataset.loadDone = '';\n };\n }\n };\n }\n }\n if (loadImage) {\n if (imageIsAnimated(imageData.uri, hasAnimation)) {\n image.setAttribute('fetchpriority', 'low');\n image.setAttribute('loading', 'lazy');\n image.setAttribute('decoding', 'async');\n }\n else {\n image.setAttribute('fetchpriority', 'high');\n }\n image.currentSrc !== src && image.setAttribute('src', src);\n const srcIsMissingFromSrcset = measures.srcset &&\n !measures.srcset\n .split(', ')\n .some((source) => source.split(' ')[0] === src);\n if (srcIsMissingFromSrcset) {\n image.setAttribute('srcset', src);\n }\n if (domNodes.picture && extendedImageInfo.sourceSets) {\n Array.from(domNodes.picture.querySelectorAll('source')).forEach((sourceNode) => {\n const mediaQuery = sourceNode.media || '';\n const uri = mediaToUri?.[mediaQuery];\n if (sourceNode.srcset !== uri) {\n sourceNode.setAttribute('srcset', uri || '');\n }\n });\n }\n }\n}\nexport default {\n measure,\n patch,\n};\n//# sourceMappingURL=imageLayout.js.map","import { getImageSrc } from './utils';\nimport imageLayout from './imageLayout';\nconst TIMEOUT = 250;\nconst imageEffectMap = {\n parallax: 'ImageParallax',\n fixed: 'ImageReveal',\n};\nfunction wowImageFactory(services, environmentConsts, contextWindow) {\n return class WowImage extends contextWindow.HTMLElement {\n constructor() {\n // eslint-disable-line no-useless-constructor\n super();\n this.childListObserver = null;\n this.timeoutId = null;\n }\n attributeChangedCallback(_, oldValue) {\n if (oldValue) {\n this.reLayout();\n }\n }\n connectedCallback() {\n if (environmentConsts.disableImagesLazyLoading) {\n this.reLayout();\n }\n else {\n this.observeIntersect();\n }\n }\n disconnectedCallback() {\n this.unobserveResize();\n this.unobserveIntersect();\n this.unobserveChildren();\n }\n static get observedAttributes() {\n return ['data-image-info'];\n }\n reLayout() {\n const domNodes = {};\n const measures = {};\n const imageId = this.getAttribute('id');\n const imageInfo = JSON.parse(this.dataset.imageInfo || '');\n const isResponsive = this.dataset.isResponsive === 'true';\n const { bgEffectName } = this.dataset;\n const { scrollEffect } = imageInfo.imageData;\n const { sourceSets } = imageInfo;\n const bgEffect = bgEffectName || (scrollEffect && imageEffectMap[scrollEffect]);\n if (sourceSets && sourceSets.length) {\n sourceSets.forEach((sourceSet) => {\n if (sourceSet.scrollEffect) {\n sourceSet.scrollEffect =\n imageEffectMap[sourceSet.scrollEffect];\n }\n });\n }\n domNodes[imageId] = this;\n if (imageInfo.containerId) {\n domNodes[imageInfo.containerId] = contextWindow.document.getElementById(`${imageInfo.containerId}`);\n }\n const containerElm = imageInfo.containerId\n ? domNodes[imageInfo.containerId]\n : undefined;\n domNodes.image = this.querySelector('img');\n domNodes.picture = this.querySelector('picture');\n if (!domNodes.image) {\n // missing children, can't layout, wait for children to be created first\n const target = this;\n this.observeChildren(target);\n return;\n }\n // clean up\n this.unobserveChildren();\n // from now on just observe changes to children of top level\n this.observeChildren(this);\n services.mutationService.measure(() => {\n imageLayout.measure(imageId, measures, domNodes, {\n containerElm,\n bgEffect,\n sourceSets,\n }, services);\n });\n const patchImage = (shouldLoadImage, loadImageImmediately) => {\n services.mutationService.mutate(() => {\n imageLayout.patch(imageId, measures, domNodes, imageInfo, services, environmentConsts, shouldLoadImage, isResponsive, bgEffect, loadImageImmediately);\n });\n };\n const imageElement = domNodes.image;\n const ssrSrcNeedProcessing = this.dataset.hasSsrSrc && !imageElement.dataset.ssrSrcDone;\n // if image has no src or current src if from ssr render stage -\n // load the image immediately, otherwise - debounce the reload\n const loadImageImmediately = !getImageSrc(imageElement) || ssrSrcNeedProcessing;\n if (loadImageImmediately) {\n patchImage(true, true);\n }\n else {\n this.debounceImageLoad(patchImage);\n }\n }\n /**\n * Debounce consecutive image loads\n *\n * @param {function} patchImage closure for patching the image\n */\n debounceImageLoad(patchImage) {\n clearTimeout(this.timeoutId);\n this.timeoutId = contextWindow.setTimeout(() => {\n patchImage(true);\n }, TIMEOUT);\n patchImage(false);\n }\n observeResize() {\n services.resizeService?.observe(this);\n }\n unobserveResize() {\n services.resizeService?.unobserve(this);\n }\n observeIntersect() {\n services.intersectionService?.observe(this);\n }\n unobserveIntersect() {\n services.intersectionService?.unobserve(this);\n }\n /**\n * Observe DOM mutations to wait for addition of missing children\n *\n * @param {HTMLElement} parent\n */\n observeChildren(parent) {\n if (!this.childListObserver) {\n this.childListObserver = new contextWindow.MutationObserver(() => {\n this.reLayout();\n });\n }\n this.childListObserver.observe(parent, { childList: true });\n }\n /**\n * Remove DOM MutationObserver if one was created\n */\n unobserveChildren() {\n if (this.childListObserver) {\n this.childListObserver.disconnect();\n this.childListObserver = null;\n }\n }\n };\n}\nexport default wowImageFactory;\n//# sourceMappingURL=WowImage.js.map","import wowImageFactory from './WowImage';\nimport fastdom from 'fastdom';\nexport default function init(contextWindow, services) {\n const elementName = 'wow-image';\n contextWindow = contextWindow || window;\n if (contextWindow.customElements.get(elementName) === undefined) {\n let resizeObserver;\n if (contextWindow.ResizeObserver) {\n resizeObserver = new contextWindow.ResizeObserver((entries) => entries.map((entry) => entry.target.reLayout()));\n }\n let intersectionObserver;\n if (contextWindow.IntersectionObserver) {\n intersectionObserver = new IntersectionObserver((entries) => entries.map((entry) => {\n if (entry.isIntersecting) {\n const wowImage = entry.target;\n wowImage.unobserveIntersect();\n // resize Observe will invoke relayout imidiatly.\n // \"Observation will fire when observation starts if Element is being rendered, and Element’s size is not 0,0,\"\n // https://drafts.csswg.org/resize-observer/#dom-resizeobserver-observe\n wowImage.observeResize();\n }\n return entry;\n }), {\n /**\n * old: 50% from 1080 (desktop) is 540px, 800 (mobile) 400px\n * new: 150% from 1080 (desktop) is 1620, 800 (mobile) 1200\n * chrome [loading=lazy]: 4g - 1250px, lower then 3g - 2500px\n * @see https://web.dev/articles/browser-level-image-lazy-loading#improved-thresholds\n */\n rootMargin: '150% 100%',\n });\n }\n return function (env) {\n const WowImage = wowImageFactory({\n resizeService: resizeObserver,\n intersectionService: intersectionObserver,\n mutationService: fastdom,\n ...services,\n }, env, contextWindow);\n contextWindow.customElements.define(elementName, WowImage);\n };\n }\n return;\n}\n//# sourceMappingURL=registry.js.map","import init from './custom-element/registry';\nconst getDevicePixelRatio = () => {\n const isMSMobileDevice = /iemobile/i.test(navigator.userAgent);\n if (isMSMobileDevice) {\n return Math.round(window.screen.availWidth /\n (window.screen.width || window.document.documentElement.clientWidth));\n }\n return window.devicePixelRatio;\n};\nconst STATIC_MEDIA_URL = 'https://static.wixstatic.com/media';\nconst MEDIA_ROOT_URL = 'https://static.wixstatic.com';\nfunction initCustomElement(services = {}, contextWindow = null, envConsts = {}) {\n if (typeof window === 'undefined') {\n return;\n }\n const env = {\n staticMediaUrl: STATIC_MEDIA_URL,\n mediaRootUrl: MEDIA_ROOT_URL,\n experiments: {},\n devicePixelRatio: getDevicePixelRatio(),\n ...envConsts,\n };\n const define = init(contextWindow, services);\n if (define) {\n define(env);\n }\n}\nexport { initCustomElement };\n//# sourceMappingURL=customElementInit.js.map","// extracted by mini-css-extract-plugin\nexport default {\"image\":\"L36Tx5\"};","import * as React from 'react';\nimport styles from './Image.module.scss';\nimport * as imageKit from '@wix/image-kit';\nconst { STATIC_MEDIA_URL } = imageKit;\nconst fetchLQIP = ({ fittingType, src, target, options, }) => {\n const placeholder = imageKit.getPlaceholder(fittingType, src, target, {\n ...options,\n autoEncode: true,\n });\n if (placeholder?.uri && !/^[a-z]+:/.test(placeholder.uri)) {\n placeholder.uri = `${STATIC_MEDIA_URL}${placeholder.uri}`;\n }\n return placeholder;\n};\nconst SCHEME_RE = /^[a-z]+:/;\nconst Image = (props) => {\n const { id, containerId, uri, alt, name = '', role, width, height, displayMode, devicePixelRatio, quality, alignType, bgEffectName = '', focalPoint, upscaleMethod, className = '', crop, imageStyles = {}, targetWidth, targetHeight, targetScale, onLoad = () => { }, onError = () => { }, shouldUseLQIP, containerWidth, containerHeight, getPlaceholder, isInFirstFold, placeholderTransition, socialAttrs, isSEOBot, skipMeasure, hasAnimation, encoding, isFluidLayout, } = props;\n const imageRef = React.useRef(null);\n // fix containerId and id to support hoverBox component\n let hasSsrSrc = '';\n const hasBlurTransition = placeholderTransition === 'blur';\n const ssrImageData = React.useRef(null);\n if (!ssrImageData.current) {\n if (getPlaceholder || shouldUseLQIP || isInFirstFold || isSEOBot) {\n const options = {\n upscaleMethod,\n ...(quality ? quality : {}),\n shouldLoadHQImage: isInFirstFold,\n isSEOBot,\n hasAnimation,\n encoding,\n };\n ssrImageData.current = (getPlaceholder || fetchLQIP)({\n fittingType: displayMode,\n src: {\n id: uri,\n width,\n height,\n crop,\n name,\n focalPoint,\n },\n target: {\n width: containerWidth,\n height: containerHeight,\n alignment: alignType,\n htmlTag: 'img',\n },\n options,\n });\n hasSsrSrc =\n !ssrImageData.current.transformed || isInFirstFold || isSEOBot\n ? ''\n : 'true';\n }\n else {\n // to keep an empty placeholder data\n ssrImageData.current = {\n uri: undefined,\n css: { img: {} },\n attr: { img: {}, container: {} },\n transformed: false,\n };\n }\n }\n const isLQIP = !isSEOBot &&\n (getPlaceholder || shouldUseLQIP) &&\n !isInFirstFold &&\n ssrImageData.current.transformed;\n const imageInfo = React.useMemo(() => JSON.stringify({\n containerId,\n ...(containerId && { containerId }),\n ...(alignType && { alignType }),\n ...(skipMeasure && { skipMeasure: true }),\n displayMode,\n ...(containerWidth && { targetWidth: containerWidth }),\n ...(containerHeight && { targetHeight: containerHeight }),\n ...(targetWidth && { targetWidth }),\n ...(targetHeight && { targetHeight }),\n ...(targetScale && { targetScale }),\n isLQIP,\n isSEOBot,\n lqipTransition: placeholderTransition,\n encoding,\n imageData: {\n width,\n height,\n uri,\n name,\n displayMode,\n hasAnimation,\n ...(quality && { quality }),\n ...(devicePixelRatio && { devicePixelRatio }),\n ...(focalPoint && { focalPoint }),\n ...(crop && { crop }),\n ...(upscaleMethod && { upscaleMethod }),\n },\n }), [\n containerId,\n alignType,\n skipMeasure,\n displayMode,\n containerWidth,\n containerHeight,\n targetWidth,\n targetHeight,\n targetScale,\n isLQIP,\n isSEOBot,\n placeholderTransition,\n encoding,\n width,\n height,\n uri,\n name,\n hasAnimation,\n quality,\n devicePixelRatio,\n focalPoint,\n crop,\n upscaleMethod,\n ]);\n const ssrResult = ssrImageData.current;\n const src = ssrResult?.uri;\n const srcset = ssrResult?.srcset;\n const placeholderStyle = ssrResult.css?.img;\n const classNames = `${styles.image} ${className}`;\n React.useEffect(() => {\n // When image comes from cache onLoad not trigger on native HTML element\n const imgElement = imageRef.current;\n if (onLoad && imgElement?.currentSrc && imgElement?.complete) {\n onLoad({\n target: imgElement,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const maxWidth = ssrResult && !ssrResult?.transformed\n ? `max(${width}px, 100%)`\n : targetWidth\n ? `${targetWidth}px`\n : null;\n return (React.createElement(\"wow-image\", { id: id, class: classNames, \"data-image-info\": imageInfo, \"data-motion-part\": `BG_IMG ${containerId}`, \"data-bg-effect-name\": bgEffectName, \"data-has-ssr-src\": hasSsrSrc, \"data-animate-blur\": !isSEOBot && isLQIP && hasBlurTransition ? '' : undefined, \"data-is-responsive\": isFluidLayout ? 'true' : undefined, style: maxWidth ? { '--wix-img-max-width': maxWidth } : {} },\n React.createElement(\"img\", { src: src, ref: imageRef, alt: alt || '', role: role, style: { ...placeholderStyle, ...imageStyles }, onLoad: onLoad, onError: onError, width: containerWidth ? containerWidth : undefined, height: containerHeight ? containerHeight : undefined, ...socialAttrs, srcSet: isInFirstFold\n ? srcset?.dpr\n ?.map((s) => SCHEME_RE.test(s) ? s : `${STATIC_MEDIA_URL}${s}`)\n .join(', ')\n : undefined, \n // @ts-expect-error fetchpriority type should work in react > 18.3 https://github.com/facebook/react/pull/25927\n fetchpriority: isInFirstFold ? 'high' : undefined, loading: isInFirstFold === false ? 'lazy' : undefined, \n // The src attribute triggers a mismatch warning because wow-image updates its src outside of the React lifecycle. This causes React to retain the old value in the virtual DOM, which could potentially lead to a bug where the old value is re-rendered during updates. However, we’re confident that this issue is not reproducing in current (16-18) React versions\n suppressHydrationWarning: true })));\n};\nexport { Image, imageKit };\n//# sourceMappingURL=Image.js.map","import * as React from 'react';\nimport type { VideoProps } from './types';\nimport styles from './Video.module.scss';\nimport { sortQualities } from './custom-element/utils';\nimport { initCustomElement } from './customElementInit';\nimport { Image, initCustomElement as initImageCustomElement } from '@wix/image';\n\nif (typeof window !== 'undefined') {\n if (document.readyState === 'loading') {\n document.addEventListener(\n 'DOMContentLoaded',\n () => {\n initCustomElement();\n initImageCustomElement();\n },\n {\n once: true,\n },\n );\n } else {\n initCustomElement();\n initImageCustomElement();\n }\n}\n\nconst Video: React.FC<VideoProps> = (props) => {\n const {\n motionPart,\n videoRef,\n videoMedia,\n muted,\n loop,\n autoplay,\n playbackRate = 1,\n posterEffect,\n id,\n qualityPolicy = 'proportional',\n focalPoint = { x: 50, y: 50 },\n onError,\n } = props;\n\n const wowVideoRef = React.useRef<HTMLElement>(null);\n\n const videoInfoString = React.useMemo(() => {\n const sortedQualities = sortQualities(videoMedia.sources || []);\n return JSON.stringify({\n ...videoMedia,\n playbackRate,\n posterEffect,\n sources: sortedQualities,\n autoplay,\n qualityPolicy,\n focalPoint,\n });\n }, [\n videoMedia,\n playbackRate,\n posterEffect,\n autoplay,\n qualityPolicy,\n focalPoint,\n ]);\n\n const VideoPosterImage = videoMedia.poster && (\n <Image\n {...videoMedia.poster}\n focalPoint={focalPoint}\n id={`videoPoster_${id}`}\n displayMode=\"fill\"\n alt={videoMedia.name || videoMedia.poster.alt || \"\"}\n quality={\n videoMedia.poster.quality\n ? { quality: videoMedia.poster.quality }\n : undefined\n }\n />\n );\n\n const handleVideoElementError = React.useCallback(\n (event: React.SyntheticEvent<HTMLVideoElement, Event>) => {\n if (onError) {\n const videoElement = event.currentTarget;\n const error = new Error(\n `Video playback error: ${\n videoElement.error?.message || \"Unknown error\"\n }`\n );\n onError(error);\n }\n },\n [onError]\n );\n\n const handleAdaptiveVideoError = React.useCallback(\n (event: any) => {\n if (onError && event.detail?.error) {\n onError(event.detail.error);\n }\n },\n [onError]\n );\n\n React.useEffect(() => {\n const element = wowVideoRef.current;\n element?.addEventListener(\"videoerror\", handleAdaptiveVideoError);\n return () => {\n element?.removeEventListener(\"videoerror\", handleAdaptiveVideoError);\n };\n }, [onError, handleAdaptiveVideoError]);\n\n return (\n <wow-video\n ref={wowVideoRef}\n data-video-info={videoInfoString}\n data-motion-part={motionPart || ''}\n class={styles.videoContainer}\n >\n <video\n ref={videoRef}\n className={styles.video}\n crossOrigin=\"anonymous\"\n playsInline={true}\n muted={muted}\n loop={loop}\n preload=\"none\"\n onError={handleVideoElementError}\n />\n {VideoPosterImage}\n </wow-video>\n );\n};\n\nexport default Video;\n","var __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\n\n// ../../node_modules/@wix/ambassador-devcenter-v1-component-type-data/build/es/types.impl.js\nvar Exposure;\n(function(Exposure2) {\n Exposure2[\"PRIVATE\"] = \"PRIVATE\";\n Exposure2[\"INTERNAL\"] = \"INTERNAL\";\n Exposure2[\"PUBLIC\"] = \"PUBLIC\";\n})(Exposure || (Exposure = {}));\nvar ComponentType;\n(function(ComponentType2) {\n ComponentType2[\"NONE\"] = \"NONE\";\n ComponentType2[\"STUDIO\"] = \"STUDIO\";\n ComponentType2[\"PLATFORM\"] = \"PLATFORM\";\n ComponentType2[\"WORKER\"] = \"WORKER\";\n ComponentType2[\"DASHBOARD\"] = \"DASHBOARD\";\n ComponentType2[\"WIDGET\"] = \"WIDGET\";\n ComponentType2[\"PAGE\"] = \"PAGE\";\n ComponentType2[\"DASHBOARD_PLATFORM\"] = \"DASHBOARD_PLATFORM\";\n ComponentType2[\"STUDIO_WIDGET\"] = \"STUDIO_WIDGET\";\n ComponentType2[\"EMBEDDED_SCRIPT\"] = \"EMBEDDED_SCRIPT\";\n ComponentType2[\"EXTENSION\"] = \"EXTENSION\";\n ComponentType2[\"SNIPPET_SOLUTION\"] = \"SNIPPET_SOLUTION\";\n ComponentType2[\"DATA_COMPONENT\"] = \"DATA_COMPONENT\";\n ComponentType2[\"WEB\"] = \"WEB\";\n ComponentType2[\"DC_CONFIG\"] = \"DC_CONFIG\";\n ComponentType2[\"WIDGET_OUT_OF_IFRAME\"] = \"WIDGET_OUT_OF_IFRAME\";\n ComponentType2[\"PAGE_OUT_OF_IFRAME\"] = \"PAGE_OUT_OF_IFRAME\";\n ComponentType2[\"STATIC_FILE\"] = \"STATIC_FILE\";\n ComponentType2[\"APP_CONFIG\"] = \"APP_CONFIG\";\n ComponentType2[\"MULTIPLE_DASHBOARDS\"] = \"MULTIPLE_DASHBOARDS\";\n ComponentType2[\"PAYMENTS_GATEWAY\"] = \"PAYMENTS_GATEWAY\";\n ComponentType2[\"CODE_PACKAGE\"] = \"CODE_PACKAGE\";\n ComponentType2[\"AUTOMATION_TRIGGER\"] = \"AUTOMATION_TRIGGER\";\n ComponentType2[\"INVOICES_ACTIONS\"] = \"INVOICES_ACTIONS\";\n ComponentType2[\"DASHBOARD_APPLICATION\"] = \"DASHBOARD_APPLICATION\";\n ComponentType2[\"CONTACT_LABELS\"] = \"CONTACT_LABELS\";\n ComponentType2[\"WIDGET_PLUGIN\"] = \"WIDGET_PLUGIN\";\n ComponentType2[\"CROSS_SELL\"] = \"CROSS_SELL\";\n ComponentType2[\"LOCAL_DELIVERY\"] = \"LOCAL_DELIVERY\";\n ComponentType2[\"PAYMENT_PROVIDER\"] = \"PAYMENT_PROVIDER\";\n ComponentType2[\"ECOM_MEMBERSHIPS\"] = \"ECOM_MEMBERSHIPS\";\n ComponentType2[\"ECOM_LINE_ITEMS_ENRICHER\"] = \"ECOM_LINE_ITEMS_ENRICHER\";\n ComponentType2[\"ECOM_SHIPPING_RATES\"] = \"ECOM_SHIPPING_RATES\";\n ComponentType2[\"SHIPPING_LABEL_CARRIER\"] = \"SHIPPING_LABEL_CARRIER\";\n ComponentType2[\"RESTAURANTS_POS\"] = \"RESTAURANTS_POS\";\n ComponentType2[\"FICTIONAL_SHIPPING_PROVIDER\"] = \"FICTIONAL_SHIPPING_PROVIDER\";\n ComponentType2[\"ALERT_ENRICHER\"] = \"ALERT_ENRICHER\";\n ComponentType2[\"DATA_EXTENSIONS\"] = \"DATA_EXTENSIONS\";\n ComponentType2[\"GENERIC_HOOKS\"] = \"GENERIC_HOOKS\";\n ComponentType2[\"AUTOMATIONS_ACTION_PROVIDER\"] = \"AUTOMATIONS_ACTION_PROVIDER\";\n ComponentType2[\"ECOM_CATALOG\"] = \"ECOM_CATALOG\";\n ComponentType2[\"BACK_OFFICE_EXTENSION_CONTAINER\"] = \"BACK_OFFICE_EXTENSION_CONTAINER\";\n ComponentType2[\"BACK_OFFICE_EXTENSION\"] = \"BACK_OFFICE_EXTENSION\";\n ComponentType2[\"AUTOMATIONS_TRIGGER_PROVIDER\"] = \"AUTOMATIONS_TRIGGER_PROVIDER\";\n ComponentType2[\"IDENTITY_PRE_REGISTRATION\"] = \"IDENTITY_PRE_REGISTRATION\";\n ComponentType2[\"PREMIUM_PRODUCTS_PATHS\"] = \"PREMIUM_PRODUCTS_PATHS\";\n ComponentType2[\"ECOM_CUSTOM_SCOPE\"] = \"ECOM_CUSTOM_SCOPE\";\n ComponentType2[\"GIFT_CARDS_PROVIDER\"] = \"GIFT_CARDS_PROVIDER\";\n ComponentType2[\"DEALER_EXTERNAL_FILTER_PROVIDER\"] = \"DEALER_EXTERNAL_FILTER_PROVIDER\";\n ComponentType2[\"ECOM_DROPSHIPPING_PROVIDER\"] = \"ECOM_DROPSHIPPING_PROVIDER\";\n ComponentType2[\"INVOICES_PROVIDER\"] = \"INVOICES_PROVIDER\";\n ComponentType2[\"SEO_KEYWORDS_SUGGESTIONS\"] = \"SEO_KEYWORDS_SUGGESTIONS\";\n ComponentType2[\"ECOM_DISCOUNTS_TRIGGER\"] = \"ECOM_DISCOUNTS_TRIGGER\";\n ComponentType2[\"MULTILINGUAL_CONTENT_PROVIDER\"] = \"MULTILINGUAL_CONTENT_PROVIDER\";\n ComponentType2[\"APPLICATION_AUTOMATION\"] = \"APPLICATION_AUTOMATION\";\n ComponentType2[\"BACK_OFFICE_SIDEBAR_CATEGORY\"] = \"BACK_OFFICE_SIDEBAR_CATEGORY\";\n ComponentType2[\"BACK_OFFICE_PAGE\"] = \"BACK_OFFICE_PAGE\";\n ComponentType2[\"ECOM_ADDITIONAL_FEES\"] = \"ECOM_ADDITIONAL_FEES\";\n ComponentType2[\"PING_USER_NOTIFICATION\"] = \"PING_USER_NOTIFICATION\";\n ComponentType2[\"ECOM_RECOMMENDATIONS_PROVIDER\"] = \"ECOM_RECOMMENDATIONS_PROVIDER\";\n ComponentType2[\"BOOKINGS_PRICING_PROVIDER\"] = \"BOOKINGS_PRICING_PROVIDER\";\n ComponentType2[\"IDENTITY_AUTHENTICATOR\"] = \"IDENTITY_AUTHENTICATOR\";\n ComponentType2[\"IDENTITY_IDP_CONNECTOR\"] = \"IDENTITY_IDP_CONNECTOR\";\n ComponentType2[\"ITEMS_SELECTION_PROVIDER\"] = \"ITEMS_SELECTION_PROVIDER\";\n ComponentType2[\"PORTFOLIO_SYNCED_PROJECTS_PROVIDER\"] = \"PORTFOLIO_SYNCED_PROJECTS_PROVIDER\";\n ComponentType2[\"COMMUNICATION_CHANNEL\"] = \"COMMUNICATION_CHANNEL\";\n ComponentType2[\"IDENTITY_POST_LOGIN\"] = \"IDENTITY_POST_LOGIN\";\n ComponentType2[\"BACK_OFFICE_WIDGET\"] = \"BACK_OFFICE_WIDGET\";\n ComponentType2[\"SOCIAL_MARKETING_DESIGN\"] = \"SOCIAL_MARKETING_DESIGN\";\n ComponentType2[\"FORMS_SUBMISSIONS_PROVIDER\"] = \"FORMS_SUBMISSIONS_PROVIDER\";\n ComponentType2[\"WIX_OFFERING\"] = \"WIX_OFFERING\";\n ComponentType2[\"DEV_CENTER_TESTING_COMPONENT\"] = \"DEV_CENTER_TESTING_COMPONENT\";\n ComponentType2[\"COMPONENTS_VALIDATOR_PROVIDER\"] = \"COMPONENTS_VALIDATOR_PROVIDER\";\n ComponentType2[\"COMPONENTS_TRANSLATIONS_ADDITIONAL_FIELDS_PROVIDER\"] = \"COMPONENTS_TRANSLATIONS_ADDITIONAL_FIELDS_PROVIDER\";\n ComponentType2[\"FORMS_SCHEMA_PROVIDER\"] = \"FORMS_SCHEMA_PROVIDER\";\n ComponentType2[\"BOOKINGS_EXTERNAL_CALENDAR_PROVIDER\"] = \"BOOKINGS_EXTERNAL_CALENDAR_PROVIDER\";\n ComponentType2[\"ECOM_DEFAULT_TAXATION_CATEGORY\"] = \"ECOM_DEFAULT_TAXATION_CATEGORY\";\n ComponentType2[\"VIEWER_DYNAMIC_SITE_STRUCTURE_PROVIDER\"] = \"VIEWER_DYNAMIC_SITE_STRUCTURE_PROVIDER\";\n ComponentType2[\"PING_UOU_NOTIFICATION\"] = \"PING_UOU_NOTIFICATION\";\n ComponentType2[\"HEADLESS_OAUTH\"] = \"HEADLESS_OAUTH\";\n ComponentType2[\"ECOM_TAX_CALCULATOR_SPI\"] = \"ECOM_TAX_CALCULATOR_SPI\";\n ComponentType2[\"COMMENTS_MODERATION_PROVIDER\"] = \"COMMENTS_MODERATION_PROVIDER\";\n ComponentType2[\"GRID_APP_FILES_TRANSFORMER\"] = \"GRID_APP_FILES_TRANSFORMER\";\n ComponentType2[\"BENEFIT_PROGRAMS_POLICY_PROVIDER\"] = \"BENEFIT_PROGRAMS_POLICY_PROVIDER\";\n ComponentType2[\"PREMIUM_CUSTOM_CHARGES\"] = \"PREMIUM_CUSTOM_CHARGES\";\n ComponentType2[\"ECOM_VALIDATIONS\"] = \"ECOM_VALIDATIONS\";\n ComponentType2[\"COMPONENT_REFERENCE_DATA_PROVIDER\"] = \"COMPONENT_REFERENCE_DATA_PROVIDER\";\n ComponentType2[\"WIX_REVIEWS_PRODUCT_CATALOG\"] = \"WIX_REVIEWS_PRODUCT_CATALOG\";\n ComponentType2[\"SOCIAL_MARKETING_DESIGNS_PROVIDER\"] = \"SOCIAL_MARKETING_DESIGNS_PROVIDER\";\n ComponentType2[\"GOOGLE_BUSINESS_PROFILE_FEATURE_PROVIDER\"] = \"GOOGLE_BUSINESS_PROFILE_FEATURE_PROVIDER\";\n ComponentType2[\"COMMENTS_FILTER_PROVIDER\"] = \"COMMENTS_FILTER_PROVIDER\";\n ComponentType2[\"BILLING_TAX_ID_VALIDATOR\"] = \"BILLING_TAX_ID_VALIDATOR\";\n ComponentType2[\"PING_SETTINGS_GROUP\"] = \"PING_SETTINGS_GROUP\";\n ComponentType2[\"FORMS_SPAM_SUBMISSIONS_PROVIDER\"] = \"FORMS_SPAM_SUBMISSIONS_PROVIDER\";\n ComponentType2[\"EDITOR_ADDON\"] = \"EDITOR_ADDON\";\n ComponentType2[\"EXTERNAL_DATABASE_PROVIDER\"] = \"EXTERNAL_DATABASE_PROVIDER\";\n ComponentType2[\"ECOM_PAYMENT_SETTINGS\"] = \"ECOM_PAYMENT_SETTINGS\";\n ComponentType2[\"NOTIFICATION_TOPIC\"] = \"NOTIFICATION_TOPIC\";\n ComponentType2[\"NOTIFICATION_PREFERENCES_FILTER_PROVIDER\"] = \"NOTIFICATION_PREFERENCES_FILTER_PROVIDER\";\n ComponentType2[\"BOOKINGS_RESOURCE_TYPES_PROVIDER\"] = \"BOOKINGS_RESOURCE_TYPES_PROVIDER\";\n ComponentType2[\"PRICING_PLANS_FORM_CONFIGURATION\"] = \"PRICING_PLANS_FORM_CONFIGURATION\";\n ComponentType2[\"USER_NOTIFICATION\"] = \"USER_NOTIFICATION\";\n ComponentType2[\"CONTACT_NOTIFICATION\"] = \"CONTACT_NOTIFICATION\";\n ComponentType2[\"UNIFIED_PAGE\"] = \"UNIFIED_PAGE\";\n ComponentType2[\"AVAILABILITY_TIME_SLOTS_CONFIGURATION_PROVIDER\"] = \"AVAILABILITY_TIME_SLOTS_CONFIGURATION_PROVIDER\";\n ComponentType2[\"PROPOSAL_EDITOR_PROVIDER\"] = \"PROPOSAL_EDITOR_PROVIDER\";\n ComponentType2[\"CUSTOM_TABLE_RESERVATIONS_PROVIDER\"] = \"CUSTOM_TABLE_RESERVATIONS_PROVIDER\";\n ComponentType2[\"COMMENTS_CONTEXT_PROVIDER\"] = \"COMMENTS_CONTEXT_PROVIDER\";\n ComponentType2[\"FORMS_SPAM_SUBMISSION_REPORTS_PROVIDER\"] = \"FORMS_SPAM_SUBMISSION_REPORTS_PROVIDER\";\n ComponentType2[\"AUTOMATIONS_VELO_ACTION_PROVIDER\"] = \"AUTOMATIONS_VELO_ACTION_PROVIDER\";\n ComponentType2[\"CALENDAR_EVENT_TYPE_PROVIDER\"] = \"CALENDAR_EVENT_TYPE_PROVIDER\";\n ComponentType2[\"RESERVED\"] = \"RESERVED\";\n ComponentType2[\"SMS_ACTION_MESSAGE\"] = \"SMS_ACTION_MESSAGE\";\n ComponentType2[\"BOOKING_POLICY_PROVIDER\"] = \"BOOKING_POLICY_PROVIDER\";\n ComponentType2[\"MULTI_SERVICE_BOOKING_POLICY_PROVIDER\"] = \"MULTI_SERVICE_BOOKING_POLICY_PROVIDER\";\n ComponentType2[\"AI_ASSISTANT\"] = \"AI_ASSISTANT\";\n ComponentType2[\"FORMS_SUBMISSIONS_EXTENSION_PROVIDER\"] = \"FORMS_SUBMISSIONS_EXTENSION_PROVIDER\";\n ComponentType2[\"MULTILINGUAL_TRANSLATION_SCHEMA\"] = \"MULTILINGUAL_TRANSLATION_SCHEMA\";\n ComponentType2[\"TAX_CALCULATION_PROVIDER\"] = \"TAX_CALCULATION_PROVIDER\";\n ComponentType2[\"TAX_GROUPS_PROVIDER\"] = \"TAX_GROUPS_PROVIDER\";\n ComponentType2[\"BACK_OFFICE_MODAL\"] = \"BACK_OFFICE_MODAL\";\n ComponentType2[\"DEPLOYMENT_PIPELINE_PROVIDER\"] = \"DEPLOYMENT_PIPELINE_PROVIDER\";\n ComponentType2[\"CUSTOM_ELEMENT_WIDGET\"] = \"CUSTOM_ELEMENT_WIDGET\";\n ComponentType2[\"BACK_OFFICE_EXTENSION_WIDGET\"] = \"BACK_OFFICE_EXTENSION_WIDGET\";\n ComponentType2[\"BACK_OFFICE_EXTENSION_MENU_ITEM\"] = \"BACK_OFFICE_EXTENSION_MENU_ITEM\";\n ComponentType2[\"FORM_TEMPLATE\"] = \"FORM_TEMPLATE\";\n ComponentType2[\"NOTIFICATION_CONTENT\"] = \"NOTIFICATION_CONTENT\";\n ComponentType2[\"BROADCAST_LIST\"] = \"BROADCAST_LIST\";\n ComponentType2[\"PARTNERS_PAYOUTS\"] = \"PARTNERS_PAYOUTS\";\n ComponentType2[\"WIX_REVIEWS_ENTITY_CATALOG\"] = \"WIX_REVIEWS_ENTITY_CATALOG\";\n ComponentType2[\"VELO_PUBLISH_PIPELINE_TASK_PROVIDER\"] = \"VELO_PUBLISH_PIPELINE_TASK_PROVIDER\";\n ComponentType2[\"FUNCTIONS_SHOP_PRICE_PROVIDER\"] = \"FUNCTIONS_SHOP_PRICE_PROVIDER\";\n ComponentType2[\"FUNCTION\"] = \"FUNCTION\";\n ComponentType2[\"ECOM_CHECKOUT_CONTENT\"] = \"ECOM_CHECKOUT_CONTENT\";\n ComponentType2[\"COMMUNICATION_CHANNEL_PROVIDER\"] = \"COMMUNICATION_CHANNEL_PROVIDER\";\n ComponentType2[\"WEBHOOK\"] = \"WEBHOOK\";\n ComponentType2[\"TOPOLOGY\"] = \"TOPOLOGY\";\n ComponentType2[\"LOYALTY_CUSTOM_REWARDS\"] = \"LOYALTY_CUSTOM_REWARDS\";\n ComponentType2[\"FUNCTION_RECIPE\"] = \"FUNCTION_RECIPE\";\n ComponentType2[\"BACK_OFFICE_EXTERNAL_URL\"] = \"BACK_OFFICE_EXTERNAL_URL\";\n ComponentType2[\"IDENTITY_FACTOR\"] = \"IDENTITY_FACTOR\";\n ComponentType2[\"ECOM_DISCOUNTS\"] = \"ECOM_DISCOUNTS\";\n ComponentType2[\"VELO_CUSTOM_CSS\"] = \"VELO_CUSTOM_CSS\";\n ComponentType2[\"DEALER_ADAPTIVE_COMPONENT_PROVIDER\"] = \"DEALER_ADAPTIVE_COMPONENT_PROVIDER\";\n ComponentType2[\"AI_ASSISTANT_ACTION\"] = \"AI_ASSISTANT_ACTION\";\n ComponentType2[\"ECOM_INVENTORY\"] = \"ECOM_INVENTORY\";\n ComponentType2[\"MONITORING\"] = \"MONITORING\";\n ComponentType2[\"PAPI_PROVIDER\"] = \"PAPI_PROVIDER\";\n ComponentType2[\"UNIFIED_LIGHTBOX\"] = \"UNIFIED_LIGHTBOX\";\n ComponentType2[\"FORMS_EXTENSION_PROVIDER\"] = \"FORMS_EXTENSION_PROVIDER\";\n ComponentType2[\"MULTILINGUAL_TRANSLATION_SCHEMA_GROUP\"] = \"MULTILINGUAL_TRANSLATION_SCHEMA_GROUP\";\n ComponentType2[\"PANEL\"] = \"PANEL\";\n ComponentType2[\"PREMIUM_PURCHASE_VALIDATIONS\"] = \"PREMIUM_PURCHASE_VALIDATIONS\";\n ComponentType2[\"BROWSER_STORAGE\"] = \"BROWSER_STORAGE\";\n ComponentType2[\"SDK_DEFINITION\"] = \"SDK_DEFINITION\";\n ComponentType2[\"SITE_WIDGET_SLOT\"] = \"SITE_WIDGET_SLOT\";\n ComponentType2[\"CALENDAR_EVENT_VALIDATION_PROVIDER\"] = \"CALENDAR_EVENT_VALIDATION_PROVIDER\";\n ComponentType2[\"CLIENT_SIDE_SERVICE\"] = \"CLIENT_SIDE_SERVICE\";\n ComponentType2[\"BILLING_SETTINGS\"] = \"BILLING_SETTINGS\";\n ComponentType2[\"PATTERNS_WIZARD\"] = \"PATTERNS_WIZARD\";\n ComponentType2[\"APPLICATION_PROFILE\"] = \"APPLICATION_PROFILE\";\n ComponentType2[\"TEXT_TO_SPEECH_ACTION_MESSAGE\"] = \"TEXT_TO_SPEECH_ACTION_MESSAGE\";\n ComponentType2[\"AUDIENCE_PROVIDER\"] = \"AUDIENCE_PROVIDER\";\n ComponentType2[\"PRICING_PLANS_PRICE\"] = \"PRICING_PLANS_PRICE\";\n ComponentType2[\"PRICING_PLAN_START_DATE_LIMITS\"] = \"PRICING_PLAN_START_DATE_LIMITS\";\n ComponentType2[\"PRICING_PLAN_START_DATE_RULES\"] = \"PRICING_PLAN_START_DATE_RULES\";\n ComponentType2[\"EVENTS_TICKET_RESERVATIONS\"] = \"EVENTS_TICKET_RESERVATIONS\";\n ComponentType2[\"PAYMENTS_DISPUTE_SERVICE_PLUGIN\"] = \"PAYMENTS_DISPUTE_SERVICE_PLUGIN\";\n ComponentType2[\"PRICING_PLANS_FEES\"] = \"PRICING_PLANS_FEES\";\n ComponentType2[\"EDITOR_REACT_COMPONENT\"] = \"EDITOR_REACT_COMPONENT\";\n ComponentType2[\"SUPPLIERS_HUB_MARKETPLACE\"] = \"SUPPLIERS_HUB_MARKETPLACE\";\n ComponentType2[\"FORM_SCHEMA_DYNAMIC_VALUES\"] = \"FORM_SCHEMA_DYNAMIC_VALUES\";\n ComponentType2[\"BLOG_PAYWALL_PROVIDER\"] = \"BLOG_PAYWALL_PROVIDER\";\n ComponentType2[\"LOYALTY_CUSTOM_REWARDS_V2\"] = \"LOYALTY_CUSTOM_REWARDS_V2\";\n ComponentType2[\"STORES_PRODUCT_RESTRICTIONS\"] = \"STORES_PRODUCT_RESTRICTIONS\";\n ComponentType2[\"FORM_SUBMISSION_MODERATION\"] = \"FORM_SUBMISSION_MODERATION\";\n ComponentType2[\"EVENTS_EVENT_BADGES\"] = \"EVENTS_EVENT_BADGES\";\n ComponentType2[\"BILLING_OPERATION\"] = \"BILLING_OPERATION\";\n ComponentType2[\"BACK_OFFICE_CUSTOMIZATION\"] = \"BACK_OFFICE_CUSTOMIZATION\";\n ComponentType2[\"COMPONENT_ENRICHER_PROVIDER\"] = \"COMPONENT_ENRICHER_PROVIDER\";\n ComponentType2[\"BACK_OFFICE_RESTRICTED_CUSTOMIZATION\"] = \"BACK_OFFICE_RESTRICTED_CUSTOMIZATION\";\n ComponentType2[\"EDITOR_APP_PREVIEWS_POC\"] = \"EDITOR_APP_PREVIEWS_POC\";\n ComponentType2[\"LEGENDS_PERSONA_CONFIGURATION\"] = \"LEGENDS_PERSONA_CONFIGURATION\";\n ComponentType2[\"WIX_HOSTING_APP_DEPLOYMENT_PROVIDER\"] = \"WIX_HOSTING_APP_DEPLOYMENT_PROVIDER\";\n ComponentType2[\"BACKEND_WORKER\"] = \"BACKEND_WORKER\";\n ComponentType2[\"EVENT_TIME_SLOTS_CONFIGURATION_PROVIDER\"] = \"EVENT_TIME_SLOTS_CONFIGURATION_PROVIDER\";\n ComponentType2[\"WIX_HOSTING_APP_ENVIRONMENT_PROVIDER\"] = \"WIX_HOSTING_APP_ENVIRONMENT_PROVIDER\";\n ComponentType2[\"SDK_EXPORTS\"] = \"SDK_EXPORTS\";\n ComponentType2[\"VIEWER_SERVICE\"] = \"VIEWER_SERVICE\";\n ComponentType2[\"WIX_PAYMENTS_PROVIDER_ACCOUNT_SERVICE_PLUGIN\"] = \"WIX_PAYMENTS_PROVIDER_ACCOUNT_SERVICE_PLUGIN\";\n})(ComponentType || (ComponentType = {}));\nvar WidgetVertical;\n(function(WidgetVertical2) {\n WidgetVertical2[\"NONE_VERTICAL\"] = \"NONE_VERTICAL\";\n WidgetVertical2[\"TOP\"] = \"TOP\";\n WidgetVertical2[\"CENTER_VERTICAL\"] = \"CENTER_VERTICAL\";\n WidgetVertical2[\"BOTTOM\"] = \"BOTTOM\";\n})(WidgetVertical || (WidgetVertical = {}));\nvar WidgetHorizontal;\n(function(WidgetHorizontal2) {\n WidgetHorizontal2[\"NONE_HORIZONTAL\"] = \"NONE_HORIZONTAL\";\n WidgetHorizontal2[\"LEFT\"] = \"LEFT\";\n WidgetHorizontal2[\"CENTER_HORIZONTAL\"] = \"CENTER_HORIZONTAL\";\n WidgetHorizontal2[\"RIGHT\"] = \"RIGHT\";\n})(WidgetHorizontal || (WidgetHorizontal = {}));\nvar WidgetWidthType;\n(function(WidgetWidthType2) {\n WidgetWidthType2[\"NONE_TYPE\"] = \"NONE_TYPE\";\n WidgetWidthType2[\"CUSTOM\"] = \"CUSTOM\";\n WidgetWidthType2[\"FULL\"] = \"FULL\";\n})(WidgetWidthType || (WidgetWidthType = {}));\nvar Region;\n(function(Region2) {\n Region2[\"no_region\"] = \"no_region\";\n Region2[\"header\"] = \"header\";\n Region2[\"pageContainer\"] = \"pageContainer\";\n Region2[\"footer\"] = \"footer\";\n})(Region || (Region = {}));\nvar UnitType;\n(function(UnitType2) {\n UnitType2[\"NO_UNIT\"] = \"NO_UNIT\";\n UnitType2[\"AUTO\"] = \"AUTO\";\n UnitType2[\"PX\"] = \"PX\";\n UnitType2[\"VH\"] = \"VH\";\n UnitType2[\"VW\"] = \"VW\";\n UnitType2[\"PERCENTAGE\"] = \"PERCENTAGE\";\n})(UnitType || (UnitType = {}));\nvar HorizontalDocking;\n(function(HorizontalDocking2) {\n HorizontalDocking2[\"NO_HDOCKING\"] = \"NO_HDOCKING\";\n HorizontalDocking2[\"LEFT_DOCKING\"] = \"LEFT_DOCKING\";\n HorizontalDocking2[\"HCENTER\"] = \"HCENTER\";\n HorizontalDocking2[\"RIGHT_DOCKING\"] = \"RIGHT_DOCKING\";\n})(HorizontalDocking || (HorizontalDocking = {}));\nvar VerticalDocking;\n(function(VerticalDocking2) {\n VerticalDocking2[\"NO_VDOCKING\"] = \"NO_VDOCKING\";\n VerticalDocking2[\"TOP_DOCKING\"] = \"TOP_DOCKING\";\n VerticalDocking2[\"VCENTER\"] = \"VCENTER\";\n VerticalDocking2[\"BOTTOM_DOCKING\"] = \"BOTTOM_DOCKING\";\n})(VerticalDocking || (VerticalDocking = {}));\nvar ReplacementType;\n(function(ReplacementType2) {\n ReplacementType2[\"UNKNOWN_REPLACEMENT\"] = \"UNKNOWN_REPLACEMENT\";\n ReplacementType2[\"REPLACING\"] = \"REPLACING\";\n ReplacementType2[\"REPLACEABLE\"] = \"REPLACEABLE\";\n})(ReplacementType || (ReplacementType = {}));\nvar PluginInterface;\n(function(PluginInterface2) {\n PluginInterface2[\"NONE_INTERFACE\"] = \"NONE_INTERFACE\";\n PluginInterface2[\"REVIEWS\"] = \"REVIEWS\";\n PluginInterface2[\"RATINGS_SUMMARY\"] = \"RATINGS_SUMMARY\";\n PluginInterface2[\"RATINGS_SUMMARY_OOI_LIST\"] = \"RATINGS_SUMMARY_OOI_LIST\";\n PluginInterface2[\"BOOKINGS_SERVICE\"] = \"BOOKINGS_SERVICE\";\n PluginInterface2[\"BOOKINGS_FORM\"] = \"BOOKINGS_FORM\";\n PluginInterface2[\"BASE\"] = \"BASE\";\n PluginInterface2[\"EVENT\"] = \"EVENT\";\n PluginInterface2[\"PRODUCT\"] = \"PRODUCT\";\n PluginInterface2[\"CHECKOUT\"] = \"CHECKOUT\";\n PluginInterface2[\"CATEGORY\"] = \"CATEGORY\";\n PluginInterface2[\"BOOKINGS_CALENDAR\"] = \"BOOKINGS_CALENDAR\";\n PluginInterface2[\"CART\"] = \"CART\";\n})(PluginInterface || (PluginInterface = {}));\nvar ExtensionExposureExposure;\n(function(ExtensionExposureExposure2) {\n ExtensionExposureExposure2[\"PRIVATE\"] = \"PRIVATE\";\n ExtensionExposureExposure2[\"INTERNAL\"] = \"INTERNAL\";\n ExtensionExposureExposure2[\"PUBLIC\"] = \"PUBLIC\";\n})(ExtensionExposureExposure || (ExtensionExposureExposure = {}));\nvar Maturity;\n(function(Maturity2) {\n Maturity2[\"ALPHA\"] = \"ALPHA\";\n Maturity2[\"BETA\"] = \"BETA\";\n Maturity2[\"GA\"] = \"GA\";\n Maturity2[\"NOT_IMPLEMENTED\"] = \"NOT_IMPLEMENTED\";\n})(Maturity || (Maturity = {}));\nvar HTTPMethod;\n(function(HTTPMethod2) {\n HTTPMethod2[\"UNKNOWN_METHOD\"] = \"UNKNOWN_METHOD\";\n HTTPMethod2[\"GET\"] = \"GET\";\n HTTPMethod2[\"POST\"] = \"POST\";\n})(HTTPMethod || (HTTPMethod = {}));\nvar InstallPage;\n(function(InstallPage2) {\n InstallPage2[\"NO_PAGE\"] = \"NO_PAGE\";\n InstallPage2[\"CURRENT\"] = \"CURRENT\";\n InstallPage2[\"PAGE\"] = \"PAGE\";\n InstallPage2[\"LIGHTBOX\"] = \"LIGHTBOX\";\n})(InstallPage || (InstallPage = {}));\nvar RegionType;\n(function(RegionType2) {\n RegionType2[\"HEADER\"] = \"HEADER\";\n RegionType2[\"BODY\"] = \"BODY\";\n RegionType2[\"FOOTER\"] = \"FOOTER\";\n})(RegionType || (RegionType = {}));\nvar StaticContainer;\n(function(StaticContainer2) {\n StaticContainer2[\"UNKNOWN_CONTAINER\"] = \"UNKNOWN_CONTAINER\";\n StaticContainer2[\"HOMEPAGE\"] = \"HOMEPAGE\";\n})(StaticContainer || (StaticContainer = {}));\nvar EmbeddedScriptPages;\n(function(EmbeddedScriptPages2) {\n EmbeddedScriptPages2[\"NONE_PAGES\"] = \"NONE_PAGES\";\n EmbeddedScriptPages2[\"ONCE\"] = \"ONCE\";\n EmbeddedScriptPages2[\"SPECIFIC_PAGES\"] = \"SPECIFIC_PAGES\";\n})(EmbeddedScriptPages || (EmbeddedScriptPages = {}));\nvar EmbeddedScriptPlacement;\n(function(EmbeddedScriptPlacement2) {\n EmbeddedScriptPlacement2[\"NONE_PLACEMENT\"] = \"NONE_PLACEMENT\";\n EmbeddedScriptPlacement2[\"HEAD\"] = \"HEAD\";\n EmbeddedScriptPlacement2[\"BODY_START\"] = \"BODY_START\";\n EmbeddedScriptPlacement2[\"BODY_END\"] = \"BODY_END\";\n})(EmbeddedScriptPlacement || (EmbeddedScriptPlacement = {}));\nvar EmbedCategory;\n(function(EmbedCategory2) {\n EmbedCategory2[\"UNKNOWN\"] = \"UNKNOWN\";\n EmbedCategory2[\"ESSENTIAL\"] = \"ESSENTIAL\";\n EmbedCategory2[\"FUNCTIONAL\"] = \"FUNCTIONAL\";\n EmbedCategory2[\"ANALYTICS\"] = \"ANALYTICS\";\n EmbedCategory2[\"ADVERTISING\"] = \"ADVERTISING\";\n})(EmbedCategory || (EmbedCategory = {}));\nvar TemplateDefaultColor;\n(function(TemplateDefaultColor2) {\n TemplateDefaultColor2[\"BACKGROUND\"] = \"BACKGROUND\";\n TemplateDefaultColor2[\"SECONDARY_TEXTS\"] = \"SECONDARY_TEXTS\";\n TemplateDefaultColor2[\"MAIN_TEXT_AND_ICONS\"] = \"MAIN_TEXT_AND_ICONS\";\n TemplateDefaultColor2[\"BORDERS_AND_DIVIDERS\"] = \"BORDERS_AND_DIVIDERS\";\n TemplateDefaultColor2[\"BUTTONS_AND_LINKS\"] = \"BUTTONS_AND_LINKS\";\n})(TemplateDefaultColor || (TemplateDefaultColor = {}));\nvar ThumbnailsSize;\n(function(ThumbnailsSize2) {\n ThumbnailsSize2[\"SMALL\"] = \"SMALL\";\n ThumbnailsSize2[\"MEDIUM\"] = \"MEDIUM\";\n ThumbnailsSize2[\"LARGE\"] = \"LARGE\";\n ThumbnailsSize2[\"XLARGE\"] = \"XLARGE\";\n})(ThumbnailsSize || (ThumbnailsSize = {}));\nvar BarAlignmentSelected;\n(function(BarAlignmentSelected2) {\n BarAlignmentSelected2[\"ALIGN_LEFT\"] = \"ALIGN_LEFT\";\n BarAlignmentSelected2[\"ALIGN_CENTER\"] = \"ALIGN_CENTER\";\n BarAlignmentSelected2[\"ALIGN_RIGHT\"] = \"ALIGN_RIGHT\";\n})(BarAlignmentSelected || (BarAlignmentSelected = {}));\nvar DefaultTextStyle;\n(function(DefaultTextStyle2) {\n DefaultTextStyle2[\"TITLE\"] = \"TITLE\";\n DefaultTextStyle2[\"PARAGRAPH\"] = \"PARAGRAPH\";\n DefaultTextStyle2[\"LOWER_HIERARCHY_TEXTS\"] = \"LOWER_HIERARCHY_TEXTS\";\n})(DefaultTextStyle || (DefaultTextStyle = {}));\nvar ElementType;\n(function(ElementType2) {\n ElementType2[\"WIDGET\"] = \"WIDGET\";\n ElementType2[\"PAGE\"] = \"PAGE\";\n})(ElementType || (ElementType = {}));\nvar ScriptType;\n(function(ScriptType2) {\n ScriptType2[\"NO_SCRIPT_TYPE\"] = \"NO_SCRIPT_TYPE\";\n ScriptType2[\"MODULE\"] = \"MODULE\";\n})(ScriptType || (ScriptType = {}));\nvar ExtensionType;\n(function(ExtensionType2) {\n ExtensionType2[\"NONE_EXTENSION\"] = \"NONE_EXTENSION\";\n ExtensionType2[\"PAYMENTS_GATEWAY_EXTENSION\"] = \"PAYMENTS_GATEWAY_EXTENSION\";\n ExtensionType2[\"COUPONS_EXTENSION\"] = \"COUPONS_EXTENSION\";\n ExtensionType2[\"DROPSHIPPING_EXTENSION\"] = \"DROPSHIPPING_EXTENSION\";\n ExtensionType2[\"FULFILMENT_EXTENSION\"] = \"FULFILMENT_EXTENSION\";\n ExtensionType2[\"DROPSHIPPING_SUPPLIER_EXTENSION\"] = \"DROPSHIPPING_SUPPLIER_EXTENSION\";\n ExtensionType2[\"FULFILLMENT_CENTER_EXTENSION\"] = \"FULFILLMENT_CENTER_EXTENSION\";\n ExtensionType2[\"RESTAURANTS_POS_EXTENSION\"] = \"RESTAURANTS_POS_EXTENSION\";\n ExtensionType2[\"ART_STORE_EXTENSION\"] = \"ART_STORE_EXTENSION\";\n ExtensionType2[\"ASCEND_AUTOMATION_EXTENSION\"] = \"ASCEND_AUTOMATION_EXTENSION\";\n ExtensionType2[\"CONTACT_LABELS_EXTENSION\"] = \"CONTACT_LABELS_EXTENSION\";\n})(ExtensionType || (ExtensionType = {}));\nvar PrimitiveType;\n(function(PrimitiveType2) {\n PrimitiveType2[\"UNKNOWN_PRIMITIVE_TYPE\"] = \"UNKNOWN_PRIMITIVE_TYPE\";\n PrimitiveType2[\"TEXT\"] = \"TEXT\";\n PrimitiveType2[\"BOOLEAN\"] = \"BOOLEAN\";\n PrimitiveType2[\"NUMBER\"] = \"NUMBER\";\n})(PrimitiveType || (PrimitiveType = {}));\nvar SimpleType;\n(function(SimpleType2) {\n SimpleType2[\"UNKNOWN_SIMPLE_TYPE\"] = \"UNKNOWN_SIMPLE_TYPE\";\n SimpleType2[\"MONEY\"] = \"MONEY\";\n SimpleType2[\"LINK\"] = \"LINK\";\n SimpleType2[\"BACKOFFICE_LINK\"] = \"BACKOFFICE_LINK\";\n SimpleType2[\"LIVESITE_LINK\"] = \"LIVESITE_LINK\";\n SimpleType2[\"MULTILINGUAL\"] = \"MULTILINGUAL\";\n SimpleType2[\"IMAGE_LINK\"] = \"IMAGE_LINK\";\n SimpleType2[\"GUID\"] = \"GUID\";\n SimpleType2[\"EMAIL\"] = \"EMAIL\";\n SimpleType2[\"PHONE\"] = \"PHONE\";\n SimpleType2[\"CONTACT_ID\"] = \"CONTACT_ID\";\n})(SimpleType || (SimpleType = {}));\nvar SchemaFieldExposure;\n(function(SchemaFieldExposure2) {\n SchemaFieldExposure2[\"UNKNOWN_EXPOSURE\"] = \"UNKNOWN_EXPOSURE\";\n SchemaFieldExposure2[\"SETUP\"] = \"SETUP\";\n SchemaFieldExposure2[\"HIDDEN\"] = \"HIDDEN\";\n SchemaFieldExposure2[\"EXPOSED\"] = \"EXPOSED\";\n})(SchemaFieldExposure || (SchemaFieldExposure = {}));\nvar PartialPaymentRestriction;\n(function(PartialPaymentRestriction2) {\n PartialPaymentRestriction2[\"UNDEFINED\"] = \"UNDEFINED\";\n PartialPaymentRestriction2[\"ALLOW\"] = \"ALLOW\";\n PartialPaymentRestriction2[\"DISALLOW\"] = \"DISALLOW\";\n})(PartialPaymentRestriction || (PartialPaymentRestriction = {}));\nvar HostContainerId;\n(function(HostContainerId2) {\n HostContainerId2[\"BUSINESS_MANAGER\"] = \"BUSINESS_MANAGER\";\n HostContainerId2[\"BUSINESS_DASHBOARD_HOST\"] = \"BUSINESS_DASHBOARD_HOST\";\n HostContainerId2[\"SIDEBAR_FOOTER\"] = \"SIDEBAR_FOOTER\";\n})(HostContainerId || (HostContainerId = {}));\nvar MandatoryField;\n(function(MandatoryField2) {\n MandatoryField2[\"ZIPCODE\"] = \"ZIPCODE\";\n MandatoryField2[\"CITY\"] = \"CITY\";\n MandatoryField2[\"STATE\"] = \"STATE\";\n MandatoryField2[\"ADDRESS\"] = \"ADDRESS\";\n MandatoryField2[\"COUNTRY_CODE\"] = \"COUNTRY_CODE\";\n MandatoryField2[\"EMAIL\"] = \"EMAIL\";\n MandatoryField2[\"PHONE\"] = \"PHONE\";\n MandatoryField2[\"FIRST_NAME\"] = \"FIRST_NAME\";\n MandatoryField2[\"LAST_NAME\"] = \"LAST_NAME\";\n MandatoryField2[\"STREET\"] = \"STREET\";\n MandatoryField2[\"HOUSE_NUMBER\"] = \"HOUSE_NUMBER\";\n MandatoryField2[\"TAX_IDENTIFIER\"] = \"TAX_IDENTIFIER\";\n})(MandatoryField || (MandatoryField = {}));\nvar MeasurementSystem;\n(function(MeasurementSystem2) {\n MeasurementSystem2[\"Metric\"] = \"Metric\";\n MeasurementSystem2[\"Imperial\"] = \"Imperial\";\n})(MeasurementSystem || (MeasurementSystem = {}));\nvar Default;\n(function(Default2) {\n Default2[\"WIX\"] = \"WIX\";\n Default2[\"POS\"] = \"POS\";\n})(Default || (Default = {}));\nvar HookType;\n(function(HookType2) {\n HookType2[\"UNDEFINED\"] = \"UNDEFINED\";\n HookType2[\"BEFORE_BLOCKING\"] = \"BEFORE_BLOCKING\";\n HookType2[\"BEFORE\"] = \"BEFORE\";\n HookType2[\"AFTER\"] = \"AFTER\";\n})(HookType || (HookType = {}));\nvar InterfaceConfigurationType;\n(function(InterfaceConfigurationType2) {\n InterfaceConfigurationType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n InterfaceConfigurationType2[\"WIDGET_COMPONENT\"] = \"WIDGET_COMPONENT\";\n InterfaceConfigurationType2[\"GENERIC\"] = \"GENERIC\";\n})(InterfaceConfigurationType || (InterfaceConfigurationType = {}));\nvar SourceType;\n(function(SourceType2) {\n SourceType2[\"UNKNOWN_SOURCE_TYPE\"] = \"UNKNOWN_SOURCE_TYPE\";\n SourceType2[\"DEV_CENTER\"] = \"DEV_CENTER\";\n SourceType2[\"WIX_API\"] = \"WIX_API\";\n})(SourceType || (SourceType = {}));\nvar ExecutionType;\n(function(ExecutionType2) {\n ExecutionType2[\"UNKNOWN_EXECUTION_TYPE\"] = \"UNKNOWN_EXECUTION_TYPE\";\n ExecutionType2[\"SYNC\"] = \"SYNC\";\n ExecutionType2[\"ASYNC\"] = \"ASYNC\";\n})(ExecutionType || (ExecutionType = {}));\nvar ExtendingComponentType;\n(function(ExtendingComponentType2) {\n ExtendingComponentType2[\"INVALID\"] = \"INVALID\";\n ExtendingComponentType2[\"BACK_OFFICE_MENU_ITEM\"] = \"BACK_OFFICE_MENU_ITEM\";\n ExtendingComponentType2[\"BACK_OFFICE_EXTENSION_WIDGET\"] = \"BACK_OFFICE_EXTENSION_WIDGET\";\n})(ExtendingComponentType || (ExtendingComponentType = {}));\nvar BackOfficeHostingPlatforms;\n(function(BackOfficeHostingPlatforms2) {\n BackOfficeHostingPlatforms2[\"NO_HOSTING_PLATFORM\"] = \"NO_HOSTING_PLATFORM\";\n BackOfficeHostingPlatforms2[\"BUSINESS_MANAGER\"] = \"BUSINESS_MANAGER\";\n BackOfficeHostingPlatforms2[\"ACCOUNT_MANAGER\"] = \"ACCOUNT_MANAGER\";\n BackOfficeHostingPlatforms2[\"DEV_CENTER\"] = \"DEV_CENTER\";\n BackOfficeHostingPlatforms2[\"ENTERPRISE\"] = \"ENTERPRISE\";\n BackOfficeHostingPlatforms2[\"PARTNERS_DASHBOARD\"] = \"PARTNERS_DASHBOARD\";\n BackOfficeHostingPlatforms2[\"FINANCIALS_INTERNAL_BO\"] = \"FINANCIALS_INTERNAL_BO\";\n BackOfficeHostingPlatforms2[\"FED_GUILD_POC\"] = \"FED_GUILD_POC\";\n BackOfficeHostingPlatforms2[\"STUDIO_DASHBOARD\"] = \"STUDIO_DASHBOARD\";\n BackOfficeHostingPlatforms2[\"CHANNELS\"] = \"CHANNELS\";\n BackOfficeHostingPlatforms2[\"DATA_TOOLS\"] = \"DATA_TOOLS\";\n BackOfficeHostingPlatforms2[\"PSP_BACKOFFICE\"] = \"PSP_BACKOFFICE\";\n BackOfficeHostingPlatforms2[\"RISE_PLATFORM_ACCOUNT_DASHBOARD\"] = \"RISE_PLATFORM_ACCOUNT_DASHBOARD\";\n BackOfficeHostingPlatforms2[\"DEMO_DASHBOARD_ENTERPRISE\"] = \"DEMO_DASHBOARD_ENTERPRISE\";\n BackOfficeHostingPlatforms2[\"AI_SCHEDULING_ASSISTANT_DASHBOARD\"] = \"AI_SCHEDULING_ASSISTANT_DASHBOARD\";\n BackOfficeHostingPlatforms2[\"GETTING_PAID\"] = \"GETTING_PAID\";\n BackOfficeHostingPlatforms2[\"DATA\"] = \"DATA\";\n BackOfficeHostingPlatforms2[\"LITE_DASHBOARD\"] = \"LITE_DASHBOARD\";\n BackOfficeHostingPlatforms2[\"PICASSO_EDITOR\"] = \"PICASSO_EDITOR\";\n})(BackOfficeHostingPlatforms || (BackOfficeHostingPlatforms = {}));\nvar DtsDefinitionType;\n(function(DtsDefinitionType2) {\n DtsDefinitionType2[\"UNKNOWN\"] = \"UNKNOWN\";\n DtsDefinitionType2[\"DTS_HTTP_LINK\"] = \"DTS_HTTP_LINK\";\n DtsDefinitionType2[\"DTS_CONTENT\"] = \"DTS_CONTENT\";\n})(DtsDefinitionType || (DtsDefinitionType = {}));\nvar SlotDataType;\n(function(SlotDataType2) {\n SlotDataType2[\"UNKNOWN\"] = \"UNKNOWN\";\n SlotDataType2[\"WIDGET\"] = \"WIDGET\";\n SlotDataType2[\"MENU\"] = \"MENU\";\n})(SlotDataType || (SlotDataType = {}));\nvar BackOfficeScriptAssetType;\n(function(BackOfficeScriptAssetType2) {\n BackOfficeScriptAssetType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n BackOfficeScriptAssetType2[\"MODULE\"] = \"MODULE\";\n})(BackOfficeScriptAssetType || (BackOfficeScriptAssetType = {}));\nvar ViewMode;\n(function(ViewMode2) {\n ViewMode2[\"PAGE\"] = \"PAGE\";\n ViewMode2[\"MODAL\"] = \"MODAL\";\n})(ViewMode || (ViewMode = {}));\nvar AlgorithmType;\n(function(AlgorithmType2) {\n AlgorithmType2[\"UNSPECIFIED\"] = \"UNSPECIFIED\";\n AlgorithmType2[\"RELATED_ITEMS\"] = \"RELATED_ITEMS\";\n AlgorithmType2[\"GLOBAL\"] = \"GLOBAL\";\n})(AlgorithmType || (AlgorithmType = {}));\nvar LockableOperation;\n(function(LockableOperation2) {\n LockableOperation2[\"UNSPECIFIED_LOCKABLE\"] = \"UNSPECIFIED_LOCKABLE\";\n LockableOperation2[\"LOCKED\"] = \"LOCKED\";\n LockableOperation2[\"UNLOCKED\"] = \"UNLOCKED\";\n})(LockableOperation || (LockableOperation = {}));\nvar RestrictedOperation;\n(function(RestrictedOperation2) {\n RestrictedOperation2[\"UNSPECIFIED_RESTRICTED\"] = \"UNSPECIFIED_RESTRICTED\";\n RestrictedOperation2[\"ALLOW\"] = \"ALLOW\";\n RestrictedOperation2[\"WARN\"] = \"WARN\";\n})(RestrictedOperation || (RestrictedOperation = {}));\nvar BlockType;\n(function(BlockType2) {\n BlockType2[\"UNKNOWN\"] = \"UNKNOWN\";\n BlockType2[\"OR\"] = \"OR\";\n BlockType2[\"AND\"] = \"AND\";\n})(BlockType || (BlockType = {}));\nvar Domain;\n(function(Domain2) {\n Domain2[\"USER\"] = \"USER\";\n Domain2[\"WIX\"] = \"WIX\";\n})(Domain || (Domain = {}));\nvar Status;\n(function(Status2) {\n Status2[\"ACTIVE\"] = \"ACTIVE\";\n Status2[\"INACTIVE\"] = \"INACTIVE\";\n})(Status || (Status = {}));\nvar TextInputDisplayType;\n(function(TextInputDisplayType2) {\n TextInputDisplayType2[\"TEXT\"] = \"TEXT\";\n TextInputDisplayType2[\"PASSWORD\"] = \"PASSWORD\";\n TextInputDisplayType2[\"CODE\"] = \"CODE\";\n})(TextInputDisplayType || (TextInputDisplayType = {}));\nvar ThumbnailType;\n(function(ThumbnailType2) {\n ThumbnailType2[\"UNKNOWN_THUMBNAIL_TYPE\"] = \"UNKNOWN_THUMBNAIL_TYPE\";\n ThumbnailType2[\"IMAGE\"] = \"IMAGE\";\n ThumbnailType2[\"AVATAR\"] = \"AVATAR\";\n})(ThumbnailType || (ThumbnailType = {}));\nvar ImageShape;\n(function(ImageShape2) {\n ImageShape2[\"UNKNOWN_SHAPE\"] = \"UNKNOWN_SHAPE\";\n ImageShape2[\"CIRCLE\"] = \"CIRCLE\";\n ImageShape2[\"SQUARE\"] = \"SQUARE\";\n ImageShape2[\"RECTANGLE\"] = \"RECTANGLE\";\n})(ImageShape || (ImageShape = {}));\nvar AvatarShape;\n(function(AvatarShape2) {\n AvatarShape2[\"UNKNOWN_SHAPE\"] = \"UNKNOWN_SHAPE\";\n AvatarShape2[\"CIRCLE\"] = \"CIRCLE\";\n AvatarShape2[\"SQUARE\"] = \"SQUARE\";\n})(AvatarShape || (AvatarShape = {}));\nvar Tag;\n(function(Tag2) {\n Tag2[\"UNKNOWN_TAG\"] = \"UNKNOWN_TAG\";\n Tag2[\"EMBEDDABLE\"] = \"EMBEDDABLE\";\n Tag2[\"ECOM_EDIT_ORDER\"] = \"ECOM_EDIT_ORDER\";\n Tag2[\"ECOM_CREATE_ORDER\"] = \"ECOM_CREATE_ORDER\";\n Tag2[\"INBOX\"] = \"INBOX\";\n Tag2[\"ECOM_CREATE_PAY_LINK\"] = \"ECOM_CREATE_PAY_LINK\";\n Tag2[\"ECOM_DELIVERY_PROFILES\"] = \"ECOM_DELIVERY_PROFILES\";\n Tag2[\"ADD_TO_CATEGORY\"] = \"ADD_TO_CATEGORY\";\n Tag2[\"MY_BUSINESS\"] = \"MY_BUSINESS\";\n})(Tag || (Tag = {}));\nvar FilterSelectionType;\n(function(FilterSelectionType2) {\n FilterSelectionType2[\"UNKNOWN_SELECTION\"] = \"UNKNOWN_SELECTION\";\n FilterSelectionType2[\"SINGLE_SELECTION\"] = \"SINGLE_SELECTION\";\n FilterSelectionType2[\"MULTIPLE_SELECTION\"] = \"MULTIPLE_SELECTION\";\n})(FilterSelectionType || (FilterSelectionType = {}));\nvar FilterOptionsType;\n(function(FilterOptionsType2) {\n FilterOptionsType2[\"UNKNOWN_FILTER_OPTIONS\"] = \"UNKNOWN_FILTER_OPTIONS\";\n FilterOptionsType2[\"STATIC\"] = \"STATIC\";\n FilterOptionsType2[\"PROVIDER\"] = \"PROVIDER\";\n})(FilterOptionsType || (FilterOptionsType = {}));\nvar PaginationMode;\n(function(PaginationMode2) {\n PaginationMode2[\"UNKNOWN_PAGINATION_MODE\"] = \"UNKNOWN_PAGINATION_MODE\";\n PaginationMode2[\"CURSOR\"] = \"CURSOR\";\n PaginationMode2[\"OFFSET\"] = \"OFFSET\";\n})(PaginationMode || (PaginationMode = {}));\nvar ChannelType;\n(function(ChannelType2) {\n ChannelType2[\"UNKNOWN_CHANNEL_TYPE\"] = \"UNKNOWN_CHANNEL_TYPE\";\n ChannelType2[\"DIRECT_MESSAGING\"] = \"DIRECT_MESSAGING\";\n ChannelType2[\"EMAIL\"] = \"EMAIL\";\n ChannelType2[\"SMS\"] = \"SMS\";\n})(ChannelType || (ChannelType = {}));\nvar AcceptedDirectMessageType;\n(function(AcceptedDirectMessageType2) {\n AcceptedDirectMessageType2[\"TEXT\"] = \"TEXT\";\n AcceptedDirectMessageType2[\"MEDIA\"] = \"MEDIA\";\n AcceptedDirectMessageType2[\"CARD\"] = \"CARD\";\n AcceptedDirectMessageType2[\"ANNOUNCEMENT\"] = \"ANNOUNCEMENT\";\n AcceptedDirectMessageType2[\"FORM\"] = \"FORM\";\n})(AcceptedDirectMessageType || (AcceptedDirectMessageType = {}));\nvar MediaMimeType;\n(function(MediaMimeType2) {\n MediaMimeType2[\"UNKNOWN_MIME_TYPE\"] = \"UNKNOWN_MIME_TYPE\";\n MediaMimeType2[\"IMAGE_JPEG\"] = \"IMAGE_JPEG\";\n MediaMimeType2[\"IMAGE_PNG\"] = \"IMAGE_PNG\";\n MediaMimeType2[\"IMAGE_WEBP\"] = \"IMAGE_WEBP\";\n MediaMimeType2[\"VIDEO_MPEG\"] = \"VIDEO_MPEG\";\n MediaMimeType2[\"VIDEO_MP4\"] = \"VIDEO_MP4\";\n MediaMimeType2[\"VIDEO_3GP\"] = \"VIDEO_3GP\";\n MediaMimeType2[\"AUDIO_AAC\"] = \"AUDIO_AAC\";\n MediaMimeType2[\"AUDIO_MP4\"] = \"AUDIO_MP4\";\n MediaMimeType2[\"AUDIO_MPEG\"] = \"AUDIO_MPEG\";\n MediaMimeType2[\"AUDIO_OGG\"] = \"AUDIO_OGG\";\n MediaMimeType2[\"AUDIO_OPUS\"] = \"AUDIO_OPUS\";\n MediaMimeType2[\"APPLICATION_PDF\"] = \"APPLICATION_PDF\";\n MediaMimeType2[\"APPLICATION_OCTET_STREAM\"] = \"APPLICATION_OCTET_STREAM\";\n})(MediaMimeType || (MediaMimeType = {}));\nvar AcceptedSmsMessageType;\n(function(AcceptedSmsMessageType2) {\n AcceptedSmsMessageType2[\"SMS\"] = \"SMS\";\n AcceptedSmsMessageType2[\"MMS\"] = \"MMS\";\n})(AcceptedSmsMessageType || (AcceptedSmsMessageType = {}));\nvar InitDirection;\n(function(InitDirection2) {\n InitDirection2[\"UNKNOWN_INIT_DIRECTION\"] = \"UNKNOWN_INIT_DIRECTION\";\n InitDirection2[\"BUSINESS\"] = \"BUSINESS\";\n InitDirection2[\"CUSTOMER\"] = \"CUSTOMER\";\n InitDirection2[\"BOTH\"] = \"BOTH\";\n})(InitDirection || (InitDirection = {}));\nvar NodeType;\n(function(NodeType2) {\n NodeType2[\"PARAGRAPH\"] = \"PARAGRAPH\";\n NodeType2[\"TEXT\"] = \"TEXT\";\n NodeType2[\"HEADING\"] = \"HEADING\";\n NodeType2[\"BULLETED_LIST\"] = \"BULLETED_LIST\";\n NodeType2[\"ORDERED_LIST\"] = \"ORDERED_LIST\";\n NodeType2[\"LIST_ITEM\"] = \"LIST_ITEM\";\n NodeType2[\"BLOCKQUOTE\"] = \"BLOCKQUOTE\";\n NodeType2[\"CODE_BLOCK\"] = \"CODE_BLOCK\";\n NodeType2[\"VIDEO\"] = \"VIDEO\";\n NodeType2[\"DIVIDER\"] = \"DIVIDER\";\n NodeType2[\"FILE\"] = \"FILE\";\n NodeType2[\"GALLERY\"] = \"GALLERY\";\n NodeType2[\"GIF\"] = \"GIF\";\n NodeType2[\"HTML\"] = \"HTML\";\n NodeType2[\"IMAGE\"] = \"IMAGE\";\n NodeType2[\"LINK_PREVIEW\"] = \"LINK_PREVIEW\";\n NodeType2[\"MAP\"] = \"MAP\";\n NodeType2[\"POLL\"] = \"POLL\";\n NodeType2[\"APP_EMBED\"] = \"APP_EMBED\";\n NodeType2[\"BUTTON\"] = \"BUTTON\";\n NodeType2[\"COLLAPSIBLE_LIST\"] = \"COLLAPSIBLE_LIST\";\n NodeType2[\"TABLE\"] = \"TABLE\";\n NodeType2[\"EMBED\"] = \"EMBED\";\n NodeType2[\"COLLAPSIBLE_ITEM\"] = \"COLLAPSIBLE_ITEM\";\n NodeType2[\"COLLAPSIBLE_ITEM_TITLE\"] = \"COLLAPSIBLE_ITEM_TITLE\";\n NodeType2[\"COLLAPSIBLE_ITEM_BODY\"] = \"COLLAPSIBLE_ITEM_BODY\";\n NodeType2[\"TABLE_CELL\"] = \"TABLE_CELL\";\n NodeType2[\"TABLE_ROW\"] = \"TABLE_ROW\";\n NodeType2[\"EXTERNAL\"] = \"EXTERNAL\";\n NodeType2[\"AUDIO\"] = \"AUDIO\";\n NodeType2[\"CAPTION\"] = \"CAPTION\";\n NodeType2[\"LAYOUT\"] = \"LAYOUT\";\n NodeType2[\"LAYOUT_CELL\"] = \"LAYOUT_CELL\";\n})(NodeType || (NodeType = {}));\nvar WidthType;\n(function(WidthType2) {\n WidthType2[\"CONTENT\"] = \"CONTENT\";\n WidthType2[\"SMALL\"] = \"SMALL\";\n WidthType2[\"ORIGINAL\"] = \"ORIGINAL\";\n WidthType2[\"FULL_WIDTH\"] = \"FULL_WIDTH\";\n})(WidthType || (WidthType = {}));\nvar PluginContainerDataAlignment;\n(function(PluginContainerDataAlignment2) {\n PluginContainerDataAlignment2[\"CENTER\"] = \"CENTER\";\n PluginContainerDataAlignment2[\"LEFT\"] = \"LEFT\";\n PluginContainerDataAlignment2[\"RIGHT\"] = \"RIGHT\";\n})(PluginContainerDataAlignment || (PluginContainerDataAlignment = {}));\nvar ButtonDataType;\n(function(ButtonDataType2) {\n ButtonDataType2[\"LINK\"] = \"LINK\";\n ButtonDataType2[\"ACTION\"] = \"ACTION\";\n})(ButtonDataType || (ButtonDataType = {}));\nvar LinkTarget;\n(function(LinkTarget2) {\n LinkTarget2[\"SELF\"] = \"SELF\";\n LinkTarget2[\"BLANK\"] = \"BLANK\";\n LinkTarget2[\"PARENT\"] = \"PARENT\";\n LinkTarget2[\"TOP\"] = \"TOP\";\n})(LinkTarget || (LinkTarget = {}));\nvar TextAlignment;\n(function(TextAlignment2) {\n TextAlignment2[\"AUTO\"] = \"AUTO\";\n TextAlignment2[\"LEFT\"] = \"LEFT\";\n TextAlignment2[\"RIGHT\"] = \"RIGHT\";\n TextAlignment2[\"CENTER\"] = \"CENTER\";\n TextAlignment2[\"JUSTIFY\"] = \"JUSTIFY\";\n})(TextAlignment || (TextAlignment = {}));\nvar LineStyle;\n(function(LineStyle2) {\n LineStyle2[\"SINGLE\"] = \"SINGLE\";\n LineStyle2[\"DOUBLE\"] = \"DOUBLE\";\n LineStyle2[\"DASHED\"] = \"DASHED\";\n LineStyle2[\"DOTTED\"] = \"DOTTED\";\n})(LineStyle || (LineStyle = {}));\nvar DividerDataWidth;\n(function(DividerDataWidth2) {\n DividerDataWidth2[\"LARGE\"] = \"LARGE\";\n DividerDataWidth2[\"MEDIUM\"] = \"MEDIUM\";\n DividerDataWidth2[\"SMALL\"] = \"SMALL\";\n})(DividerDataWidth || (DividerDataWidth = {}));\nvar Alignment;\n(function(Alignment2) {\n Alignment2[\"CENTER\"] = \"CENTER\";\n Alignment2[\"LEFT\"] = \"LEFT\";\n Alignment2[\"RIGHT\"] = \"RIGHT\";\n})(Alignment || (Alignment = {}));\nvar PDFSettingsViewMode;\n(function(PDFSettingsViewMode2) {\n PDFSettingsViewMode2[\"NONE\"] = \"NONE\";\n PDFSettingsViewMode2[\"FULL\"] = \"FULL\";\n PDFSettingsViewMode2[\"MINI\"] = \"MINI\";\n})(PDFSettingsViewMode || (PDFSettingsViewMode = {}));\nvar LayoutType;\n(function(LayoutType2) {\n LayoutType2[\"COLLAGE\"] = \"COLLAGE\";\n LayoutType2[\"MASONRY\"] = \"MASONRY\";\n LayoutType2[\"GRID\"] = \"GRID\";\n LayoutType2[\"THUMBNAIL\"] = \"THUMBNAIL\";\n LayoutType2[\"SLIDER\"] = \"SLIDER\";\n LayoutType2[\"SLIDESHOW\"] = \"SLIDESHOW\";\n LayoutType2[\"PANORAMA\"] = \"PANORAMA\";\n LayoutType2[\"COLUMN\"] = \"COLUMN\";\n LayoutType2[\"MAGIC\"] = \"MAGIC\";\n LayoutType2[\"FULLSIZE\"] = \"FULLSIZE\";\n})(LayoutType || (LayoutType = {}));\nvar Orientation;\n(function(Orientation2) {\n Orientation2[\"ROWS\"] = \"ROWS\";\n Orientation2[\"COLUMNS\"] = \"COLUMNS\";\n})(Orientation || (Orientation = {}));\nvar Crop;\n(function(Crop2) {\n Crop2[\"FILL\"] = \"FILL\";\n Crop2[\"FIT\"] = \"FIT\";\n})(Crop || (Crop = {}));\nvar ThumbnailsAlignment;\n(function(ThumbnailsAlignment2) {\n ThumbnailsAlignment2[\"TOP\"] = \"TOP\";\n ThumbnailsAlignment2[\"RIGHT\"] = \"RIGHT\";\n ThumbnailsAlignment2[\"BOTTOM\"] = \"BOTTOM\";\n ThumbnailsAlignment2[\"LEFT\"] = \"LEFT\";\n ThumbnailsAlignment2[\"NONE\"] = \"NONE\";\n})(ThumbnailsAlignment || (ThumbnailsAlignment = {}));\nvar GIFType;\n(function(GIFType2) {\n GIFType2[\"NORMAL\"] = \"NORMAL\";\n GIFType2[\"STICKER\"] = \"STICKER\";\n})(GIFType || (GIFType = {}));\nvar Source;\n(function(Source2) {\n Source2[\"HTML\"] = \"HTML\";\n Source2[\"ADSENSE\"] = \"ADSENSE\";\n})(Source || (Source = {}));\nvar StylesPosition;\n(function(StylesPosition2) {\n StylesPosition2[\"START\"] = \"START\";\n StylesPosition2[\"END\"] = \"END\";\n StylesPosition2[\"TOP\"] = \"TOP\";\n StylesPosition2[\"HIDDEN\"] = \"HIDDEN\";\n})(StylesPosition || (StylesPosition = {}));\nvar MapType;\n(function(MapType2) {\n MapType2[\"ROADMAP\"] = \"ROADMAP\";\n MapType2[\"SATELITE\"] = \"SATELITE\";\n MapType2[\"HYBRID\"] = \"HYBRID\";\n MapType2[\"TERRAIN\"] = \"TERRAIN\";\n})(MapType || (MapType = {}));\nvar ViewRole;\n(function(ViewRole2) {\n ViewRole2[\"CREATOR\"] = \"CREATOR\";\n ViewRole2[\"VOTERS\"] = \"VOTERS\";\n ViewRole2[\"EVERYONE\"] = \"EVERYONE\";\n})(ViewRole || (ViewRole = {}));\nvar VoteRole;\n(function(VoteRole2) {\n VoteRole2[\"SITE_MEMBERS\"] = \"SITE_MEMBERS\";\n VoteRole2[\"ALL\"] = \"ALL\";\n})(VoteRole || (VoteRole = {}));\nvar PollLayoutType;\n(function(PollLayoutType2) {\n PollLayoutType2[\"LIST\"] = \"LIST\";\n PollLayoutType2[\"GRID\"] = \"GRID\";\n})(PollLayoutType || (PollLayoutType = {}));\nvar PollLayoutDirection;\n(function(PollLayoutDirection2) {\n PollLayoutDirection2[\"LTR\"] = \"LTR\";\n PollLayoutDirection2[\"RTL\"] = \"RTL\";\n})(PollLayoutDirection || (PollLayoutDirection = {}));\nvar BackgroundType;\n(function(BackgroundType2) {\n BackgroundType2[\"COLOR\"] = \"COLOR\";\n BackgroundType2[\"IMAGE\"] = \"IMAGE\";\n BackgroundType2[\"GRADIENT\"] = \"GRADIENT\";\n})(BackgroundType || (BackgroundType = {}));\nvar DecorationType;\n(function(DecorationType2) {\n DecorationType2[\"BOLD\"] = \"BOLD\";\n DecorationType2[\"ITALIC\"] = \"ITALIC\";\n DecorationType2[\"UNDERLINE\"] = \"UNDERLINE\";\n DecorationType2[\"SPOILER\"] = \"SPOILER\";\n DecorationType2[\"ANCHOR\"] = \"ANCHOR\";\n DecorationType2[\"MENTION\"] = \"MENTION\";\n DecorationType2[\"LINK\"] = \"LINK\";\n DecorationType2[\"COLOR\"] = \"COLOR\";\n DecorationType2[\"FONT_SIZE\"] = \"FONT_SIZE\";\n DecorationType2[\"EXTERNAL\"] = \"EXTERNAL\";\n DecorationType2[\"STRIKETHROUGH\"] = \"STRIKETHROUGH\";\n DecorationType2[\"SUPERSCRIPT\"] = \"SUPERSCRIPT\";\n DecorationType2[\"SUBSCRIPT\"] = \"SUBSCRIPT\";\n})(DecorationType || (DecorationType = {}));\nvar FontType;\n(function(FontType2) {\n FontType2[\"PX\"] = \"PX\";\n FontType2[\"EM\"] = \"EM\";\n})(FontType || (FontType = {}));\nvar AppType;\n(function(AppType2) {\n AppType2[\"PRODUCT\"] = \"PRODUCT\";\n AppType2[\"EVENT\"] = \"EVENT\";\n AppType2[\"BOOKING\"] = \"BOOKING\";\n})(AppType || (AppType = {}));\nvar InitialExpandedItems;\n(function(InitialExpandedItems2) {\n InitialExpandedItems2[\"FIRST\"] = \"FIRST\";\n InitialExpandedItems2[\"ALL\"] = \"ALL\";\n InitialExpandedItems2[\"NONE\"] = \"NONE\";\n})(InitialExpandedItems || (InitialExpandedItems = {}));\nvar Direction;\n(function(Direction2) {\n Direction2[\"LTR\"] = \"LTR\";\n Direction2[\"RTL\"] = \"RTL\";\n})(Direction || (Direction = {}));\nvar VerticalAlignment;\n(function(VerticalAlignment2) {\n VerticalAlignment2[\"TOP\"] = \"TOP\";\n VerticalAlignment2[\"MIDDLE\"] = \"MIDDLE\";\n VerticalAlignment2[\"BOTTOM\"] = \"BOTTOM\";\n})(VerticalAlignment || (VerticalAlignment = {}));\nvar NullValue;\n(function(NullValue2) {\n NullValue2[\"NULL_VALUE\"] = \"NULL_VALUE\";\n})(NullValue || (NullValue = {}));\nvar CalendarType;\n(function(CalendarType2) {\n CalendarType2[\"UNDEFINED\"] = \"UNDEFINED\";\n CalendarType2[\"GOOGLE\"] = \"GOOGLE\";\n CalendarType2[\"I_CAL\"] = \"I_CAL\";\n CalendarType2[\"MICROSOFT\"] = \"MICROSOFT\";\n CalendarType2[\"OTHER\"] = \"OTHER\";\n})(CalendarType || (CalendarType = {}));\nvar ConnectMethod;\n(function(ConnectMethod2) {\n ConnectMethod2[\"OAUTH\"] = \"OAUTH\";\n ConnectMethod2[\"CREDENTIALS\"] = \"CREDENTIALS\";\n})(ConnectMethod || (ConnectMethod = {}));\nvar ListEventFromCalendars;\n(function(ListEventFromCalendars2) {\n ListEventFromCalendars2[\"LIST_NOT_SUPPORTED\"] = \"LIST_NOT_SUPPORTED\";\n ListEventFromCalendars2[\"LIST_FROM_PRIMARY_CALENDAR_ONLY\"] = \"LIST_FROM_PRIMARY_CALENDAR_ONLY\";\n ListEventFromCalendars2[\"LIST_FROM_SPECIFIC_CALENDARS\"] = \"LIST_FROM_SPECIFIC_CALENDARS\";\n})(ListEventFromCalendars || (ListEventFromCalendars = {}));\nvar SyncToCalendar;\n(function(SyncToCalendar2) {\n SyncToCalendar2[\"SYNC_NOT_SUPPORTED\"] = \"SYNC_NOT_SUPPORTED\";\n SyncToCalendar2[\"SYNC_TO_PRIMARY_CALENDAR_ONLY\"] = \"SYNC_TO_PRIMARY_CALENDAR_ONLY\";\n SyncToCalendar2[\"SYNC_TO_DEDICATED_CALENDAR\"] = \"SYNC_TO_DEDICATED_CALENDAR\";\n})(SyncToCalendar || (SyncToCalendar = {}));\nvar OAuthAppType;\n(function(OAuthAppType2) {\n OAuthAppType2[\"OAUTH_APP_TYPE_UNSPECIFIED\"] = \"OAUTH_APP_TYPE_UNSPECIFIED\";\n OAuthAppType2[\"WEB_APP\"] = \"WEB_APP\";\n OAuthAppType2[\"MOBILE\"] = \"MOBILE\";\n OAuthAppType2[\"OTHER\"] = \"OTHER\";\n})(OAuthAppType || (OAuthAppType = {}));\nvar OAuthTechnologies;\n(function(OAuthTechnologies2) {\n OAuthTechnologies2[\"OAUTH_TECHNOLOGY_UNSPECIFIED\"] = \"OAUTH_TECHNOLOGY_UNSPECIFIED\";\n OAuthTechnologies2[\"JAVASCRIPT\"] = \"JAVASCRIPT\";\n OAuthTechnologies2[\"ANGULAR\"] = \"ANGULAR\";\n OAuthTechnologies2[\"VUE\"] = \"VUE\";\n OAuthTechnologies2[\"REACT\"] = \"REACT\";\n OAuthTechnologies2[\"REACT_NATIVE\"] = \"REACT_NATIVE\";\n OAuthTechnologies2[\"IOS\"] = \"IOS\";\n OAuthTechnologies2[\"ANDROID\"] = \"ANDROID\";\n OAuthTechnologies2[\"OTHER_TECHNOLOGY\"] = \"OTHER_TECHNOLOGY\";\n})(OAuthTechnologies || (OAuthTechnologies = {}));\nvar NavigationType;\n(function(NavigationType2) {\n NavigationType2[\"NAVIGATE\"] = \"NAVIGATE\";\n NavigationType2[\"MODAL\"] = \"MODAL\";\n})(NavigationType || (NavigationType = {}));\nvar PingSettingsGroupComponentDataState;\n(function(PingSettingsGroupComponentDataState2) {\n PingSettingsGroupComponentDataState2[\"UNKNOWN_STATE\"] = \"UNKNOWN_STATE\";\n PingSettingsGroupComponentDataState2[\"DEFAULT_ON\"] = \"DEFAULT_ON\";\n PingSettingsGroupComponentDataState2[\"DEFAULT_OFF\"] = \"DEFAULT_OFF\";\n PingSettingsGroupComponentDataState2[\"ALWAYS_ON\"] = \"ALWAYS_ON\";\n})(PingSettingsGroupComponentDataState || (PingSettingsGroupComponentDataState = {}));\nvar State;\n(function(State2) {\n State2[\"UNKNOWN_STATE\"] = \"UNKNOWN_STATE\";\n State2[\"DEFAULT_ON\"] = \"DEFAULT_ON\";\n State2[\"DEFAULT_OFF\"] = \"DEFAULT_OFF\";\n State2[\"ALWAYS_ON\"] = \"ALWAYS_ON\";\n})(State || (State = {}));\nvar NotificationTopicType;\n(function(NotificationTopicType2) {\n NotificationTopicType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n NotificationTopicType2[\"PROMOTIONAL\"] = \"PROMOTIONAL\";\n NotificationTopicType2[\"TRANSACTIONAL\"] = \"TRANSACTIONAL\";\n})(NotificationTopicType || (NotificationTopicType = {}));\nvar RecipientType;\n(function(RecipientType2) {\n RecipientType2[\"UNKNOWN_RECIPIENT_TYPE\"] = \"UNKNOWN_RECIPIENT_TYPE\";\n RecipientType2[\"WIX_USER\"] = \"WIX_USER\";\n RecipientType2[\"CONTACT\"] = \"CONTACT\";\n})(RecipientType || (RecipientType = {}));\nvar PlanFormPricingOption;\n(function(PlanFormPricingOption2) {\n PlanFormPricingOption2[\"UNKNOWN_OPTION\"] = \"UNKNOWN_OPTION\";\n PlanFormPricingOption2[\"FREE\"] = \"FREE\";\n PlanFormPricingOption2[\"ONE_TIME\"] = \"ONE_TIME\";\n PlanFormPricingOption2[\"RECURRING\"] = \"RECURRING\";\n})(PlanFormPricingOption || (PlanFormPricingOption = {}));\nvar PlanFormDefaultSection;\n(function(PlanFormDefaultSection2) {\n PlanFormDefaultSection2[\"UNKNWON_PLAN_FORM_SECTION\"] = \"UNKNWON_PLAN_FORM_SECTION\";\n PlanFormDefaultSection2[\"INFO\"] = \"INFO\";\n PlanFormDefaultSection2[\"BENEFITS\"] = \"BENEFITS\";\n PlanFormDefaultSection2[\"PAGE_PERMISSIONS\"] = \"PAGE_PERMISSIONS\";\n PlanFormDefaultSection2[\"PRICING_AND_DURATION\"] = \"PRICING_AND_DURATION\";\n PlanFormDefaultSection2[\"ADVANCED_SETTINGS\"] = \"ADVANCED_SETTINGS\";\n})(PlanFormDefaultSection || (PlanFormDefaultSection = {}));\nvar PlanPeriodUnit;\n(function(PlanPeriodUnit2) {\n PlanPeriodUnit2[\"UNDEFINED\"] = \"UNDEFINED\";\n PlanPeriodUnit2[\"DAY\"] = \"DAY\";\n PlanPeriodUnit2[\"WEEK\"] = \"WEEK\";\n PlanPeriodUnit2[\"MONTH\"] = \"MONTH\";\n PlanPeriodUnit2[\"YEAR\"] = \"YEAR\";\n})(PlanPeriodUnit || (PlanPeriodUnit = {}));\nvar TypedDynamicParamType;\n(function(TypedDynamicParamType2) {\n TypedDynamicParamType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n TypedDynamicParamType2[\"STRING\"] = \"STRING\";\n TypedDynamicParamType2[\"ARRAY\"] = \"ARRAY\";\n})(TypedDynamicParamType || (TypedDynamicParamType = {}));\nvar UserNotificationDataRecipientFilterType;\n(function(UserNotificationDataRecipientFilterType2) {\n UserNotificationDataRecipientFilterType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n UserNotificationDataRecipientFilterType2[\"WIX_USERS\"] = \"WIX_USERS\";\n UserNotificationDataRecipientFilterType2[\"SITE_CONTRIBUTORS\"] = \"SITE_CONTRIBUTORS\";\n})(UserNotificationDataRecipientFilterType || (UserNotificationDataRecipientFilterType = {}));\nvar InitiatorType;\n(function(InitiatorType2) {\n InitiatorType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n InitiatorType2[\"WIX_USER\"] = \"WIX_USER\";\n InitiatorType2[\"WIX_APP\"] = \"WIX_APP\";\n})(InitiatorType || (InitiatorType = {}));\nvar Level;\n(function(Level2) {\n Level2[\"UNKNOWN_LEVEL\"] = \"UNKNOWN_LEVEL\";\n Level2[\"ACCOUNT\"] = \"ACCOUNT\";\n Level2[\"USER\"] = \"USER\";\n Level2[\"SITE\"] = \"SITE\";\n})(Level || (Level = {}));\nvar IconType;\n(function(IconType2) {\n IconType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n IconType2[\"URL\"] = \"URL\";\n IconType2[\"SPOUT\"] = \"SPOUT\";\n IconType2[\"INITIATOR\"] = \"INITIATOR\";\n})(IconType || (IconType = {}));\nvar MobileApplication;\n(function(MobileApplication2) {\n MobileApplication2[\"UNKNOWN_MOBILE_APPLICATION\"] = \"UNKNOWN_MOBILE_APPLICATION\";\n MobileApplication2[\"OWNER\"] = \"OWNER\";\n MobileApplication2[\"SPACES\"] = \"SPACES\";\n MobileApplication2[\"DINE\"] = \"DINE\";\n MobileApplication2[\"FITNESS\"] = \"FITNESS\";\n MobileApplication2[\"WIX_LIFE\"] = \"WIX_LIFE\";\n MobileApplication2[\"WIX_PARTNERS\"] = \"WIX_PARTNERS\";\n MobileApplication2[\"BRANDED\"] = \"BRANDED\";\n MobileApplication2[\"WIX_STUDIO\"] = \"WIX_STUDIO\";\n MobileApplication2[\"NO_SPECIFIC_TARGET_APP\"] = \"NO_SPECIFIC_TARGET_APP\";\n})(MobileApplication || (MobileApplication = {}));\nvar AndroidStyle;\n(function(AndroidStyle2) {\n AndroidStyle2[\"UNKNOWN_ANDROID_STYLE\"] = \"UNKNOWN_ANDROID_STYLE\";\n AndroidStyle2[\"BIG_TEXT\"] = \"BIG_TEXT\";\n AndroidStyle2[\"MESSAGING\"] = \"MESSAGING\";\n AndroidStyle2[\"INBOX\"] = \"INBOX\";\n})(AndroidStyle || (AndroidStyle = {}));\nvar ExposureRuleType;\n(function(ExposureRuleType2) {\n ExposureRuleType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n ExposureRuleType2[\"OPEN_TO_ALL\"] = \"OPEN_TO_ALL\";\n ExposureRuleType2[\"OPEN_TO_NONE\"] = \"OPEN_TO_NONE\";\n ExposureRuleType2[\"BOOLEAN_EXPERIMENT\"] = \"BOOLEAN_EXPERIMENT\";\n ExposureRuleType2[\"CUSTOM_EXPERIMENT\"] = \"CUSTOM_EXPERIMENT\";\n})(ExposureRuleType || (ExposureRuleType = {}));\nvar Intent;\n(function(Intent2) {\n Intent2[\"UNKNOWN_INTENT\"] = \"UNKNOWN_INTENT\";\n Intent2[\"MARKETING\"] = \"MARKETING\";\n Intent2[\"TRANSACTIONAL\"] = \"TRANSACTIONAL\";\n})(Intent || (Intent = {}));\nvar UserNotificationDataType;\n(function(UserNotificationDataType2) {\n UserNotificationDataType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n UserNotificationDataType2[\"REGULAR\"] = \"REGULAR\";\n UserNotificationDataType2[\"ALERT_WARNING\"] = \"ALERT_WARNING\";\n UserNotificationDataType2[\"ALERT_INFO\"] = \"ALERT_INFO\";\n})(UserNotificationDataType || (UserNotificationDataType = {}));\nvar RecipientFilterType;\n(function(RecipientFilterType2) {\n RecipientFilterType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n RecipientFilterType2[\"CONTACTS\"] = \"CONTACTS\";\n})(RecipientFilterType || (RecipientFilterType = {}));\nvar Type;\n(function(Type2) {\n Type2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n Type2[\"CONTACT\"] = \"CONTACT\";\n Type2[\"SITE_MEMBER\"] = \"SITE_MEMBER\";\n})(Type || (Type = {}));\nvar Environment;\n(function(Environment2) {\n Environment2[\"LIVE_SITE\"] = \"LIVE_SITE\";\n Environment2[\"BUSINESS_MANAGER\"] = \"BUSINESS_MANAGER\";\n})(Environment || (Environment = {}));\nvar SchemaScope;\n(function(SchemaScope2) {\n SchemaScope2[\"UNKNOWN_SCOPE\"] = \"UNKNOWN_SCOPE\";\n SchemaScope2[\"GLOBAL\"] = \"GLOBAL\";\n SchemaScope2[\"SITE\"] = \"SITE\";\n})(SchemaScope || (SchemaScope = {}));\nvar FieldType;\n(function(FieldType2) {\n FieldType2[\"UNDEFINED_TYPE\"] = \"UNDEFINED_TYPE\";\n FieldType2[\"SHORT_TEXT\"] = \"SHORT_TEXT\";\n FieldType2[\"LONG_TEXT\"] = \"LONG_TEXT\";\n FieldType2[\"HTML\"] = \"HTML\";\n FieldType2[\"RICH_CONTENT\"] = \"RICH_CONTENT\";\n FieldType2[\"IMAGE\"] = \"IMAGE\";\n FieldType2[\"IMAGE_LINK\"] = \"IMAGE_LINK\";\n FieldType2[\"JSON\"] = \"JSON\";\n FieldType2[\"VIDEO\"] = \"VIDEO\";\n FieldType2[\"DOCUMENT\"] = \"DOCUMENT\";\n})(FieldType || (FieldType = {}));\nvar CustomElementScriptType;\n(function(CustomElementScriptType2) {\n CustomElementScriptType2[\"NONE\"] = \"NONE\";\n CustomElementScriptType2[\"COMMON_JS\"] = \"COMMON_JS\";\n CustomElementScriptType2[\"ES_MODULE\"] = \"ES_MODULE\";\n})(CustomElementScriptType || (CustomElementScriptType = {}));\nvar HeightMode;\n(function(HeightMode2) {\n HeightMode2[\"UNKNOWN\"] = \"UNKNOWN\";\n HeightMode2[\"AUTO\"] = \"AUTO\";\n HeightMode2[\"FIXED\"] = \"FIXED\";\n})(HeightMode || (HeightMode = {}));\nvar FieldFieldType;\n(function(FieldFieldType2) {\n FieldFieldType2[\"UNKNOWN_FIELD_TYPE\"] = \"UNKNOWN_FIELD_TYPE\";\n FieldFieldType2[\"INPUT\"] = \"INPUT\";\n FieldFieldType2[\"DISPLAY\"] = \"DISPLAY\";\n})(FieldFieldType || (FieldFieldType = {}));\nvar Format;\n(function(Format2) {\n Format2[\"UNKNOWN_FORMAT\"] = \"UNKNOWN_FORMAT\";\n Format2[\"DATE\"] = \"DATE\";\n Format2[\"TIME\"] = \"TIME\";\n Format2[\"DATE_TIME\"] = \"DATE_TIME\";\n Format2[\"EMAIL\"] = \"EMAIL\";\n Format2[\"URL\"] = \"URL\";\n Format2[\"UUID\"] = \"UUID\";\n Format2[\"PHONE\"] = \"PHONE\";\n Format2[\"URI\"] = \"URI\";\n Format2[\"HOSTNAME\"] = \"HOSTNAME\";\n Format2[\"COLOR_HEX\"] = \"COLOR_HEX\";\n Format2[\"CURRENCY\"] = \"CURRENCY\";\n Format2[\"LANGUAGE\"] = \"LANGUAGE\";\n Format2[\"DATE_OPTIONAL_TIME\"] = \"DATE_OPTIONAL_TIME\";\n})(Format || (Format = {}));\nvar StringComponentType;\n(function(StringComponentType2) {\n StringComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n StringComponentType2[\"TEXT_INPUT\"] = \"TEXT_INPUT\";\n StringComponentType2[\"RADIO_GROUP\"] = \"RADIO_GROUP\";\n StringComponentType2[\"DROPDOWN\"] = \"DROPDOWN\";\n StringComponentType2[\"DATE_TIME\"] = \"DATE_TIME\";\n StringComponentType2[\"PHONE_INPUT\"] = \"PHONE_INPUT\";\n StringComponentType2[\"DATE_INPUT\"] = \"DATE_INPUT\";\n StringComponentType2[\"TIME_INPUT\"] = \"TIME_INPUT\";\n StringComponentType2[\"DATE_PICKER\"] = \"DATE_PICKER\";\n})(StringComponentType || (StringComponentType = {}));\nvar NumberOfColumns;\n(function(NumberOfColumns2) {\n NumberOfColumns2[\"UNKNOWN\"] = \"UNKNOWN\";\n NumberOfColumns2[\"ZERO\"] = \"ZERO\";\n NumberOfColumns2[\"ONE\"] = \"ONE\";\n NumberOfColumns2[\"TWO\"] = \"TWO\";\n NumberOfColumns2[\"THREE\"] = \"THREE\";\n})(NumberOfColumns || (NumberOfColumns = {}));\nvar FirstDayOfWeek;\n(function(FirstDayOfWeek2) {\n FirstDayOfWeek2[\"MONDAY\"] = \"MONDAY\";\n FirstDayOfWeek2[\"SUNDAY\"] = \"SUNDAY\";\n})(FirstDayOfWeek || (FirstDayOfWeek = {}));\nvar NumberComponentType;\n(function(NumberComponentType2) {\n NumberComponentType2[\"UNKNOWN\"] = \"UNKNOWN\";\n NumberComponentType2[\"NUMBER_INPUT\"] = \"NUMBER_INPUT\";\n NumberComponentType2[\"RATING_INPUT\"] = \"RATING_INPUT\";\n})(NumberComponentType || (NumberComponentType = {}));\nvar BooleanComponentType;\n(function(BooleanComponentType2) {\n BooleanComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n BooleanComponentType2[\"CHECKBOX\"] = \"CHECKBOX\";\n})(BooleanComponentType || (BooleanComponentType = {}));\nvar ItemType;\n(function(ItemType2) {\n ItemType2[\"UNKNOWN_ITEM_TYPE\"] = \"UNKNOWN_ITEM_TYPE\";\n ItemType2[\"STRING\"] = \"STRING\";\n ItemType2[\"NUMBER\"] = \"NUMBER\";\n ItemType2[\"BOOLEAN\"] = \"BOOLEAN\";\n ItemType2[\"INTEGER\"] = \"INTEGER\";\n ItemType2[\"OBJECT\"] = \"OBJECT\";\n})(ItemType || (ItemType = {}));\nvar PropertiesTypeEnum;\n(function(PropertiesTypeEnum2) {\n PropertiesTypeEnum2[\"UNKNOWN_PROPERTY_TYPE\"] = \"UNKNOWN_PROPERTY_TYPE\";\n PropertiesTypeEnum2[\"STRING\"] = \"STRING\";\n PropertiesTypeEnum2[\"NUMBER\"] = \"NUMBER\";\n PropertiesTypeEnum2[\"BOOLEAN\"] = \"BOOLEAN\";\n PropertiesTypeEnum2[\"INTEGER\"] = \"INTEGER\";\n PropertiesTypeEnum2[\"ARRAY\"] = \"ARRAY\";\n})(PropertiesTypeEnum || (PropertiesTypeEnum = {}));\nvar ArrayComponentType;\n(function(ArrayComponentType2) {\n ArrayComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n ArrayComponentType2[\"CHECKBOX_GROUP\"] = \"CHECKBOX_GROUP\";\n})(ArrayComponentType || (ArrayComponentType = {}));\nvar WixFileComponentType;\n(function(WixFileComponentType2) {\n WixFileComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n WixFileComponentType2[\"FILE_UPLOAD\"] = \"FILE_UPLOAD\";\n WixFileComponentType2[\"SIGNATURE\"] = \"SIGNATURE\";\n})(WixFileComponentType || (WixFileComponentType = {}));\nvar UploadFileFormat;\n(function(UploadFileFormat2) {\n UploadFileFormat2[\"UNDEFINED\"] = \"UNDEFINED\";\n UploadFileFormat2[\"VIDEO\"] = \"VIDEO\";\n UploadFileFormat2[\"IMAGE\"] = \"IMAGE\";\n UploadFileFormat2[\"AUDIO\"] = \"AUDIO\";\n UploadFileFormat2[\"DOCUMENT\"] = \"DOCUMENT\";\n UploadFileFormat2[\"ARCHIVE\"] = \"ARCHIVE\";\n})(UploadFileFormat || (UploadFileFormat = {}));\nvar PaymentComponentType;\n(function(PaymentComponentType2) {\n PaymentComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n PaymentComponentType2[\"CHECKBOX_GROUP\"] = \"CHECKBOX_GROUP\";\n PaymentComponentType2[\"DONATION_INPUT\"] = \"DONATION_INPUT\";\n})(PaymentComponentType || (PaymentComponentType = {}));\nvar ProductType;\n(function(ProductType2) {\n ProductType2[\"UNKNOWN\"] = \"UNKNOWN\";\n ProductType2[\"SHIPPABLE\"] = \"SHIPPABLE\";\n ProductType2[\"DIGITAL\"] = \"DIGITAL\";\n})(ProductType || (ProductType = {}));\nvar PriceType;\n(function(PriceType2) {\n PriceType2[\"UNKNOWN\"] = \"UNKNOWN\";\n PriceType2[\"FIXED_PRICE\"] = \"FIXED_PRICE\";\n PriceType2[\"DYNAMIC_PRICE\"] = \"DYNAMIC_PRICE\";\n})(PriceType || (PriceType = {}));\nvar ImageFit;\n(function(ImageFit2) {\n ImageFit2[\"UNKNOWN_IMAGE_FIT\"] = \"UNKNOWN_IMAGE_FIT\";\n ImageFit2[\"COVER\"] = \"COVER\";\n ImageFit2[\"CONTAIN\"] = \"CONTAIN\";\n})(ImageFit || (ImageFit = {}));\nvar MultilineAddressComponentType;\n(function(MultilineAddressComponentType2) {\n MultilineAddressComponentType2[\"UNKNOWN_COMPONENT_TYPE\"] = \"UNKNOWN_COMPONENT_TYPE\";\n MultilineAddressComponentType2[\"MULTILINE_ADDRESS\"] = \"MULTILINE_ADDRESS\";\n})(MultilineAddressComponentType || (MultilineAddressComponentType = {}));\nvar DefaultCountryConfigType;\n(function(DefaultCountryConfigType2) {\n DefaultCountryConfigType2[\"UNKNOWN_DEFAULT_COUNTRY\"] = \"UNKNOWN_DEFAULT_COUNTRY\";\n DefaultCountryConfigType2[\"BY_IP\"] = \"BY_IP\";\n DefaultCountryConfigType2[\"COUNTRY\"] = \"COUNTRY\";\n})(DefaultCountryConfigType || (DefaultCountryConfigType = {}));\nvar InputType;\n(function(InputType2) {\n InputType2[\"UNKNOWN_INPUT_TYPE\"] = \"UNKNOWN_INPUT_TYPE\";\n InputType2[\"STRING\"] = \"STRING\";\n InputType2[\"NUMBER\"] = \"NUMBER\";\n InputType2[\"BOOLEAN\"] = \"BOOLEAN\";\n InputType2[\"ARRAY\"] = \"ARRAY\";\n InputType2[\"OBJECT\"] = \"OBJECT\";\n InputType2[\"WIX_FILE\"] = \"WIX_FILE\";\n InputType2[\"PAYMENT\"] = \"PAYMENT\";\n InputType2[\"MULTILINE_ADDRESS\"] = \"MULTILINE_ADDRESS\";\n})(InputType || (InputType = {}));\nvar EmailInfoTag;\n(function(EmailInfoTag2) {\n EmailInfoTag2[\"UNTAGGED\"] = \"UNTAGGED\";\n EmailInfoTag2[\"MAIN\"] = \"MAIN\";\n})(EmailInfoTag || (EmailInfoTag = {}));\nvar PhoneInfoTag;\n(function(PhoneInfoTag2) {\n PhoneInfoTag2[\"UNTAGGED\"] = \"UNTAGGED\";\n PhoneInfoTag2[\"MAIN\"] = \"MAIN\";\n})(PhoneInfoTag || (PhoneInfoTag = {}));\nvar AddressInfoTag;\n(function(AddressInfoTag2) {\n AddressInfoTag2[\"UNTAGGED\"] = \"UNTAGGED\";\n AddressInfoTag2[\"HOME\"] = \"HOME\";\n})(AddressInfoTag || (AddressInfoTag = {}));\nvar ConfirmationLevel;\n(function(ConfirmationLevel2) {\n ConfirmationLevel2[\"UNKNOWN_CONFIRMATION_LEVEL\"] = \"UNKNOWN_CONFIRMATION_LEVEL\";\n ConfirmationLevel2[\"SINGLE_CONFIRMATION\"] = \"SINGLE_CONFIRMATION\";\n ConfirmationLevel2[\"DOUBLE_CONFIRMATION\"] = \"DOUBLE_CONFIRMATION\";\n})(ConfirmationLevel || (ConfirmationLevel = {}));\nvar ContactField;\n(function(ContactField2) {\n ContactField2[\"UNKNOWN_CONTACT_FIELD\"] = \"UNKNOWN_CONTACT_FIELD\";\n ContactField2[\"FIRST_NAME\"] = \"FIRST_NAME\";\n ContactField2[\"LAST_NAME\"] = \"LAST_NAME\";\n ContactField2[\"COMPANY\"] = \"COMPANY\";\n ContactField2[\"POSITION\"] = \"POSITION\";\n ContactField2[\"EMAIL\"] = \"EMAIL\";\n ContactField2[\"PHONE\"] = \"PHONE\";\n ContactField2[\"ADDRESS\"] = \"ADDRESS\";\n ContactField2[\"BIRTHDATE\"] = \"BIRTHDATE\";\n ContactField2[\"CUSTOM_FIELD\"] = \"CUSTOM_FIELD\";\n ContactField2[\"SUBSCRIPTION\"] = \"SUBSCRIPTION\";\n ContactField2[\"VAT_ID\"] = \"VAT_ID\";\n})(ContactField || (ContactField = {}));\nvar DisplayFieldType;\n(function(DisplayFieldType2) {\n DisplayFieldType2[\"UNKNOWN_FIELD_TYPE\"] = \"UNKNOWN_FIELD_TYPE\";\n DisplayFieldType2[\"RICH_CONTENT\"] = \"RICH_CONTENT\";\n DisplayFieldType2[\"PAGE_NAVIGATION\"] = \"PAGE_NAVIGATION\";\n DisplayFieldType2[\"LOGIN_BAR\"] = \"LOGIN_BAR\";\n})(DisplayFieldType || (DisplayFieldType = {}));\nvar ChangeableProperty;\n(function(ChangeableProperty2) {\n ChangeableProperty2[\"UNKNOWN\"] = \"UNKNOWN\";\n ChangeableProperty2[\"REQUIRED\"] = \"REQUIRED\";\n ChangeableProperty2[\"HIDDEN\"] = \"HIDDEN\";\n ChangeableProperty2[\"ALLOWED_VALUES\"] = \"ALLOWED_VALUES\";\n})(ChangeableProperty || (ChangeableProperty = {}));\nvar OverrideEntityType;\n(function(OverrideEntityType2) {\n OverrideEntityType2[\"UNKNOWN\"] = \"UNKNOWN\";\n OverrideEntityType2[\"FIELD\"] = \"FIELD\";\n})(OverrideEntityType || (OverrideEntityType = {}));\nvar Operator;\n(function(Operator2) {\n Operator2[\"UNKNOWN\"] = \"UNKNOWN\";\n Operator2[\"EQUAL\"] = \"EQUAL\";\n Operator2[\"NOT_EQUAL\"] = \"NOT_EQUAL\";\n Operator2[\"EMPTY\"] = \"EMPTY\";\n Operator2[\"NOT_EMPTY\"] = \"NOT_EMPTY\";\n Operator2[\"CONTAINS\"] = \"CONTAINS\";\n Operator2[\"NOT_CONTAINS\"] = \"NOT_CONTAINS\";\n Operator2[\"LESS_THAN\"] = \"LESS_THAN\";\n Operator2[\"LESS_THAN_OR_EQUALS\"] = \"LESS_THAN_OR_EQUALS\";\n Operator2[\"GREATER_THAN\"] = \"GREATER_THAN\";\n Operator2[\"GREATER_THAN_OR_EQUALS\"] = \"GREATER_THAN_OR_EQUALS\";\n Operator2[\"BEFORE\"] = \"BEFORE\";\n Operator2[\"BEFORE_OR_EQUAL\"] = \"BEFORE_OR_EQUAL\";\n Operator2[\"AFTER\"] = \"AFTER\";\n Operator2[\"AFTER_OR_EQUAL\"] = \"AFTER_OR_EQUAL\";\n Operator2[\"BETWEEN\"] = \"BETWEEN\";\n Operator2[\"ANY\"] = \"ANY\";\n Operator2[\"ARRAY_EQUAL\"] = \"ARRAY_EQUAL\";\n Operator2[\"ARRAY_NOT_EQUAL\"] = \"ARRAY_NOT_EQUAL\";\n Operator2[\"CHECKED\"] = \"CHECKED\";\n Operator2[\"NOT_CHECKED\"] = \"NOT_CHECKED\";\n Operator2[\"IN\"] = \"IN\";\n Operator2[\"NOT_IN\"] = \"NOT_IN\";\n Operator2[\"IS_DATE_OLDER_THAN\"] = \"IS_DATE_OLDER_THAN\";\n Operator2[\"IS_DATE_OLDER_THAN_OR_EQUAL\"] = \"IS_DATE_OLDER_THAN_OR_EQUAL\";\n Operator2[\"IS_DATE_NEWER_THAN\"] = \"IS_DATE_NEWER_THAN\";\n Operator2[\"IS_DATE_NEWER_THAN_OR_EQUAL\"] = \"IS_DATE_NEWER_THAN_OR_EQUAL\";\n})(Operator || (Operator = {}));\nvar Target;\n(function(Target2) {\n Target2[\"UNKNOWN_TARGET\"] = \"UNKNOWN_TARGET\";\n Target2[\"SELF\"] = \"SELF\";\n Target2[\"BLANK\"] = \"BLANK\";\n})(Target || (Target = {}));\nvar SubmitSuccessAction;\n(function(SubmitSuccessAction2) {\n SubmitSuccessAction2[\"UNKNOWN_SUBMIT_SUCCESS_ACTION\"] = \"UNKNOWN_SUBMIT_SUCCESS_ACTION\";\n SubmitSuccessAction2[\"NO_ACTION\"] = \"NO_ACTION\";\n SubmitSuccessAction2[\"THANK_YOU_MESSAGE\"] = \"THANK_YOU_MESSAGE\";\n SubmitSuccessAction2[\"REDIRECT\"] = \"REDIRECT\";\n})(SubmitSuccessAction || (SubmitSuccessAction = {}));\nvar TemplateType;\n(function(TemplateType2) {\n TemplateType2[\"UNKNOWN\"] = \"UNKNOWN\";\n TemplateType2[\"EXTENDABLE\"] = \"EXTENDABLE\";\n TemplateType2[\"DEMO\"] = \"DEMO\";\n TemplateType2[\"FORM_INPUT\"] = \"FORM_INPUT\";\n})(TemplateType || (TemplateType = {}));\nvar CustomFieldsType;\n(function(CustomFieldsType2) {\n CustomFieldsType2[\"ANY\"] = \"ANY\";\n})(CustomFieldsType || (CustomFieldsType = {}));\nvar EditableProperties;\n(function(EditableProperties2) {\n EditableProperties2[\"UNKNOWN\"] = \"UNKNOWN\";\n EditableProperties2[\"REQUIRED\"] = \"REQUIRED\";\n EditableProperties2[\"HIDDEN\"] = \"HIDDEN\";\n EditableProperties2[\"LABEL\"] = \"LABEL\";\n EditableProperties2[\"PLACEHOLDER\"] = \"PLACEHOLDER\";\n EditableProperties2[\"DESCRIPTION\"] = \"DESCRIPTION\";\n EditableProperties2[\"INPUT_VALUE_LIMITS\"] = \"INPUT_VALUE_LIMITS\";\n EditableProperties2[\"DEFAULT_VALUE\"] = \"DEFAULT_VALUE\";\n})(EditableProperties || (EditableProperties = {}));\nvar RequiredIndicator;\n(function(RequiredIndicator2) {\n RequiredIndicator2[\"UNKNOWN_INDICATOR\"] = \"UNKNOWN_INDICATOR\";\n RequiredIndicator2[\"ASTERISK\"] = \"ASTERISK\";\n RequiredIndicator2[\"TEXT\"] = \"TEXT\";\n RequiredIndicator2[\"NONE\"] = \"NONE\";\n})(RequiredIndicator || (RequiredIndicator = {}));\nvar RequiredIndicatorPlacement;\n(function(RequiredIndicatorPlacement2) {\n RequiredIndicatorPlacement2[\"UNKNOWN_PLACEMENT\"] = \"UNKNOWN_PLACEMENT\";\n RequiredIndicatorPlacement2[\"AFTER_FIELD_TITLE\"] = \"AFTER_FIELD_TITLE\";\n RequiredIndicatorPlacement2[\"BEFORE_FIELD_TITLE\"] = \"BEFORE_FIELD_TITLE\";\n})(RequiredIndicatorPlacement || (RequiredIndicatorPlacement = {}));\nvar WixCodePublishTaskName;\n(function(WixCodePublishTaskName2) {\n WixCodePublishTaskName2[\"UNKNOWN\"] = \"UNKNOWN\";\n WixCodePublishTaskName2[\"USER_CODE_BUNDLE\"] = \"USER_CODE_BUNDLE\";\n WixCodePublishTaskName2[\"EXPORTED_FUNCTIONS_ANALYSIS\"] = \"EXPORTED_FUNCTIONS_ANALYSIS\";\n WixCodePublishTaskName2[\"IMPORTED_NAMESPACES_ANALYSIS\"] = \"IMPORTED_NAMESPACES_ANALYSIS\";\n WixCodePublishTaskName2[\"PAGE_DETAILS_ANALYSIS\"] = \"PAGE_DETAILS_ANALYSIS\";\n WixCodePublishTaskName2[\"USER_CODE_VALIDATION\"] = \"USER_CODE_VALIDATION\";\n WixCodePublishTaskName2[\"CODE_PACKAGES_REGISTRATION\"] = \"CODE_PACKAGES_REGISTRATION\";\n})(WixCodePublishTaskName || (WixCodePublishTaskName = {}));\nvar ChannelConfigurationChannelType;\n(function(ChannelConfigurationChannelType2) {\n ChannelConfigurationChannelType2[\"UNKNOWN_CHANNEL_TYPE\"] = \"UNKNOWN_CHANNEL_TYPE\";\n ChannelConfigurationChannelType2[\"DIRECT_MESSAGING\"] = \"DIRECT_MESSAGING\";\n ChannelConfigurationChannelType2[\"EMAIL\"] = \"EMAIL\";\n ChannelConfigurationChannelType2[\"SMS\"] = \"SMS\";\n})(ChannelConfigurationChannelType || (ChannelConfigurationChannelType = {}));\nvar AcceptedMessageTypesAcceptedDirectMessageType;\n(function(AcceptedMessageTypesAcceptedDirectMessageType2) {\n AcceptedMessageTypesAcceptedDirectMessageType2[\"UNKNOWN_DIRECT_MESSAGE_TYPE\"] = \"UNKNOWN_DIRECT_MESSAGE_TYPE\";\n AcceptedMessageTypesAcceptedDirectMessageType2[\"MEDIA\"] = \"MEDIA\";\n AcceptedMessageTypesAcceptedDirectMessageType2[\"CARD\"] = \"CARD\";\n AcceptedMessageTypesAcceptedDirectMessageType2[\"MINIMAL\"] = \"MINIMAL\";\n AcceptedMessageTypesAcceptedDirectMessageType2[\"FORM\"] = \"FORM\";\n AcceptedMessageTypesAcceptedDirectMessageType2[\"SYSTEM\"] = \"SYSTEM\";\n})(AcceptedMessageTypesAcceptedDirectMessageType || (AcceptedMessageTypesAcceptedDirectMessageType = {}));\nvar AcceptedMessageTypesAcceptedSmsMessageType;\n(function(AcceptedMessageTypesAcceptedSmsMessageType2) {\n AcceptedMessageTypesAcceptedSmsMessageType2[\"UNKNOWN_SMS_MESSAGE_TYPE\"] = \"UNKNOWN_SMS_MESSAGE_TYPE\";\n AcceptedMessageTypesAcceptedSmsMessageType2[\"SMS\"] = \"SMS\";\n AcceptedMessageTypesAcceptedSmsMessageType2[\"MMS\"] = \"MMS\";\n})(AcceptedMessageTypesAcceptedSmsMessageType || (AcceptedMessageTypesAcceptedSmsMessageType = {}));\nvar FactorType;\n(function(FactorType2) {\n FactorType2[\"UNKNOWN_FACTOR_TYPE\"] = \"UNKNOWN_FACTOR_TYPE\";\n FactorType2[\"PASSWORD\"] = \"PASSWORD\";\n FactorType2[\"SMS\"] = \"SMS\";\n FactorType2[\"CALL\"] = \"CALL\";\n FactorType2[\"EMAIL\"] = \"EMAIL\";\n FactorType2[\"TOTP\"] = \"TOTP\";\n FactorType2[\"PUSH\"] = \"PUSH\";\n FactorType2[\"WEBAUTHN\"] = \"WEBAUTHN\";\n})(FactorType || (FactorType = {}));\nvar MonitoringType;\n(function(MonitoringType2) {\n MonitoringType2[\"UNKNOWN_PROVIDER\"] = \"UNKNOWN_PROVIDER\";\n MonitoringType2[\"SENTRY\"] = \"SENTRY\";\n MonitoringType2[\"PANORAMA\"] = \"PANORAMA\";\n})(MonitoringType || (MonitoringType = {}));\nvar Escalation;\n(function(Escalation2) {\n Escalation2[\"BREAK_BUILD\"] = \"BREAK_BUILD\";\n Escalation2[\"BLOCK_ROLLOUT\"] = \"BLOCK_ROLLOUT\";\n Escalation2[\"BLOCK_FUTURE_ROLLOUT\"] = \"BLOCK_FUTURE_ROLLOUT\";\n Escalation2[\"OPEN_BUG_SLA\"] = \"OPEN_BUG_SLA\";\n Escalation2[\"VISIBILITY\"] = \"VISIBILITY\";\n})(Escalation || (Escalation = {}));\nvar ImportanceLevel;\n(function(ImportanceLevel2) {\n ImportanceLevel2[\"LOW\"] = \"LOW\";\n ImportanceLevel2[\"MEDIUM\"] = \"MEDIUM\";\n ImportanceLevel2[\"HIGH\"] = \"HIGH\";\n})(ImportanceLevel || (ImportanceLevel = {}));\nvar PanelSizeWidth;\n(function(PanelSizeWidth2) {\n PanelSizeWidth2[\"UNKNOWN_WIDTH\"] = \"UNKNOWN_WIDTH\";\n PanelSizeWidth2[\"SMALL\"] = \"SMALL\";\n PanelSizeWidth2[\"MEDIUM\"] = \"MEDIUM\";\n PanelSizeWidth2[\"LARGE\"] = \"LARGE\";\n})(PanelSizeWidth || (PanelSizeWidth = {}));\nvar PanelContentType;\n(function(PanelContentType2) {\n PanelContentType2[\"UNKNOWN_PanelContentType\"] = \"UNKNOWN_PanelContentType\";\n PanelContentType2[\"url\"] = \"url\";\n PanelContentType2[\"code\"] = \"code\";\n})(PanelContentType || (PanelContentType = {}));\nvar StorageType;\n(function(StorageType2) {\n StorageType2[\"UNKNOWN_STORAGE_TYPE\"] = \"UNKNOWN_STORAGE_TYPE\";\n StorageType2[\"COOKIE\"] = \"COOKIE\";\n StorageType2[\"LOCALSTORAGE\"] = \"LOCALSTORAGE\";\n StorageType2[\"SESSIONSTORAGE\"] = \"SESSIONSTORAGE\";\n StorageType2[\"INDEXDB\"] = \"INDEXDB\";\n})(StorageType || (StorageType = {}));\nvar ConsentCategory;\n(function(ConsentCategory2) {\n ConsentCategory2[\"UNKNOWN_CATEGORY\"] = \"UNKNOWN_CATEGORY\";\n ConsentCategory2[\"essential\"] = \"essential\";\n ConsentCategory2[\"functional\"] = \"functional\";\n ConsentCategory2[\"analytics\"] = \"analytics\";\n ConsentCategory2[\"advertising\"] = \"advertising\";\n})(ConsentCategory || (ConsentCategory = {}));\nvar StorageDomain;\n(function(StorageDomain2) {\n StorageDomain2[\"UNKNOWN_STORAGE_DOMAIN\"] = \"UNKNOWN_STORAGE_DOMAIN\";\n StorageDomain2[\"SITE_DOMAIN\"] = \"SITE_DOMAIN\";\n StorageDomain2[\"WIX_DOMAIN\"] = \"WIX_DOMAIN\";\n StorageDomain2[\"APP_DOMAIN\"] = \"APP_DOMAIN\";\n})(StorageDomain || (StorageDomain = {}));\nvar Method;\n(function(Method2) {\n Method2[\"CREATE\"] = \"CREATE\";\n Method2[\"UPDATE\"] = \"UPDATE\";\n Method2[\"CANCEL\"] = \"CANCEL\";\n})(Method || (Method = {}));\nvar ParticipantType;\n(function(ParticipantType2) {\n ParticipantType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n ParticipantType2[\"WIX_USER\"] = \"WIX_USER\";\n ParticipantType2[\"CONTACT\"] = \"CONTACT\";\n ParticipantType2[\"ANONYMOUS\"] = \"ANONYMOUS\";\n})(ParticipantType || (ParticipantType = {}));\nvar V1InterfaceConfigurationType;\n(function(V1InterfaceConfigurationType2) {\n V1InterfaceConfigurationType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n V1InterfaceConfigurationType2[\"WIDGET_COMPONENT\"] = \"WIDGET_COMPONENT\";\n V1InterfaceConfigurationType2[\"ITEM_SELECTION\"] = \"ITEM_SELECTION\";\n})(V1InterfaceConfigurationType || (V1InterfaceConfigurationType = {}));\nvar Scope;\n(function(Scope2) {\n Scope2[\"UNKNOWN_SCOPE\"] = \"UNKNOWN_SCOPE\";\n Scope2[\"SPECIFIC_SITE\"] = \"SPECIFIC_SITE\";\n Scope2[\"NON_SPECIFIC_SITE\"] = \"NON_SPECIFIC_SITE\";\n})(Scope || (Scope = {}));\nvar CssPropertyType;\n(function(CssPropertyType2) {\n CssPropertyType2[\"UNKNOWN_CssPropertyType\"] = \"UNKNOWN_CssPropertyType\";\n CssPropertyType2[\"background\"] = \"background\";\n CssPropertyType2[\"backgroundSize\"] = \"backgroundSize\";\n CssPropertyType2[\"backgroundColor\"] = \"backgroundColor\";\n CssPropertyType2[\"backgroundImage\"] = \"backgroundImage\";\n CssPropertyType2[\"backgroundClip\"] = \"backgroundClip\";\n CssPropertyType2[\"backgroundOrigin\"] = \"backgroundOrigin\";\n CssPropertyType2[\"backgroundPosition\"] = \"backgroundPosition\";\n CssPropertyType2[\"backgroundRepeat\"] = \"backgroundRepeat\";\n CssPropertyType2[\"backgroundAttachment\"] = \"backgroundAttachment\";\n CssPropertyType2[\"fill\"] = \"fill\";\n CssPropertyType2[\"fillOpacity\"] = \"fillOpacity\";\n CssPropertyType2[\"margin\"] = \"margin\";\n CssPropertyType2[\"marginTop\"] = \"marginTop\";\n CssPropertyType2[\"marginRight\"] = \"marginRight\";\n CssPropertyType2[\"marginBottom\"] = \"marginBottom\";\n CssPropertyType2[\"marginLeft\"] = \"marginLeft\";\n CssPropertyType2[\"marginInlineStart\"] = \"marginInlineStart\";\n CssPropertyType2[\"marginInlineEnd\"] = \"marginInlineEnd\";\n CssPropertyType2[\"padding\"] = \"padding\";\n CssPropertyType2[\"paddingTop\"] = \"paddingTop\";\n CssPropertyType2[\"paddingRight\"] = \"paddingRight\";\n CssPropertyType2[\"paddingBottom\"] = \"paddingBottom\";\n CssPropertyType2[\"paddingLeft\"] = \"paddingLeft\";\n CssPropertyType2[\"paddingInlineStart\"] = \"paddingInlineStart\";\n CssPropertyType2[\"paddingInlineEnd\"] = \"paddingInlineEnd\";\n CssPropertyType2[\"border\"] = \"border\";\n CssPropertyType2[\"borderWidth\"] = \"borderWidth\";\n CssPropertyType2[\"borderStyle\"] = \"borderStyle\";\n CssPropertyType2[\"borderColor\"] = \"borderColor\";\n CssPropertyType2[\"borderTop\"] = \"borderTop\";\n CssPropertyType2[\"borderTopColor\"] = \"borderTopColor\";\n CssPropertyType2[\"borderTopWidth\"] = \"borderTopWidth\";\n CssPropertyType2[\"borderTopStyle\"] = \"borderTopStyle\";\n CssPropertyType2[\"borderRight\"] = \"borderRight\";\n CssPropertyType2[\"borderRightColor\"] = \"borderRightColor\";\n CssPropertyType2[\"borderRightWidth\"] = \"borderRightWidth\";\n CssPropertyType2[\"borderRightStyle\"] = \"borderRightStyle\";\n CssPropertyType2[\"borderBottom\"] = \"borderBottom\";\n CssPropertyType2[\"borderBottomColor\"] = \"borderBottomColor\";\n CssPropertyType2[\"borderBottomWidth\"] = \"borderBottomWidth\";\n CssPropertyType2[\"borderBottomStyle\"] = \"borderBottomStyle\";\n CssPropertyType2[\"borderLeft\"] = \"borderLeft\";\n CssPropertyType2[\"borderLeftColor\"] = \"borderLeftColor\";\n CssPropertyType2[\"borderLeftWidth\"] = \"borderLeftWidth\";\n CssPropertyType2[\"borderLeftStyle\"] = \"borderLeftStyle\";\n CssPropertyType2[\"borderInlineStart\"] = \"borderInlineStart\";\n CssPropertyType2[\"borderInlineStartColor\"] = \"borderInlineStartColor\";\n CssPropertyType2[\"borderInlineStartWidth\"] = \"borderInlineStartWidth\";\n CssPropertyType2[\"borderInlineStartStyle\"] = \"borderInlineStartStyle\";\n CssPropertyType2[\"borderInlineEnd\"] = \"borderInlineEnd\";\n CssPropertyType2[\"borderInlineEndColor\"] = \"borderInlineEndColor\";\n CssPropertyType2[\"borderInlineEndWidth\"] = \"borderInlineEndWidth\";\n CssPropertyType2[\"borderInlineEndStyle\"] = \"borderInlineEndStyle\";\n CssPropertyType2[\"borderRadius\"] = \"borderRadius\";\n CssPropertyType2[\"borderTopLeftRadius\"] = \"borderTopLeftRadius\";\n CssPropertyType2[\"borderTopRightRadius\"] = \"borderTopRightRadius\";\n CssPropertyType2[\"borderBottomRightRadius\"] = \"borderBottomRightRadius\";\n CssPropertyType2[\"borderBottomLeftRadius\"] = \"borderBottomLeftRadius\";\n CssPropertyType2[\"borderStartStartRadius\"] = \"borderStartStartRadius\";\n CssPropertyType2[\"borderStartEndRadius\"] = \"borderStartEndRadius\";\n CssPropertyType2[\"borderEndStartRadius\"] = \"borderEndStartRadius\";\n CssPropertyType2[\"borderEndEndRadius\"] = \"borderEndEndRadius\";\n CssPropertyType2[\"font\"] = \"font\";\n CssPropertyType2[\"fontFamily\"] = \"fontFamily\";\n CssPropertyType2[\"fontSize\"] = \"fontSize\";\n CssPropertyType2[\"fontStretch\"] = \"fontStretch\";\n CssPropertyType2[\"fontStyle\"] = \"fontStyle\";\n CssPropertyType2[\"fontVariant\"] = \"fontVariant\";\n CssPropertyType2[\"fontWeight\"] = \"fontWeight\";\n CssPropertyType2[\"lineHeight\"] = \"lineHeight\";\n CssPropertyType2[\"color\"] = \"color\";\n CssPropertyType2[\"letterSpacing\"] = \"letterSpacing\";\n CssPropertyType2[\"writingMode\"] = \"writingMode\";\n CssPropertyType2[\"textAlign\"] = \"textAlign\";\n CssPropertyType2[\"textTransform\"] = \"textTransform\";\n CssPropertyType2[\"textShadow\"] = \"textShadow\";\n CssPropertyType2[\"textOverflow\"] = \"textOverflow\";\n CssPropertyType2[\"textDecoration\"] = \"textDecoration\";\n CssPropertyType2[\"textDecorationColor\"] = \"textDecorationColor\";\n CssPropertyType2[\"textDecorationLine\"] = \"textDecorationLine\";\n CssPropertyType2[\"textDecorationStyle\"] = \"textDecorationStyle\";\n CssPropertyType2[\"textDecorationThickness\"] = \"textDecorationThickness\";\n CssPropertyType2[\"boxShadow\"] = \"boxShadow\";\n CssPropertyType2[\"opacity\"] = \"opacity\";\n CssPropertyType2[\"overflow\"] = \"overflow\";\n CssPropertyType2[\"display\"] = \"display\";\n CssPropertyType2[\"alignSelf\"] = \"alignSelf\";\n CssPropertyType2[\"justifyContent\"] = \"justifyContent\";\n CssPropertyType2[\"alignItems\"] = \"alignItems\";\n CssPropertyType2[\"flexDirection\"] = \"flexDirection\";\n CssPropertyType2[\"gap\"] = \"gap\";\n CssPropertyType2[\"height\"] = \"height\";\n CssPropertyType2[\"width\"] = \"width\";\n CssPropertyType2[\"columnGap\"] = \"columnGap\";\n CssPropertyType2[\"rowGap\"] = \"rowGap\";\n CssPropertyType2[\"filter\"] = \"filter\";\n CssPropertyType2[\"backdropFilter\"] = \"backdropFilter\";\n CssPropertyType2[\"objectFit\"] = \"objectFit\";\n CssPropertyType2[\"objectPosition\"] = \"objectPosition\";\n CssPropertyType2[\"mixBlendMode\"] = \"mixBlendMode\";\n CssPropertyType2[\"isolation\"] = \"isolation\";\n CssPropertyType2[\"stroke\"] = \"stroke\";\n CssPropertyType2[\"strokeWidth\"] = \"strokeWidth\";\n CssPropertyType2[\"strokeOpacity\"] = \"strokeOpacity\";\n})(CssPropertyType || (CssPropertyType = {}));\nvar CssDataType;\n(function(CssDataType2) {\n CssDataType2[\"UNKNOWN_CssDataType\"] = \"UNKNOWN_CssDataType\";\n CssDataType2[\"number\"] = \"number\";\n CssDataType2[\"length\"] = \"length\";\n CssDataType2[\"color\"] = \"color\";\n CssDataType2[\"angle\"] = \"angle\";\n CssDataType2[\"percentage\"] = \"percentage\";\n CssDataType2[\"lengthPercentage\"] = \"lengthPercentage\";\n CssDataType2[\"blendMode\"] = \"blendMode\";\n CssDataType2[\"customEnum\"] = \"customEnum\";\n CssDataType2[\"string\"] = \"string\";\n CssDataType2[\"time\"] = \"time\";\n})(CssDataType || (CssDataType = {}));\nvar FilterFunction;\n(function(FilterFunction2) {\n FilterFunction2[\"UNKNOWN_FilterFunctions\"] = \"UNKNOWN_FilterFunctions\";\n FilterFunction2[\"blur\"] = \"blur\";\n FilterFunction2[\"brightness\"] = \"brightness\";\n FilterFunction2[\"contrast\"] = \"contrast\";\n FilterFunction2[\"drop_shadow\"] = \"drop_shadow\";\n FilterFunction2[\"grayscale\"] = \"grayscale\";\n FilterFunction2[\"hue_rotate\"] = \"hue_rotate\";\n FilterFunction2[\"invert\"] = \"invert\";\n FilterFunction2[\"opacity\"] = \"opacity\";\n FilterFunction2[\"sepia\"] = \"sepia\";\n FilterFunction2[\"saturate\"] = \"saturate\";\n})(FilterFunction || (FilterFunction = {}));\nvar DisplayValueEnumDisplayValue;\n(function(DisplayValueEnumDisplayValue2) {\n DisplayValueEnumDisplayValue2[\"UNKNOWN_DisplayValue\"] = \"UNKNOWN_DisplayValue\";\n DisplayValueEnumDisplayValue2[\"none\"] = \"none\";\n DisplayValueEnumDisplayValue2[\"block\"] = \"block\";\n DisplayValueEnumDisplayValue2[\"inline\"] = \"inline\";\n DisplayValueEnumDisplayValue2[\"flow\"] = \"flow\";\n DisplayValueEnumDisplayValue2[\"flowRoot\"] = \"flowRoot\";\n DisplayValueEnumDisplayValue2[\"table\"] = \"table\";\n DisplayValueEnumDisplayValue2[\"flex\"] = \"flex\";\n DisplayValueEnumDisplayValue2[\"grid\"] = \"grid\";\n DisplayValueEnumDisplayValue2[\"list_item\"] = \"list_item\";\n DisplayValueEnumDisplayValue2[\"contents\"] = \"contents\";\n DisplayValueEnumDisplayValue2[\"inline_block\"] = \"inline_block\";\n DisplayValueEnumDisplayValue2[\"inline_table\"] = \"inline_table\";\n DisplayValueEnumDisplayValue2[\"inline_flex\"] = \"inline_flex\";\n DisplayValueEnumDisplayValue2[\"inline_grid\"] = \"inline_grid\";\n})(DisplayValueEnumDisplayValue || (DisplayValueEnumDisplayValue = {}));\nvar WritingModeValue;\n(function(WritingModeValue2) {\n WritingModeValue2[\"UNKNOWN_WritingModeValue\"] = \"UNKNOWN_WritingModeValue\";\n WritingModeValue2[\"horizontalTb\"] = \"horizontalTb\";\n WritingModeValue2[\"verticalRl\"] = \"verticalRl\";\n WritingModeValue2[\"verticalLr\"] = \"verticalLr\";\n WritingModeValue2[\"sidewaysRl\"] = \"sidewaysRl\";\n WritingModeValue2[\"sidewaysLr\"] = \"sidewaysLr\";\n})(WritingModeValue || (WritingModeValue = {}));\nvar BackgroundModeEnum;\n(function(BackgroundModeEnum2) {\n BackgroundModeEnum2[\"UNKNOWN_BackgroundModeEnum\"] = \"UNKNOWN_BackgroundModeEnum\";\n BackgroundModeEnum2[\"shapeDividerSvg\"] = \"shapeDividerSvg\";\n})(BackgroundModeEnum || (BackgroundModeEnum = {}));\nvar DataType;\n(function(DataType2) {\n DataType2[\"UNKNOWN_DataType\"] = \"UNKNOWN_DataType\";\n DataType2[\"text\"] = \"text\";\n DataType2[\"textEnum\"] = \"textEnum\";\n DataType2[\"number\"] = \"number\";\n DataType2[\"booleanValue\"] = \"booleanValue\";\n DataType2[\"a11y\"] = \"a11y\";\n DataType2[\"link\"] = \"link\";\n DataType2[\"image\"] = \"image\";\n DataType2[\"video\"] = \"video\";\n DataType2[\"vectorArt\"] = \"vectorArt\";\n DataType2[\"audio\"] = \"audio\";\n DataType2[\"schema\"] = \"schema\";\n DataType2[\"localDate\"] = \"localDate\";\n DataType2[\"localTime\"] = \"localTime\";\n DataType2[\"localDateTime\"] = \"localDateTime\";\n DataType2[\"webUrl\"] = \"webUrl\";\n DataType2[\"email\"] = \"email\";\n DataType2[\"phone\"] = \"phone\";\n DataType2[\"hostname\"] = \"hostname\";\n DataType2[\"regex\"] = \"regex\";\n DataType2[\"guid\"] = \"guid\";\n DataType2[\"richText\"] = \"richText\";\n DataType2[\"container\"] = \"container\";\n DataType2[\"arrayItems\"] = \"arrayItems\";\n DataType2[\"direction\"] = \"direction\";\n DataType2[\"menuItems\"] = \"menuItems\";\n})(DataType || (DataType = {}));\nvar A11yAttributes;\n(function(A11yAttributes2) {\n A11yAttributes2[\"Unknown_AriaAttributes\"] = \"Unknown_AriaAttributes\";\n A11yAttributes2[\"tabIndex\"] = \"tabIndex\";\n A11yAttributes2[\"ariaLevel\"] = \"ariaLevel\";\n A11yAttributes2[\"ariaExpanded\"] = \"ariaExpanded\";\n A11yAttributes2[\"ariaDisabled\"] = \"ariaDisabled\";\n A11yAttributes2[\"ariaAtomic\"] = \"ariaAtomic\";\n A11yAttributes2[\"ariaHidden\"] = \"ariaHidden\";\n A11yAttributes2[\"ariaBusy\"] = \"ariaBusy\";\n A11yAttributes2[\"multiline\"] = \"multiline\";\n A11yAttributes2[\"ariaAutocomplete\"] = \"ariaAutocomplete\";\n A11yAttributes2[\"ariaPressed\"] = \"ariaPressed\";\n A11yAttributes2[\"ariaHaspopup\"] = \"ariaHaspopup\";\n A11yAttributes2[\"ariaRelevant\"] = \"ariaRelevant\";\n A11yAttributes2[\"role\"] = \"role\";\n A11yAttributes2[\"ariaLive\"] = \"ariaLive\";\n A11yAttributes2[\"ariaCurrent\"] = \"ariaCurrent\";\n A11yAttributes2[\"ariaLabel\"] = \"ariaLabel\";\n A11yAttributes2[\"ariaRoledescription\"] = \"ariaRoledescription\";\n A11yAttributes2[\"ariaDescribedby\"] = \"ariaDescribedby\";\n A11yAttributes2[\"ariaLabelledby\"] = \"ariaLabelledby\";\n A11yAttributes2[\"ariaErrormessage\"] = \"ariaErrormessage\";\n A11yAttributes2[\"ariaOwns\"] = \"ariaOwns\";\n A11yAttributes2[\"ariaControls\"] = \"ariaControls\";\n A11yAttributes2[\"tag\"] = \"tag\";\n A11yAttributes2[\"ariaMultiline\"] = \"ariaMultiline\";\n A11yAttributes2[\"ariaInvalid\"] = \"ariaInvalid\";\n})(A11yAttributes || (A11yAttributes = {}));\nvar LinkType;\n(function(LinkType2) {\n LinkType2[\"UNKNOWN_LinkType\"] = \"UNKNOWN_LinkType\";\n LinkType2[\"externalLink\"] = \"externalLink\";\n LinkType2[\"anchorLink\"] = \"anchorLink\";\n LinkType2[\"emailLink\"] = \"emailLink\";\n LinkType2[\"phoneLink\"] = \"phoneLink\";\n LinkType2[\"dynamicPageLink\"] = \"dynamicPageLink\";\n LinkType2[\"pageLink\"] = \"pageLink\";\n LinkType2[\"whatsAppLink\"] = \"whatsAppLink\";\n LinkType2[\"documentLink\"] = \"documentLink\";\n LinkType2[\"popupLink\"] = \"popupLink\";\n LinkType2[\"addressLink\"] = \"addressLink\";\n LinkType2[\"edgeAnchorLinks\"] = \"edgeAnchorLinks\";\n LinkType2[\"loginToWixLink\"] = \"loginToWixLink\";\n})(LinkType || (LinkType = {}));\nvar ContainerType;\n(function(ContainerType2) {\n ContainerType2[\"UNKNOWN_CONTAINER_TYPE\"] = \"UNKNOWN_CONTAINER_TYPE\";\n ContainerType2[\"simple\"] = \"simple\";\n ContainerType2[\"slot\"] = \"slot\";\n ContainerType2[\"placeholder\"] = \"placeholder\";\n ContainerType2[\"template\"] = \"template\";\n})(ContainerType || (ContainerType = {}));\nvar ElementTypeEnumElementType;\n(function(ElementTypeEnumElementType2) {\n ElementTypeEnumElementType2[\"UNKNOWN_ElementType\"] = \"UNKNOWN_ElementType\";\n ElementTypeEnumElementType2[\"inlineElement\"] = \"inlineElement\";\n ElementTypeEnumElementType2[\"refElement\"] = \"refElement\";\n})(ElementTypeEnumElementType || (ElementTypeEnumElementType = {}));\nvar ActionType;\n(function(ActionType2) {\n ActionType2[\"UNKNOWN_ActionType\"] = \"UNKNOWN_ActionType\";\n ActionType2[\"data\"] = \"data\";\n ActionType2[\"event\"] = \"event\";\n ActionType2[\"panel\"] = \"panel\";\n ActionType2[\"forward\"] = \"forward\";\n ActionType2[\"style\"] = \"style\";\n})(ActionType || (ActionType = {}));\nvar PanelType;\n(function(PanelType2) {\n PanelType2[\"UNKNOWN_PanelType\"] = \"UNKNOWN_PanelType\";\n PanelType2[\"panelId\"] = \"panelId\";\n PanelType2[\"inline\"] = \"inline\";\n})(PanelType || (PanelType = {}));\nvar ActionName;\n(function(ActionName2) {\n ActionName2[\"UNKNOWN_ActionName\"] = \"UNKNOWN_ActionName\";\n ActionName2[\"settings\"] = \"settings\";\n ActionName2[\"design\"] = \"design\";\n ActionName2[\"media\"] = \"media\";\n ActionName2[\"manageItems\"] = \"manageItems\";\n ActionName2[\"dashboard\"] = \"dashboard\";\n ActionName2[\"custom\"] = \"custom\";\n})(ActionName || (ActionName = {}));\nvar SizingType;\n(function(SizingType2) {\n SizingType2[\"UNKNOWN_SizingType\"] = \"UNKNOWN_SizingType\";\n SizingType2[\"content\"] = \"content\";\n SizingType2[\"stretched\"] = \"stretched\";\n SizingType2[\"pixels\"] = \"pixels\";\n})(SizingType || (SizingType = {}));\nvar Archetype;\n(function(Archetype2) {\n Archetype2[\"UNKNOWN_Archetype\"] = \"UNKNOWN_Archetype\";\n Archetype2[\"Button\"] = \"Button\";\n Archetype2[\"LoginButton\"] = \"LoginButton\";\n Archetype2[\"Image\"] = \"Image\";\n Archetype2[\"Gallery\"] = \"Gallery\";\n Archetype2[\"Video\"] = \"Video\";\n Archetype2[\"Audio\"] = \"Audio\";\n Archetype2[\"Text\"] = \"Text\";\n Archetype2[\"TextInput\"] = \"TextInput\";\n Archetype2[\"RichTextEditor\"] = \"RichTextEditor\";\n Archetype2[\"SignatureInput\"] = \"SignatureInput\";\n Archetype2[\"Checkbox\"] = \"Checkbox\";\n Archetype2[\"RadioGroup\"] = \"RadioGroup\";\n Archetype2[\"Switch\"] = \"Switch\";\n Archetype2[\"Dropdown\"] = \"Dropdown\";\n Archetype2[\"DatePicker\"] = \"DatePicker\";\n Archetype2[\"TimePicker\"] = \"TimePicker\";\n Archetype2[\"Ratings\"] = \"Ratings\";\n Archetype2[\"RatingInput\"] = \"RatingInput\";\n Archetype2[\"Menu\"] = \"Menu\";\n Archetype2[\"Pagination\"] = \"Pagination\";\n Archetype2[\"Slider\"] = \"Slider\";\n Archetype2[\"Container\"] = \"Container\";\n Archetype2[\"Carousel\"] = \"Carousel\";\n Archetype2[\"Accordion\"] = \"Accordion\";\n Archetype2[\"Tabs\"] = \"Tabs\";\n Archetype2[\"ProgressBar\"] = \"ProgressBar\";\n Archetype2[\"Upload\"] = \"Upload\";\n Archetype2[\"Social\"] = \"Social\";\n Archetype2[\"Breadcrumbs\"] = \"Breadcrumbs\";\n Archetype2[\"SearchBox\"] = \"SearchBox\";\n Archetype2[\"Map\"] = \"Map\";\n Archetype2[\"Line\"] = \"Line\";\n Archetype2[\"Logo\"] = \"Logo\";\n Archetype2[\"Avatar\"] = \"Avatar\";\n Archetype2[\"Captcha\"] = \"Captcha\";\n Archetype2[\"VectorArt\"] = \"VectorArt\";\n Archetype2[\"AnimatedGraphic\"] = \"AnimatedGraphic\";\n})(Archetype || (Archetype = {}));\nvar NativeStateType;\n(function(NativeStateType2) {\n NativeStateType2[\"UNKNOWN_NativeStateType\"] = \"UNKNOWN_NativeStateType\";\n NativeStateType2[\"hover\"] = \"hover\";\n NativeStateType2[\"focus\"] = \"focus\";\n NativeStateType2[\"disabled\"] = \"disabled\";\n NativeStateType2[\"invalid\"] = \"invalid\";\n})(NativeStateType || (NativeStateType = {}));\nvar ResizeDirection;\n(function(ResizeDirection2) {\n ResizeDirection2[\"UNKNOWN_ResizeDirection\"] = \"UNKNOWN_ResizeDirection\";\n ResizeDirection2[\"horizontal\"] = \"horizontal\";\n ResizeDirection2[\"vertical\"] = \"vertical\";\n ResizeDirection2[\"horizontalAndVertical\"] = \"horizontalAndVertical\";\n ResizeDirection2[\"aspectRatio\"] = \"aspectRatio\";\n ResizeDirection2[\"none\"] = \"none\";\n})(ResizeDirection || (ResizeDirection = {}));\nvar ContentResizeDirection;\n(function(ContentResizeDirection2) {\n ContentResizeDirection2[\"UNKNOWN_ContentResizeDirection\"] = \"UNKNOWN_ContentResizeDirection\";\n ContentResizeDirection2[\"horizontal\"] = \"horizontal\";\n ContentResizeDirection2[\"vertical\"] = \"vertical\";\n ContentResizeDirection2[\"horizontalAndVertical\"] = \"horizontalAndVertical\";\n ContentResizeDirection2[\"none\"] = \"none\";\n})(ContentResizeDirection || (ContentResizeDirection = {}));\nvar InteractionsTrigger;\n(function(InteractionsTrigger2) {\n InteractionsTrigger2[\"UNKNOWN_TRIGGER\"] = \"UNKNOWN_TRIGGER\";\n InteractionsTrigger2[\"hover\"] = \"hover\";\n InteractionsTrigger2[\"click\"] = \"click\";\n InteractionsTrigger2[\"viewEnter\"] = \"viewEnter\";\n InteractionsTrigger2[\"pageVisible\"] = \"pageVisible\";\n InteractionsTrigger2[\"viewProgress\"] = \"viewProgress\";\n InteractionsTrigger2[\"pointerMove\"] = \"pointerMove\";\n InteractionsTrigger2[\"animationEnd\"] = \"animationEnd\";\n})(InteractionsTrigger || (InteractionsTrigger = {}));\nvar RestrictionLevel;\n(function(RestrictionLevel2) {\n RestrictionLevel2[\"UNKNOWN_RESTRICTION_TYPE\"] = \"UNKNOWN_RESTRICTION_TYPE\";\n RestrictionLevel2[\"WARNING\"] = \"WARNING\";\n RestrictionLevel2[\"LOCKED\"] = \"LOCKED\";\n})(RestrictionLevel || (RestrictionLevel = {}));\nvar ElementDisplayOption;\n(function(ElementDisplayOption2) {\n ElementDisplayOption2[\"UNKNOWN_OPTION\"] = \"UNKNOWN_OPTION\";\n ElementDisplayOption2[\"REMOVE\"] = \"REMOVE\";\n ElementDisplayOption2[\"CUSTOMIZED\"] = \"CUSTOMIZED\";\n})(ElementDisplayOption || (ElementDisplayOption = {}));\nvar SidebarDataType;\n(function(SidebarDataType2) {\n SidebarDataType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n SidebarDataType2[\"CATEGORY\"] = \"CATEGORY\";\n SidebarDataType2[\"PAGE\"] = \"PAGE\";\n SidebarDataType2[\"SEPARATOR\"] = \"SEPARATOR\";\n})(SidebarDataType || (SidebarDataType = {}));\nvar SidebarEntityType;\n(function(SidebarEntityType2) {\n SidebarEntityType2[\"UNKNOWN_TYPE\"] = \"UNKNOWN_TYPE\";\n SidebarEntityType2[\"CATEGORY\"] = \"CATEGORY\";\n SidebarEntityType2[\"PAGE\"] = \"PAGE\";\n SidebarEntityType2[\"APP\"] = \"APP\";\n})(SidebarEntityType || (SidebarEntityType = {}));\n\n// src/schema/index.ts\nvar DATA = {\n DATA_TYPE: DataType,\n A11Y_ATTRIBUTES: A11yAttributes,\n LINK_TYPE: LinkType\n};\nvar STYLE = {\n CSS_PROPERTY_TYPE: CssPropertyType,\n CSS_VARIABLE_TYPE: CssDataType\n};\nvar ELEMENTS = {\n ELEMENT_TYPE: ElementTypeEnumElementType\n};\nvar ACTIONS = {\n ACTION_TYPE: ActionType,\n ACTION_NAME: ActionName,\n PANEL_TYPE: PanelType,\n PANEL_CONTENT_TYPE: PanelContentType\n};\nvar LAYOUT = {\n RESIZE_DIRECTION: ResizeDirection,\n CONTENT_RESIZE_DIRECTION: ContentResizeDirection\n};\n\nexport {\n __commonJS,\n __toESM,\n ContainerType,\n Archetype,\n DATA,\n STYLE,\n ELEMENTS,\n ACTIONS,\n LAYOUT\n};\n//# sourceMappingURL=chunk-EKFUKHAF.js.map\n","import { DATA } from '@wix/component-protocol/schema';\n\nexport const videoDataManifest: Record<string, any> = {\n videoMedia: {\n dataType: DATA.DATA_TYPE.video,\n },\n qualityPolicy: {\n dataType: DATA.DATA_TYPE.textEnum,\n [DATA.DATA_TYPE.textEnum]: {\n options: [\n { value: 'PROPORTIONAL', displayName: 'Proportional' },\n { value: 'HIGHEST', displayName: 'Highest' },\n { value: 'ADAPTIVE', displayName: 'Adaptive' },\n ],\n },\n },\n poster: {\n dataType: DATA.DATA_TYPE.image,\n },\n loop: {\n dataType: DATA.DATA_TYPE.booleanValue,\n },\n muted: {\n dataType: DATA.DATA_TYPE.booleanValue,\n },\n autoplay: {\n dataType: DATA.DATA_TYPE.booleanValue,\n },\n playbackRate: {\n dataType: DATA.DATA_TYPE.number,\n },\n posterEffect: {\n dataType: DATA.DATA_TYPE.textEnum,\n [DATA.DATA_TYPE.textEnum]: {\n options: [\n { value: 'FADE', displayName: 'Fade' },\n { value: 'NONE', displayName: 'None' },\n ],\n },\n },\n};\n","import Video from './Video';\nimport { initCustomElement } from './customElementInit';\nimport { videoDataManifest } from './dataManifest';\n\nexport { Video, initCustomElement, videoDataManifest };\nexport * from './types';\n"],"names":["STATIC_VIDEO_URL","STATIC_ADAPTIVE_VIDEO_URL","isAbsoluteUrl","url","startsWith","sortQualities","sources","sort","a","b","width","height","getCompleteUrl","staticVideoUrl","completeUrl","URL","href","getVideoQualityBySize","_ref","targetQuality","find","value","length","getScaleFactor","containerWidth","containerHeight","videoWidth","videoHeight","wScale","hScale","getVideoDimension","videoScale","scale","Math","min","round","setVideoFocalPoint","videoNode","focalPoint","computedStyle","getComputedStyle","videoFit","getPropertyValue","style","setProperty","removeProperty","focalX","x","focalY","y","toString","getVideoSource","uri","qualityPolicy","adaptiveSources","duration","onError","hasProgressiveSources","hasAbsoluteUri","shouldSkipAdaptiveShortVideo","hlsSource","s","format","Hls","default","isSupported","videoSourceUrl","patchVideoSource","hls","loadSource","attachMedia","on","Events","ERROR","_","data","fatal","type","ErrorTypes","NETWORK_ERROR","startLoad","Error","details","MEDIA_ERROR","recoverMediaError","destroy","highestQuality","_highestQuality$types","types","src","load","_targetQuality$types$","parseInt","scaleFactor","videoScaledDimensions","measure","container","quality","offsetWidth","offsetHeight","needsSrcUpdate","shouldUpdateSrc","mutate","poster","autoplay","posterEffect","playbackRate","toggleAttribute","aspectRatio","handlePosterVisibility","newSrcUrl","hasError","networkState","NETWORK_NO_SOURCE","hasDiff","currentSrc","endsWith","Boolean","needsEventUpdate","posterNode","isPausedOrEmpty","paused","ontimeupdate","onseeked","onplay","muteState","muted","currentTime","removePoster","transition","opacity","videoLayout","wowVideoFactory","services","contextWindow","WowVideo","HTMLElement","constructor","_defineProperty","timeoutId","dispatchVideoError","error","dispatchEvent","CustomEvent","detail","bubbles","attributeChangedCallback","oldValue","reLayout","connectedCallback","_services$intersectio","intersectionService","observe","disconnectedCallback","unobserveIntersect","_services$intersectio2","unobserve","isPrefersReducedMotion","matchMedia","matches","dataset","videoInfo","JSON","parse","prefersReducedMotion","autoPlayAllowed","querySelector","mutationService","measures","observedAttributes","fastdom","init","window","elementName","customElements","get","undefined","intersectionObserver","IntersectionObserver","entries","map","entry","isIntersecting","target","rootMargin","define","initCustomElement","actualWindow","React","styles","Image","initImageCustomElement","document","readyState","addEventListener","once","Video","props","motionPart","videoRef","videoMedia","loop","id","wowVideoRef","useRef","videoInfoString","useMemo","sortedQualities","stringify","VideoPosterImage","createElement","_extends","displayMode","alt","name","handleVideoElementError","useCallback","event","_videoElement$error","videoElement","currentTarget","message","handleAdaptiveVideoError","_event$detail","useEffect","element","current","removeEventListener","ref","class","videoContainer","className","video","crossOrigin","playsInline","preload","DATA","videoDataManifest","dataType","DATA_TYPE","textEnum","options","displayName","image","booleanValue","number"],"sourceRoot":""}
|